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 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 デ ィ レ ク ト リ 内 の 名 前 で あ り 、 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

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

例 え ば 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>.