wiki:docs/vl7/cui-guide/alternatives/usage

Version 2 (modified by yasumichi, 11 years ago) (diff)

--

Vine Linux ドキュメント / Vine Linux 7.x / CUI ユーザーズガイド / alternatives による標準コマンドの切り替え / alternatives コマンドの使い方

alternatives コマンドの使い方

alternatives コマンドの利用方法を扱います。

現在の設定を確認する方法、切り替える方法を扱います。

登録と削除に関しては実際には次節で扱います。

オプション

--help や --version というオプションを使うとバージョン情報とヘルプメッセージを表示します。

$ /sbin/alternatives --help

--verbose というオプションを使うと、メッセージが詳細に表示される場合があります。

--verbose は、他のオプションと合わせて利用します。

現在の設定を確認する

現在の設定を確認するには --display というオプションを用います。

$ /sbin/alternatives --display 総称名

これも一般ユーザー権限で実行できます。

ToDo: 7.x に合わせた例に修正

$ /sbin/alternatives --display gcc
1  gcc - status is auto.
2   link currently points to /usr/bin/gcc-3.3.6
3  /usr/bin/gcc-3.3.6 - priority 30
4   slave c99: /usr/bin/c99-3.3.6
5   slave cc: /usr/bin/gcc-3.3.6
6   slave i386-vine-linux-gcc: /usr/bin/i386-vine-linux-gcc-3.3.6
7   slave c89: /usr/bin/c89-3.3.6
8  /usr/bin/gcc-2.95.3 - priority 15
9   slave cc: /usr/bin/gcc-2.95.3
10 /usr/bin/gcc-4.0.2 - priority 20
11  slave c99: /usr/bin/c99-4.0.2
12  slave cc: /usr/bin/gcc-4.0.2
13  slave i386-vine-linux-gcc: /usr/bin/i386-vine-linux-gcc-4.0.2
14  slave c89: /usr/bin/c89-4.0.2
15 Current `best' version is /usr/bin/gcc-3.3.6.

説明のために左端に行番号をつけています。

1行目に総称名 gcc があり、mode の表示があります。status is auto. となっているので、優先度の一番高いものを自動的に選択するという状態です。

2行目に link currently points to /usr/bin/gcc-3.3.6 とあり、gcc-3.3.6 が選択されていることがわかります。

manual モードで、選択候補が無いという場合には、 link currently absent となります。

3,8,10行に優先度(priority)があり、gcc-3.3.6 が 30 , gcc-2.95.3 が 15 , gcc-4.0.2 が 20 となっていることがわかります。

また、一番下の15行目に Current `best' version is /usr/bin/gcc-3.3.6. とあり、ここでも、優先度が一番高いのは gcc-3.3.6 であるということがわかります。

4〜7,9,11〜14行の slave で指定されているものは、スレーブリンクです。(参照 セクション IV.28.2.3 - リンクグループ(マスターリンクとスレーブリンク))

その上の 3,8,10行にある /usr/bin/gcc-3.3.6 , /usr/bin/gcc-2.95.3 , /usr/bin/gcc-4.0.2 が マスターリンク です。

マスターリンクである /usr/bin/gcc-4.0.2 を選択すると、スレーブリンクである c99,cc,i386-vine-linux-gcc,c89 も選択されたことになり、まとめて切り替えることができます。

設定を切り替える

ここから先の操作はスーパーユーザ(root)権限で行う必要があります。

優先度が高いものを自動的に利用する、というのではなく選択するには、--config や --all や --set というオプションを用います。

優先度に従い自動的に切り替えるように戻すには、--auto というオプションを用います。

rpmパッケージのインストール時に設定された alternatives は、パッケージのアンインストール時に manual( mode) から auto(matic mode) に切り替える処理が行われる場合がありますが、自分で alternatives として登録した場合などは、ファイルが削除されたりしてもモードの切り替えは行われないので、必要に応じて auto に戻したり、どれかを選択したりしてください。

対話的に切り替える

対話的に設定するには、--config というオプションを用います。

$ sudo /sbin/alternatives --config 総称名

以下は、総称名 vi の変更例です。

$ sudo /sbin/alternatives --config vi
[sudo] password for yasumichi: 

7 プログラムがあり 'vi' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /bin/vim.tiny
   2           /usr/bin/vim.big
   3           /usr/bin/vim.X11-normal
   4           /usr/bin/vim.normal
   5           /usr/bin/vim.X11-big
*+ 6           /usr/bin/vim.huge
   7           /usr/bin/vim.X11-huge

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

*+ と書かれているものが現在選択されているコマンドです。そのまま利用するのであれば Enter キーを押します。この場合には、モードは変更されません。

ここで /bin/vim.tiny に切り替えたい場合は、1 と入力して Enter キーを押します。プロンプトに戻ったら、--display オプションにより、現在の設定を確認してみます。

$ /sbin/alternatives --display vi
vi - ステータスは手動です。
リンクは現在 /bin/vim.tiny を指しています。
(以下、略)

自分で選択したので「ステータスは手動です。」と表示されています。

二行目で「リンクは現在 /bin/vim.tiny を指しています。」となっていることが確認できます。

全ての総称名について対話的に切り替える

オプション --all を指定すると、すべての「総称名」について順に対話的に設定できます。設定方法は、--config オプションと同様です。

$ sudo /sbin/alternatives --all

Enter だけ入力していけば、何も変更せずに終了できるので、どんな「総称名」と「選択候補」があるのか確認することもできます。

直接指定して切り替える

対話的に決定するのではなく、直接指定するには --set というオプションを用います。

$ sudo /sbin/alternatives --set 総称名 選択候補

以下は、総称名 vi の設定例です。

$ sudo /sbin/alternatives --set vi /bin/vim.tiny

自動モードに戻す

「手動」から「自動」に戻すには --auto というオプションを用います。

$ sudo /sbin/alternatives --auto 総称名

総称名 vi を「自動」に戻します。

$ sudo /sbin/alternatives --auto vi