Version 2 (modified by yasumichi, 11 years ago) (diff) |
---|
Vine Linux ドキュメント / Vine Linux 7.x / CUI ユーザーズガイド / 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