Manpages

名 前

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 postinst (configure) or prerm (remove and deconfigure) scripts in Debian packages. 複 数 の 選 択 肢 を 同 期 さ せ 、 グ ル ー プ と し て 変 更 す る と 便 利 な こ と が 多 い 。 例 え ば 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 プ ロ グ ラ ム pathname の 選 択 肢 と し て 設 定 す る 。 −−config と 同 等 だ が 、 こ ち ら は 非 対 話 的 で あ る た め 、 ス ク リ プ ト 向 け で あ る 。
−−remove
name path

(master の ) 選 択 肢 と そ れ に 関 連 す る 全 て の slave リ ン ク を 削 除 す る 。 name は alternatives デ ィ レ ク ト リ 内 の 名 前 で あ り 、 pathname の リ ン ク 先 に 指 定 さ れ う る フ ァ イ ル 名 の 絶 対 パ ス で あ る 。 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

alternatives デ ィ レ ク ト リ を デ フ ォ ル ト か ら 変 え た い と き に 指 定 す る 。

−−admindir directory

administrative デ ィ レ ク ト リ を デ フ ォ ル ト か ら 変 え た い と き に 指 定 す る 。

−−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 と と も に 指 定 し た 場 合 の み 有 効 で あ る 。

−−verbose

Generate more comments about what is being done.

−−quiet エ ラ ー 以 外 の コ メ ン ト を 出 力 し な い 。

終 了 ス テ ー タ ス

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 を 返 す 。 こ れ ら の 診 断 メ ッ セ ー ジ は 、 読 め ば わ か る は ず で あ る 。 も し わ か ら な け れ ば 、 バ グ と し て 報 告 し て 欲 し い 。

例 え ば nvivim の よ う に 、 テ キ ス ト エ デ ィ タ 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>.

COMMENTS