dpkg-divert(8)

名前
dpkg-divert - パッケージのファイルのオーバーライド

書式
dpkg-divert [options] [--add] <file>
dpkg-divert [options] --remove <file>
dpkg-divert [options] --list <glob-pattern>
dpkg-divert [options] --truename <file>

説明
`diversions' というファイルにより、dpkg(1) はファイルをインストールする時に本来意図していた場所ではなく退避した (`diverted') 場所にインストールするようになる。diversions は Debian パッケージスクリプトで衝突がおこりうるファイルを移動させるために使うことができる。システム管理者はパッケージの設定ファイルや他のファイルを (`conffiles' としてマークされていなければ) dpkg が新しいバージョンのパッケージをインストールする時にそれらのファイルを上書きしてしまわないようにするために diversion を使うことができる。

dpkg-divert は diversions のリストを設定、更新するためのユーティリティである。これは 3 つの基本モードの機能をもっている。diversion の追加、削除、リストである。それぞれ --add、--remove、--list オプションで指定する。さらに --truename によって退避されたファイルの実際の名前を表示することもできる。以下にあげられている他オプションも指定することができる。

オプション

--admindir <directory>
    dpkg データディレクトリを <directory> に設定する。(デフォルト: /var/lib/dpkg)

--divert <divert-to>
    <divert-to> は、他のパッケージによって提供される <file> を退避する位置である。

--local
    全てのパッケージのそのファイルを退避する対象にする。つまり、例外なく、どのようなパッケージをインストールしても退避される。これを使って、管理者がローカルの修正バージョンをインストールすることができる。

--package <package>
    <package> は、<file> が退避されていないパッケージの名前である。つまり、<file> は <package> を除いたすべてのパッケージによって退避される。

--quiet
    静かなモード。つまり無駄な出力をしない。

--rename
    実際にファイルを移動する (もしくは戻す)。dpkg-divert は移動先のファイルが既に存在していると動作を中断する。

--test
    テストモード。つまり実際にはなにも実行せず、なにをするかを表示するだけである。

--help
    バージョンと簡単な利用法を表示して正常終了する。

--version
    プログラム名とバージョンを表示して正常終了する。

注意
追加する時は、デフォルトは --local と --divert <original>.distrib である。削除する時は、--package もしくは --local と --divert は指定されていれば一致していなければいけない。 dpkg-divert ではディレクトリは退避できない。 共有ライブラリを退避する場合、注意すべきである。ldconfig(8) はライブラリに埋め込まれている DT_SONAME フィールドに基づいて、シンボリックリンクを作成する。ldconfig は退避させることができないためである (dpkg だけができる)。もし退避したライブラリと退避していないライブラリが同じ SONAME であれば、最終的にシンボリックリンクは退避したライブラリを指す。

例
すべての /usr/bin/example を /usr/bin/example.foo に退避させる、つまり、/usr/bin/example を提供するすべてのパッケージに対して必要であれば /usr/bin/example.foo と変更してインストールさせる。

dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example

diversion を削除する。

dpkg-divert --rename --remove /usr/bin/example

/usr/bin/example をインストールしようとするすべてのパッケージを /usr/bin/example.foo に退避、ただし自作の wibble パッケージを除く。

dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/example

diversion を削除する。

dpkg-divert --package wibble --rename --remove /usr/bin/example

ファイル

/var/lib/dpkg/diversions
    システムの現在の退避リストを含むファイル。これは dpkg で使われる重要なファイル `status' や `available' がある dpkg の管理ディレクトリにある。
    注意: dpkg-divert はこのファイルを更新する時に、古いバージョンを "-old" という名前をつけたファイルにコピーしておく。

関連項目
dpkg(1).

著者
Copyright (C) 1995 Ian Jackson.

This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO warranty.

翻訳者
鵜飼文敏 <ukai@debian.or.jp>