|
1.
dispatch-conf
dispatch-confは._cfg0000_<name>ファイルをマージするための補助ツールです。
._cfg0000_<name>ファイルは、PortageがCONFIG_PROTECT変数によって保護されているディレクトリ内のファイルを上書きしたいとき、Portageによって生成されます。
dispatch-confを使うと、変更履歴をすべて残しながら、設定ファイルに対する更新をマージすることができます。
dispatch-confはその設定ファイルの間の差分を、パッチとして、あるいはRCSリビジョンを使うことで、保存します。
これは、もし設定ファイルの更新で失敗したら、いつでも前のバージョンの設定ファイルを復元できることを意味します。
dispatch-confを使用する際、設定ファイルをそのまま保持するか、新しい設定ファイルを使うか、既存のものを編集するか、もしくは変更を対話的にマージするかを指示できます。
またdispatch-confはいくつかの役立つ追加機能を持っています。
-
コメントへの更新のみの場合、設定ファイルへの自動的なマージ
-
余白の量が異なる場合、設定ファイルへの自動的なマージ
必ず/etc/dispatch-conf.confを最初に編集し、archive-dir変数によって参照されるディレクトリを作成してください。
コード表示 1.1: dispatch-conf を実行する |
# dispatch-conf
|
dispatch-confを走らせると、変更された各設定ファイルが一つずつ提示されます。
既存の設定ファイルを新しいもので更新して(置き換えて)次のファイルへ進むときは、uを押してください。
新しい設定ファイルを消去(削除)して次のファイルへ進むときは、zを押してください。
すべての設定ファイルが処理されたら、dispatch-confは終了します。
またqを押せば、いつでも終了することができます。
さらに詳細な情報はdispatch-confのmanを確認してください。
そこには、既存の設定ファイルと新しい設定ファイルの対話的なマージや、新しい設定ファイルの編集方法や、ファイル間の差異を調べる方法などが書かれています。
コード表示 1.1: dispatch-conf man ページを読む |
$ man dispatch-conf
|
1.
etc-update
設定ファイルのマージを行うために、etc-updateを使うこともできます。
etc-updateはdispatch-confのように簡単ではありませんし、先進的でもありません。
しかし、対話的なマージ機能一揃いを提供し、些細な変更を自動でマージすることができます。
しかしながら、dispatch-confとは違い、etc-updateは旧バージョンの設定ファイルを保存しません。
一度設定ファイルを更新したら、旧バージョンの設定ファイルは永遠に失われてしまいます!
etc-updateの使用は、dispatch-confの使用と比べて著しく安全性が低いので、十分に注意してください。
コード表示 1.1: etc-updateを実行 |
# etc-update
|
分かり易い変更点をマージした後、更新を待っている保護されたファイルのリストが表示されるでしょう。
その下には利用可能なオプションが表示されています。
コード表示 1.1: etc-updateオプション |
Please select a file to edit by entering the corresponding number.
(-1 to exit) (-3 to auto merge all remaining files)
(-5 to auto-merge AND not use 'mv -i'):
|
-1を入力すると、etc-updateは終了し、以降の全ての変更を中止します。
-3か-5を入力すると、表示された全ての設定ファイルが新しいものに置き換えられます。
ゆえに、まず自動的に更新されるべきでない設定ファイルを選択することがとても重要です。
これは設定ファイルの左に常時されている数字を入力することによって簡単に行えます。
例えば、/etc/pear.confという設定ファイルを選択します。
コード表示 1.1: 特定の設定ファイルを更新 |
Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update
2) Delete update, keeping original as is
3) Interactively merge original with update
4) Show differences again
|
今あなたは2つのファイルの違いを見ています。
もし設定ファイルの更新が問題なく行えると信じるならば、1を入力します。
更新された設定ファイルが必要でない、もしくは新しい有用なものを何も提供してくれないと思うなら、2を入力します。
現在の設定ファイルを相互的に更新したいのなら、3を入力します。
相互マージについてのより詳しい情報をここで記述することには意味がありません。
完全にするためには、2つのファイルを相互マージしているときに利用できるコマンドのリストを提示します。
2行(オリジナルと、推奨される新しいもの)と以下のコマンドのうち1つを入力することができるプロンプトが表示されています。
コード表示 1.1: 相互マージで利用可能なコマンド |
ed: 両方のバージョンをヘッダーで装飾して利用して編集
eb: 両方のバージョンを利用して編集
el: 左のバーションを利用して編集
er: 右のバーションを利用して編集
e: 新しいバージョンを編集
l: 左のバージョンを利用
r: 右のバージョンを利用
s: 結果を表示せず共通の行を含む
v: 結果を表示して共通の行を含む
q: 終了
|
重量な設定ファイルの更新が終了したら、その他の設定ファイルを自動更新します。
更新できる設定ファイルが見つからないときにはetc-updateは終了します。
1.
quickpkg
quickpkgを使えばシステムに既にマージされたパッケージのアーカイブを作成することができます。
これらのアーカイブは既にビルドされたパッケージとして利用できます。
quickpkgの実行は簡単です: アーカイブにしたいパッケージ名を追加するだけです。
例えば、curl、orageそしてprocpsをアーカイブするならこうします。
コード表示 1.1: quickpkg利用例 |
# quickpkg curl orage procps
|
ビルドされたパッケージは$PKGDIR(デフォルトでは/usr/portage/packages/ )に保管されます。
これらのパッケージは$PKGDIR/<category>にあります。
|