名 前
update-alternatives - シ ン ボ リ ッ ク リ ン ク を 管 理 し て デ フ ォ ル ト の コ マ ン ド を 決 定 す る
書 式
update-alternatives [option...] command
説 明
update-alternatives は Debian の alternatives シ ス テ ム を 構 成 す る シ ン ボ リ ッ ク リ ン ク を 生 成 ・ 削 除 ・ 管 理 し た り 、 リ ン ク の 情 報 を 表 示 し た り す る ツ ー ル で あ る 。 同 一 の 、 あ る い は 類 似 の 機 能 を 持 つ 複 数 の プ ロ グ ラ ム を 一 つ の シ ス テ ム に 同 時 に イ ン ス ト ー ル し 、 共 存 さ せ る こ と が で き る 。 例 え ば 多 く の シ ス テ ム で は 、 複 数 の テ キ ス ト エ デ ィ タ を 共 存 さ せ て い る 。 こ れ に よ り 、 シ ス テ ム の ユ ー ザ は 好 み に 応 じ て 別 々 の エ デ ィ タ を 使 う こ と が で き る よ う に な る 。 し か し プ ロ グ ラ ム か ら す る と 、 特 に 指 定 が な か っ た と き に ど の エ デ ィ タ を 起 動 す れ ば 良 い の か と い う 、 な か な か 難 し い 問 題 を 抱 え る こ と に な る 。
Debian の alternatives シ ス テ ム は 、 こ の 問 題 を 解 決 す る た め の も の で あ る 。 互 い に 置 き 換 え 可 能 な 機 能 を 提 供 す る 全 て の フ ァ イ ル は 、 フ ァ イ ル シ ス テ ム 中 の 「 一 般 名 (generic name)」 を 共 有 す る 。 そ の 一 般 名 が 実 際 に ど の フ ァ イ ル を 参 照 す る か は 、 alternatives シ ス テ ム と シ ス テ ム 管 理 者 と が 決 定 す る 。 例 え ば 、 テ キ ス ト エ デ ィ タ で あ る ed(1) と nvi(1) の 両 方 が シ ス テ ム に イ ン ス ト ー ル さ れ て い た と す る と 、 一 般 名 で あ る /usr/bin/editor は 、 デ フ ォ ル ト で は /usr/bin/nvi を 参 照 す る 。 シ ス テ ム 管 理 者 は こ れ を 上 書 き し 、 /usr/bin/ed を 参 照 さ せ る よ う に す る こ と も で き る 。 こ う す る と 、 そ の 後 明 示 的 な 設 定 が な け れ ば 、 alternatives シ ス テ ム は そ の 設 定 を 変 更 し な い 。 一 般 名 は 、 選 ば れ た 「 選 択 肢 (alternative)」 へ の 直 接 の シ ン ボ リ ッ ク リ ン ク で は な く 、 alternatives デ ィ レ ク ト リ に あ る 名 前 へ の シ ン ボ リ ッ ク リ ン ク に な っ て お り 、 そ の 名 前 が 実 際 に 参 照 さ れ る フ ァ イ ル へ の シ ン ボ リ ッ ク リ ン ク に な っ て い る 。 こ う な っ て い る 理 由 は 、 シ ス テ ム 管 理 者 に よ る 変 更 を /etc デ ィ レ ク ト リ 以 下 で 完 結 さ せ る た め で あ る 。 な ぜ こ う す る の が 良 い か に つ い て は FHS に 説 明 が あ る 。
When each package providing a file with a particular functionality is installed, changed or removed, update-alternatives is called to update information about that file in the alternatives system. update-alternatives is usually called from the following Debian package maintainer scripts, postinst (configure) to install the alternative and from prerm and postrm (remove) to remove the alternative. Note: in most (if not all) cases no other maintainer script actions should call update-alternatives, in particular neither of upgrade nor disappear, as any other such action can lose the manual state of an alternative, or make the alternative temporarily flip-flop, or completely switch when several of them have the same priority. 複 数 の 選 択 肢 を 同 期 さ せ 、 グ ル ー プ と し て 変 更 す る と 便 利 な こ と が 多 い 。 例 え ば vi(1) エ デ ィ タ の い ろ い ろ な 派 生 シ ス テ ム が 同 時 に イ ン ス ト ー ル さ れ て い た と す る と 、 /usr/share/man/man1/vi.1 が 参 照 す る man ペ ー ジ は 、 /usr/bin/vi が 参 照 す る 実 行 フ ァ イ ル に 対 応 し て い る べ き で あ ろ う 。 update-alternatives は 、 master リ ン ク と slave リ ン ク に よ っ て こ れ を 取 り 扱 う 。 master が 変 更 さ れ る と 、 そ れ に 関 連 づ け さ れ た 各 slave も 同 時 に 変 更 さ れ る 。 master リ ン ク と そ れ に 関 連 づ け さ れ た slave と は 、 リ ン ク グ ル ー プ を 形 成 す る 。 各 リ ン ク グ ル ー プ は 、 い か な る 時 点 に お い て も 、 automatic ま た は manual の 2 つ の モ ー ド の い ず れ か に あ る 。 グ ル ー プ が automatic モ ー ド に あ る 場 合 は 、 パ ッ ケ ー ジ の イ ン ス ト ー ル ・ 削 除 の 際 に リ ン ク を 更 新 す る か 、 ど の よ う に 更 新 す る か は 、 alternatives シ ス テ ム が 自 動 的 に 決 定 す る 。 manual モ ー ド で は 、 alternatives シ ス テ ム は (何 ら か の 問 題 が 発 生 し た 場 合 を 除 き ) リ ン ク を 変 更 せ ず 、 シ ス テ ム 管 理 者 の 行 っ た 設 定 が 保 持 さ れ る 。 リ ン ク グ ル ー プ が シ ス テ ム に 導 入 さ れ る と 、 ま ず automatic モ ー ド と し て 機 能 す る 。 シ ス テ ム 管 理 者 が そ の 設 定 を 変 更 す る と 、 次 に update-alternatives が リ ン ク グ ル ー プ に 対 し て 実 行 さ れ た と き に 変 更 が 認 識 さ れ 、 そ の リ ン ク グ ル ー プ は 自 動 的 に manual モ ー ド に 切 り 換 わ る 。 各 選 択 肢 は priority 属 性 を 持 っ て い る 。 リ ン ク グ ル ー プ が automatic モ ー ド に あ る と き は 、 priority の も っ と も 高 い も の が 、 そ の グ ル ー プ の メ ン バ ー が 参 照 す る 選 択 肢 に な る 。
When using the --config option, update-alternatives will list all of the choices for the link group of which given name is the master alternative name. The current choice is marked with a ’*’. You will then be prompted for your choice regarding this link group. Depending on the choice made, the link group might no longer be in auto mode. You will need to use the --auto option in order to return to the automatic mode (or you can rerun --config and select the entry marked as automatic). 非 対 話 的 に 設 定 を し た い 場 合 は --set オ プ シ ョ ン を 代 わ り に 使 用 す る (以 下 を 参 照 )。 同 一 の フ ァ イ ル を 提 供 す る 異 な る パ ッ ケ ー ジ は 、 こ れ を 協 調 し て 行 う 必 要 が あ る 。 言 い 換 え る と 、 こ う し た 場 合 、 関 連 す る パ ッ ケ ー ジ の す べ て で update-alternatives の 使 用 が 必 須 と な る 。 update-alternatives 機 構 を 使 用 し て い な い パ ッ ケ ー ジ の フ ァ イ ル を 上 書 き す る こ と は で き な い 。
用 語
update-alternatives
の 動 作 は 極 め
て 複 雑 な の で
、 こ こ で い く
つ か の 固 有 の
用 語 を 説 明 し
、 動 作 の 理 解
の 助 け と し た
い 。 一 般 名
(generic name / alternative link)
/usr/bin/editor の よ う な 名 前 。 alternatives シ ス テ ム に よ っ て 、 類 似 の 機 能 を 持 つ 複 数 の フ ァ イ ル の い ず れ か を 参 照 す る 。 選 択 肢 名
(alternative name)
alternatives デ ィ レ ク ト リ に 存 在 す る シ ン ボ リ ッ ク リ ン ク 名 選 択 肢
(alternative / alternative
path) フ ァ イ ル シ ス
テ ム 中 の 特 定
フ ァ イ ル の 名
称 、 alternatives シ ス テ
ム に よ っ て 、
一 般 名 か ら の
ア ク セ ス が 可
能 と な る 。
alternatives デ ィ レ ク ト
リ シ ン ボ リ ッ
ク リ ン ク を 保
持 す る デ ィ レ
ク ト リ 。 デ フ
ォ ル ト は
/etc/alternatives。
administrative デ ィ レ ク ト
リ
update-alternatives の 状 態 情 報 を 保 持 す る デ ィ レ ク ト リ 。 デ フ ォ ル ト は /var/lib/dpkg/alternatives。 リ ン ク グ ル ー プ 関 連 す る シ ン ボ リ ッ ク リ ン ク の セ ッ ト で 、 グ ル ー プ 単 位 で の 更 新 を 行 う た め の も の 。
master リ ン
ク リ ン ク グ ル
ー プ に 属 す る
選 択 肢 の リ ン
ク で 、 グ ル ー
プ 内 の 他 の リ
ン ク の 設 定 を
決 定 す る も の
。
slave リ ン ク リ ン ク
グ ル ー プ に 属
す る 選 択 肢 の
リ ン ク で 、 master リ
ン ク の 設 定 に
よ っ て 設 定 さ
れ る も の 。
automatic モ ー ド リ ン
ク グ ル ー プ が
automatic モ ー ド に あ
る 場 合 、 alternatives シ
ス テ ム は 、 グ
ル ー プ 内 の 各
リ ン ク が priority の
も っ と も 高 い
選 択 肢 を 参 照
す る こ と を 担
保 す る 。
manual モ ー ド リ ン ク
グ ル ー プ が manual モ
ー ド に あ る 場
合 、 alternatives シ ス テ
ム は シ ス テ ム
管 理 者 の 行 っ
た 設 定 を 一 切
変 更 し な い 。
コ マ ン ド
--install
link name path priority [--slave link name
path]... 選 択 肢 の グ
ル ー プ を シ ス
テ ム に 追 加 す
る 。 link は master リ
ン ク の 一 般 名
、 name は alternatives デ ィ
レ ク ト リ に お
け る シ ン ボ リ
ッ ク リ ン ク の
名 前 、 path は master
リ ン ク と な る
選 択 肢 の 名 前
と な る 。 --slave オ
プ シ ョ ン に 続
く 引 数 は 、 alternatives
デ ィ レ ク ト リ
で の 一 般 名 お
よ び シ ン ボ リ
ッ ク リ ン ク の
名 前 と slave リ ン ク
と な る 選 択 肢
の パ ス の 順 と
な る 。 --slave オ プ
シ ョ ン と 、 そ
れ に に 続 く 3 つ
の 引 数 の セ ッ
ト は 、 い く つ
設 定 し て も よ
く 、 ま っ た く
設 定 し な い こ
と も で き る 。 master
と な る 選 択 肢
は 必 ず 存 在 し
て い る 必 要 が
あ り 、 存 在 し
て い な い 場 合
は 失 敗 と な る
が 、 slave の 選 択 肢
が イ ン ス ト ー
ル さ れ て い な
い 場 合 は 、 (依
然 と し て 警 告
が 表 示 さ れ る
も の の ) 対 応 す
る slave の 選 択 肢 の
リ ン ク が 単 に
イ ン ス ト ー ル
さ れ な い だ け
で あ る 。 選 択
肢 の リ ン ク が
イ ン ス ト ー ル
さ れ る パ ス に
、 何 ら か の 実
フ ァ イ ル が イ
ン ス ト ー ル さ
れ て い る 場 合
、 --force が 指 定 さ
れ な い 限 り 、
そ れ ら の フ ァ
イ ル は 保 持 さ
れ る 。 指 定 さ
れ た 選 択 肢 の
名 前 が 既 に alternatives
シ ス テ ム 内 に
存 在 し て い る
場 合 、 与 え ら
れ た 情 報 は 、
グ ル ー プ に 対
す る 新 た な 選
択 肢 と し て 追
加 さ れ る 。 そ
れ 以 外 の 場 合
は 、 与 え ら れ
た 情 報 を 用 い
て 、 新 し い グ
ル ー プ が automatic モ
ー ド で 追 加 さ
れ る 。 グ ル ー
プ が automatic モ ー ド
に あ り 、 新 た
に 追 加 さ れ た
選 択 肢 の priority が
そ の グ ル ー プ
に 対 し て イ ン
ス ト ー ル さ れ
て い る 他 の 選
択 肢 の も の よ
り 高 い 場 合 、
シ ン ボ リ ッ ク
リ ン ク は 新 た
に 追 加 さ れ た
選 択 肢 を 参 照
す る よ う に 更
新 さ れ る 。
--set name path
Set the program path as alternative for name. This is equivalent to --config but is non-interactive and thus scriptable.
--remove name path
(master の ) 選 択 肢 と そ れ に 関 連 す る 全 て の slave リ ン ク を 削 除 す る 。 name は alternatives デ ィ レ ク ト リ 内 の 名 前 で あ り 、 path は name の リ ン ク 先 に 指 定 さ れ う る フ ァ イ ル 名 の 絶 対 パ ス で あ る 。 name が 実 際 に path に リ ン ク さ れ て い る 場 合 に は 、 name は 他 の 適 切 な 選 択 肢 を 参 照 す る よ う 更 新 さ れ る (グ ル ー プ は automatic モ ー ド に 戻 さ れ る ) が 、 そ の よ う な 選 択 肢 が 残 っ て い な け れ ば 削 除 さ れ る 。 関 連 す る slave リ ン ク も 対 応 し て 更 新 (削 除 ) さ れ る 。 name が 現 在 そ の path を 参 照 し て い な け れ ば 、 リ ン ク の 変 更 は 行 わ れ な い 。 そ の 選 択 肢 の 情 報 が 削 除 さ れ る だ け で あ る 。
--remove-all name
す べ て の 選 択
肢 と 、 そ れ に
関 連 す る す べ
て の slave リ ン ク を
削 除 す る 。 name
は 、 alternatives デ ィ レ
ク ト リ 内 の 名
前 で あ る 。
--all す べ て の 選
択 肢 に 対 し て
--config を 呼 び 出 す
。 こ れ は --skip-auto
と 組 み 合 わ せ
る こ と で 、 automatic
モ ー ド で 設 定
さ れ て い な い
す べ て の 選 択
肢 を 確 認 、 設
定 す る 際 に 有
用 で あ る 。 問
題 の あ る 選 択
肢 も 表 示 さ れ
る 。 問 題 の あ
る 選 択 肢 を す
べ て 修 正 す る
た め に は yes ’’ |
update-alternatives --force --all を 実
行 す れ ば よ い
。
--auto name
name で 指 定 さ れ る 選 択 肢 の リ ン ク グ ル ー プ を 、 automatic モ ー ド に 変 更 す る 。 こ の 処 理 を 行 う 際 に 、 master の シ ン ボ リ ッ ク リ ン ク と 対 応 す る 各 slave は 、 現 在 イ ン ス ト ー ル さ れ て い る 選 択 肢 の う ち 、 も っ と も priority の 高 い も の を 参 照 す る よ う に 更 新 さ れ る 。
--display name
Display information about the link group. Information displayed includes the group’s mode (auto or manual), the master and slave links, which alternative the master link currently points to, what other alternatives are available (and their corresponding slave alternatives), and the highest priority alternative currently installed.
--get-selections
List all master alternative names (those controlling a link group) and their status (since version 1.15.0). Each line contains up to 3 fields (separated by one or more spaces). The first field is the alternative name, the second one is the status (either auto or manual), and the last one contains the current choice in the alternative (beware: it’s a filename and thus might contain spaces).
--set-selections
Read configuration of alternatives on standard input in the format generated by --get-selections and reconfigure them accordingly (since version 1.15.0).
--query name
Display information about the link group like --display does, but in a machine parseable way (since version 1.15.0, see section QUERY FORMAT below).
--list name
リ ン ク グ ル ー
プ の す べ て の
対 象 を 表 示 す
る 。
--config name リ ン ク グ
ル ー プ で 利 用
可 能 な す べ て
の 選 択 肢 を 表
示 し 、 対 話 的
に 選 択 肢 の 1 つ
を 選 択 で き る
よ う に す る 。
こ れ に よ り 、
リ ン ク グ ル ー
プ が 更 新 さ れ
る 。
--help 利 用 方 法 を
表 示 し て 終 了
す る 。
--version バ ー ジ ョ ン
情 報 を 表 示 し
て 終 了 す る 。
オ プ シ ョ ン
--altdir directory
Specifies the alternatives directory, when this is to be different from the default. Defaults to «/etc/alternatives».
--admindir directory
Specifies the administrative directory, when this is to be different from the default. Defaults to «/var/lib/dpkg/alternatives»
--instdir directory
Specifies the installation directory where alternatives links will be created (since version 1.20.1). Defaults to «».
--root directory
Specifies the root directory (since version 1.20.1). This also sets the alternatives, installation and administrative directories to match. Defaults to «».
--log file
Specifies the log file (since version 1.15.0), when this is to be different from the default (/var/log/alternatives.log).
--force
Allow replacing or dropping any real file that is installed where an alternative link has to be installed or removed.
--skip-auto
automatic モ ー ド で 適 切 に 設 定 さ れ て い る 選 択 肢 に つ い て 、 設 定 の 確 認 を 行 わ な い 。 こ の オ プ シ ョ ン は --config お よ び --all と と も に 指 定 し た 場 合 の み 有 効 で あ る 。
--quiet
Do not generate any comments unless errors occur.
--verbose
Generate more comments about what is being done.
--debug
Generate even more comments, helpful for debugging, about what is being done (since version 1.19.3).
終 了 ス テ ー タ ス
0 指 定 し た ア ク シ ョ ン が 正 し く 実 行 さ れ た 。 | |
2 コ マ ン ド ラ イ ン の 解 釈 か 、 ア ク シ ョ ン の 実 行 時 に 問 題 が 発 生 し た 。 |
環 境 変 数
DPKG_ADMINDIR
--admindir オ プ シ ョ ン が 指 定 さ れ て い な い 場 合 に 、 こ の 変 数 が 設 定 さ れ て い る と 、 こ の 値 が administrative デ ィ レ ク ト リ の 起 点 と し て 使 用 さ れ る 。
フ ァ イ ル
/etc/alternatives/
デ フ ォ ル ト の
alternatives デ ィ レ ク ト
リ 。 --altdir オ プ シ
ョ ン に よ っ て
変 更 で き る 。
/var/lib/dpkg/alternatives/ デ フ ォ
ル ト の administration デ ィ
レ ク ト リ 。
--admindir オ プ シ ョ
ン に よ っ て 変
更 で き る 。
QUERY FORMAT
The
--query format is using an RFC822-like flat format.
It’s made of n + 1 blocks where n is the
number of alternatives available in the queried link group.
The first block contains the following fields:
Name: name
alternative デ ィ レ ク ト リ に 存 在 す る 選 択 肢 の 名 前
Link: link
選 択 肢 の 一 般
名
Slaves: list-of-slaves こ の ヘ
ッ ダ が 存 在 し
て い る 場 合 、
以 降 の 行 に は
、 こ の 選 択 肢
の master リ ン ク に 対
応 す る す べ て
の slave リ ン ク が 記
述 さ れ る 。 こ
れ は 、 slave 毎 に 1
行 ず つ 記 述 さ
れ 、 各 行 は 、 1
文 字 の ス ペ ー
ス に 続 き 、 slave の
選 択 肢 の 一 般
名 、 ス ペ ー ス
、 slave リ ン ク の パ
ス が 記 述 さ れ
る 。
Status: status 選 択 肢
の 状 況 (auto も し
く は manual)
Best: best-choice こ の リ
ン ク グ ル ー プ
で 最 適 な 選 択
肢 の パ ス 。 利
用 可 能 な 選 択
肢 が 存 在 し な
い 場 合 、 存 在
し な い 。
Value: currently-selected-alternative 現
在 選 択 さ れ て
い る 選 択 肢 の
パ ス 。 リ ン ク
が 存 在 し な い
場 合 、 none と い
う 特 別 な 値 が
設 定 さ れ る 場
合 が あ る 。 こ
れ 以 外 の ブ ロ
ッ ク は 、 ク エ
リ 対 象 の リ ン
ク グ ル ー プ に
お い て 利 用 可
能 な 選 択 肢 を
表 示 す る 。
Alternative: path-of-this-alternative こ
の ブ ロ ッ ク の
選 択 肢 の パ ス
。
Priority: priority-value こ の
選 択 肢 の priority の
値 。
Slaves: list-of-slaves こ の ヘ
ッ ダ が 存 在 し
て い る 場 合 、
以 降 の 行 に は
、 こ の 選 択 肢
の master リ ン ク に 対
応 す る す べ て
の slave の 選 択 肢 が
記 述 さ れ る 。
こ れ は 、 slave 毎 に
1 行 ず つ 記 述 さ
れ 、 各 行 は 、 1
文 字 の ス ペ ー
ス に 続 き 、 slave の
選 択 肢 の 一 般
名 、 ス ペ ー ス
、 slave の 選 択 肢 の
パ ス が 記 述 さ
れ る 。
Example
$ update-alternatives --query editor Name: editor Link: /usr/bin/editor Slaves: editor.1.gz /usr/share/man/man1/editor.1.gz editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz editor.it.1.gz /usr/share/man/it/man1/editor.1.gz editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz Status: auto Best: /usr/bin/vim.basic Value: /usr/bin/vim.basic Alternative: /bin/ed Priority: -100 Slaves: editor.1.gz /usr/share/man/man1/ed.1.gz Alternative: /usr/bin/vim.basic Priority: 50 Slaves: editor.1.gz /usr/share/man/man1/vim.1.gz editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz editor.it.1.gz /usr/share/man/it/man1/vim.1.gz editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz
診 断 メ ッ セ ー ジ
--verbose を 指 定 し た 場 合 、 update-alternatives は 、 実 行 中 の 処 理 内 容 を 逐 一 標 準 出 力 に 出 力 す る 。 問 題 が 起 き る と 、 update-alternatives は エ ラ ー メ ッ セ ー ジ を 標 準 エ ラ ー 出 力 に 出 力 し 、 終 了 ス テ ー タ ス 2 を 返 す 。 こ れ ら の 診 断 メ ッ セ ー ジ は 、 読 め ば わ か る は ず で あ る 。 も し わ か ら な け れ ば 、 バ グ と し て 報 告 し て 欲 し い 。
例
例 え ば nvi や vim の よ う に 、 テ キ ス ト エ デ ィ タ vi と 互 換 性 の あ る プ ロ グ ラ ム を 提 供 す る パ ッ ケ ー ジ が 複 数 あ る 。 ど の パ ッ ケ ー ジ が 使 わ れ る か は 、 リ ン ク グ ル ー プ vi に よ っ て 制 御 さ れ る 。 リ ン ク グ ル ー プ vi に は プ ロ グ ラ ム 自 身 の リ ン ク と 、 関 連 す る man ペ ー ジ の リ ン ク が 含 ま れ る 。
vi を 提 供 す る パ ッ ケ ー ジ と そ の 現 在 の 設 定 を 表 示 す る に は 、 --display ア ク シ ョ ン を 使 用 す る :
update-alternatives --display vi 特 定 の vi の 実 装 を 選 ぶ に は 、 root と し て こ の コ マ ン ド を 実 行 し 、 一 覧 か ら 数 字 を 選 ぶ :
update-alternatives --config vi
vi 実 装 の 選 択 を 自 動 的 に 行 な う よ う に 戻 す に は 、 root と し て こ の コ マ ン ド を 実 行 す る :
update-alternatives --auto vi
関 連 項 目
ln(1), FHS (the Filesystem Hierarchy Standard).
翻 訳 者
高 橋 基 信 <monyo [AT] monyo.com>. 喜 瀬 浩 <kise [AT] fuyuneko.jp>. 関 戸 幸 一 <sekido [AT] mbox.jp>. 鍋 谷 栄 展 <nabe [AT] debian.jp>. 倉 澤 望 <nabetaro [AT] debian.jp>. 石 川 睦 <ishikawa [AT] linux.jp>. 鵜 飼 文 敏 <ukai [AT] debian.jp>. 中 野 武 雄 <nakano [AT] apm.jp>.
翻 訳 校 正
Debian JP Documentation ML <debian-doc [AT] debian.jp>.