- このドキュメントについて
-
Vine Linux CUIユーザーズガイド
- 本書の規則
- Vine Linuxの起動から停止まで
- アプリケーションの活用
- ユーザ環境の設定
-
システム管理
- root権限
- アップデートパッケージのインストール
- プログラムの追加・削除・更新(パッケージ管理)
- ファイルシステムの管理
- カーネルのアップグレード、設定の方法
- カーネルモジュールの制御
- 認証の設定
- キーボードの設定
- タイムゾーン設定
- ファイアウォールの設定
- ネットワークの設定
- サービスの管理
- CUPSによる印刷環境の設定方法と使用方法
- alternatives による標準コマンドの切り替え
- フレームバッファの使用と日本語表示
- 起動時のカーネルオプション
- ログインシェルの変更
- 伝統的なファイルシステムのマウント方法
- pmountによるファイルシステムのマウント
- LPRngによる印刷環境の設定方法と使用方法
alternatives による標準コマンドの切り替え
- IV.28.1. 機能の重複するプログラム
- IV.28.2. alternatives の仕組み
- IV.28.3. alternatives コマンドの使い方
- IV.28.4. 登録と削除
- IV.28.5. alternatives で切り替えられるものが含まれているrpmパッケージ
IV.28.1. 機能の重複するプログラム
いくつかのプログラムには、同様の機能をもったプログラムが複数用意されている場合があります。
これらの中には、複数のものを同時にインストールしておけるものがあります。
バージョンの異なるものを同時に複数インストールしておけるものでは、gcc のようなプログラムがあり、gcc,gcc4,gcc295 といったrpmパッケージがあります。
また、ある程度同等な機能をもつものとしては cups と LPRng のようなものがあります。
ほかにも様々なものがあります。そうしたrpmパッケージの一覧は セクション IV.28.5 - alternatives で切り替えられるものが含まれているrpmパッケージ を見てください。
複数のプログラムをインストールしてある時に、どれをシステムの標準とするか、決定、選択、切り替えを行うために alternatives という仕組みがあります。
この章では、alternatives の仕組みとコマンドの利用方法を扱います。
alternatives というパッケージは、cups など、切り替え可能なrpmパッケージが一つでもインストールされていればすでにインストールされているはずですが、インストールされていない場合には、スーパーユーザ(root)権限でインストールしてください。(参照: 第IV.17章 - プログラムの追加・削除・更新(パッケージ管理))
$ sudo apt-get install alternatives
alternatives コマンドのマニュアルに日本語での詳細な説明があるので読んでください。
$ man alternatives
IV.28.2. alternatives の仕組み
alternatives は、既存のファイルに新しい名前をつけて利用できるようにするシステムです。
いくつかのファイルを同じ名前の元に登録すれば、切り替えられるようにすることができます。
-
節目次
- IV.28.2.1. 用語とディレクトリ
- IV.28.2.2. ファイルのつながり
- IV.28.2.3. リンクグループ(マスターリンクとスレーブリンク)
- IV.28.2.4. administrative directory におかれるファイル
IV.28.2.1. 用語とディレクトリ
alternative には仕組みを理解する上で必要となる 5つの用語と 2つのディレクトリ があります。
-
用語
- 総称名 generic name
- リンク名 link name
- 選択候補 alternative
- 優先度 priotity
- モード mode
-
ディレクトリ
- alternatives directory
- administrative directory
総称名 generic name は、リンク名、選択候補、優先度、モードなどを一つのグループとして管理するための グループの名前 です。
リンク名 link name は、alternatives によって作られる、新しい名前 です。この名前で、シンボリックリンクファイル1が作られ、一般的なコマンド、ファイルと同じように利用されることになります。
選択候補 alternative は、既存のファイル、実際のファイルです。「本体」といった感じのものになります。リンク名 で作られるファイルは最終的にこのファイルを参照することになります。
選択候補ごとに、優先度 priority があります。数字で設定され、選択候補が複数ある場合には、数字の大きなものほど優先されます。
優先度に従うかどうかを決める モード mode があります。モードには、パッケージの追加や削除などで、選択候補が追加されたり削除された時に、優先度が高いものに自動的に切り替わる auto(matic mode) と、すでに設定したもので固定しておく manual( mode) というものがあります。
標準では、自動的に切り替える auto になっています。
alternatives directory は、どの候補を選択するかといった切り替えに利用するディレクトリです。Vine Linux では /etc/alternatives が利用されます。
administrative directory には、総称名ごとに、モード、リンク名、選択候補、優先度の情報が保存されます。Vine Linux では /var/lib/rpm/alternatives が利用されます。
ここにあるファイルの中身についてはセクション IV.28.2.4 - administrative directory におかれるファイルで説明します。
alternatives コマンドで切り替える時には 総称名 と 選択候補 を利用します。
リンク名以外は alternatives という仕組みの中で利用されるものです。
一般的にシステムごとの設定ファイルなどは /etc/ というディレクトリ以下におかれて管理されるので、alternatives は /usr/bin/ にあるコマンドを直接変更するのではなく、/etc/alternatives 以下を経由して変更を行うようになっています。
また、優先度などの情報は、パッケージのインストールやアンインストールなどで、選択候補が増えたり減ったり動的に変化するために、/var/lib/rpm/alternatives 以下におかれます。
/etc や /var などのディレクトリの配置や意味などについては、FHS(Filesystem Hierarchy Standard)という規格があります。
IV.28.2.2. ファイルのつながり
リンク名 があります。このファイルは、alternatives directory の中にある、総称名と同じ名前のファイル を参照しています。
総称名 のもとに、2つの選択候補 ファイルA と ファイルB が登録されています。
優先度は、A が 20、 B が 10 となっています。
総称名と同じ名前のファイル は、優先度の高い ファイルA を参照します。
リンク名 は 総称名と同じ名前のファイル を経由して 選択候補ファイルA を参照しています。
- IV.28.2.2.1. gcc の場合
IV.28.2.2.1. gcc の場合
GCC(GNU Compiler Collection) の、/usr/bin/gcc というコマンドを見てみましょう。
Vine Linux 4.1 では、表 IV.28-1のように 3つrpmパッケージが用意されています。2
パッケージ名 | GCCのバージョン | gccコマンド | 優先度(priority) |
---|---|---|---|
gcc | 3.3.6 | /usr/bin/gcc-3.3.6 | 30 |
gcc4 | 4.0.2 | /usr/bin/gcc-4.0.2 | 20 |
gcc295 | 2.95.3 | /usr/bin/gcc-2.95.3 | 15 |
gcc というコマンドは一般的には /usr/bin/gcc ですが、それぞれのrpmパッケージでは /usr/bin/gcc-3.3.6 , /usr/bin/gcc-4.0.2 , /usr/bin/gcc-2.95.3 というコマンド(ファイル名)になっています。
そして、alternatives を使って、この中のどれかを /usr/bin/gcc として使えるようにしています。
/usr/bin/gcc があります。このファイルは、/etc/alternatives の中にある、総称名と同じ名前の gcc というファイル を参照しています。
$ file /usr/bin/gcc /usr/bin/gcc: symbolic link to `/etc/alternatives/gcc'
総称名 gcc のもとに、3つの選択候補 /usr/bin/gcc-3.3.6 と /usr/bin/gcc-4.0.2 と /usr/bin/gcc-2.95.3 が登録されています。
優先度は、/usr/bin/gcc-3.3.6 が 30 , /usr/bin/gcc-4.0.2 が 20 , /usr/bin/gcc-2.95.3 が 15 となっています。
/etc/alternatives/gcc は、優先度の最も高い /usr/bin/gcc-3.3.6 を参照します。
$ file /etc/alternatives/gcc /etc/alternatives/gcc: symbolic link to `/usr/bin/gcc-3.3.6'
/usr/bin/gcc は /etc/alternatives/gcc を経由して 選択候補/usr/bin/gcc-3.3.6 を参照しています。
IV.28.2.3. リンクグループ(マスターリンクとスレーブリンク)
alternatives には、プログラムが変更されたら同時にマニュアルページファイルも切り替える、といったように、複数のものを同時に切り替える仕組みがあります。
総称名1 を切り替えたら、総称名2 のほうも同時に切り替えるというように、複数の総称名をグループ化することで、選択候補を同時に切り替えられるようにすることができます。
基準となる総称名1 をマスターリンク(master link)と呼び、それと同時に変更される総称名2 をスレーブリンク(slave link)と呼びます。
マスターリンクとスレーブリンクを合わせて、リンクグループ(link group)と呼びます。
スレーブリンクは、マスターリンクに合わせて切り替わるものなので、モードと優先度を持ちません。総称名とリンク名と選択候補を持ちます。
スレーブリンクは、無くてもいいものなので、マスターリンクの選択候補1 にはスレーブリンクがあるけれど、選択候補2 にはスレーブリンクはない、といったようにもできます。全て対応させる必要はありません。
また、スレーブリンクを複数持つこともできます。
マスターリンクとスレーブリンクは、図 IV.28-3のような関係になります。
総称名1 の選択候補 ファイルA と、総称名2 の選択候補 ファイルa が対応します。
また、総称名1 の選択候補 ファイルB と、総称名2 の選択候補 ファイルb が対応します。
リンク名1 に ファイルA を選択した時には、リンク名2 が ファイルa になります。
IV.28.2.4. administrative directory におかれるファイル
administrative directory ( /var/lib/rpm/alternatives/ ) に 総称名と同じ名前のファイルがあり、総称名ごとに、モード、リンク名、選択候補、優先度の情報が保存されます。
書式は次のようになります。
モード (auto か manual) リンク名 (/usr/bin/hoge など) 区切りとなる空行 選択候補1 選択候補1の優先度 選択候補2 選択候補2の優先度
スレーブリンクもある場合には次のような書式になります。
モード master link のリンク名 slave link1 の総称名 slave link1 のリンク名 slave link2 の総称名 slave link2 のリンク名 区切りとなる空行 master link の選択候補1 master link の選択候補1の優先度 master link の選択候補1のslave link1の選択候補 master link の選択候補1のslave link2の選択候補 master link の選択候補2 master link の選択候補2の優先度 master link の選択候補2のslave link1の選択候補 master link の選択候補2のslave link2の選択候補 区切りとなる空行
スレーブリンクのリンク名など、関連したファイルがどこにあるのかはこのファイルをみるとわかります。
- IV.28.2.4.1. /var/lib/rpm/alternatives/gcc の場合
IV.28.2.4.1. /var/lib/rpm/alternatives/gcc の場合
/var/lib/rpm/alternatives/gcc は次のように書かれています。
auto モード /usr/bin/gcc master link のリンク名 c99 slave link1 の総称名 /usr/bin/c99 slave link1 のリンク名 cc slave link2 の総称名 /usr/bin/cc slave link2 のリンク名 i386-vine-linux-gcc slave link3 の総称名 /usr/bin/i386-vine-linux-gcc slave link3 のリンク名 c89 slave link4 の総称名 /usr/bin/c89 slave link4 のリンク名 (区切りとなる空行) /usr/bin/gcc-3.3.6 選択候補 1 30 選択候補 1の優先度 /usr/bin/c99-3.3.6 選択候補 1のスレーブリンク 1の選択候補 /usr/bin/gcc-3.3.6 選択候補 1のスレーブリンク 2の選択候補 /usr/bin/i386-vine-linux-gcc-3.3.6 選択候補 1のスレーブリンク 3の選択候補 /usr/bin/c89-3.3.6 選択候補 1のスレーブリンク 4の選択候補 /usr/bin/gcc-2.95.3 選択候補 2 15 選択候補 2の優先度 選択候補 2のスレーブリンク 1の選択候補 (該当無し) /usr/bin/gcc-2.95.3 選択候補 2のスレーブリンク 2の選択候補 選択候補 2のスレーブリンク 3の選択候補 (該当無し) 選択候補 2のスレーブリンク 4の選択候補 (該当無し) /usr/bin/gcc-4.0.2 選択候補 3 20 選択候補 3の優先度 /usr/bin/c99-4.0.2 選択候補 3のスレーブリンク 1の選択候補 /usr/bin/gcc-4.0.2 選択候補 3のスレーブリンク 2の選択候補 /usr/bin/i386-vine-linux-gcc-4.0.2 選択候補 3のスレーブリンク 3の選択候補 /usr/bin/c89-4.0.2 選択候補 3のスレーブリンク 4の選択候補 (区切りとなる空行)
IV.28.3. alternatives コマンドの使い方
alternatives コマンドの利用方法を扱います。
現在の設定を確認する方法、切り替える方法を扱います。
登録と削除に関しては実際には次節で扱います。
- IV.28.3.1. オプション
- IV.28.3.2. 現在の設定を確認する
- IV.28.3.3. 設定を切り替える
IV.28.3.1. オプション
--help や --version というオプションを使うとバージョン情報とヘルプメッセージを表示します。
$ /sbin/alternatives --help
--verbose というオプションを使うと、メッセージが詳細に表示される場合があります。
--verbose は、他のオプションと合わせて利用します。
IV.28.3.2. 現在の設定を確認する
現在の設定を確認するには --display というオプションを用います。
$ /sbin/alternatives --display 総称名
これも一般ユーザーで実行できます。
$ /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 も選択されたことになり、まとめて切り替えることができます。
IV.28.3.3. 設定を切り替える
ここから先の操作は スーパーユーザ(root) で行う必要があります。
優先度が高いものを自動的に利用する、というのではなく選択するには、--config や --all や --set というオプションを用います。
優先度に従い自動的に切り替えるように戻すには、--auto というオプションを用います。
rpmパッケージのインストール時に設定された alternatives は、パッケージのアンインストール時に manual( mode) から auto(matic mode) に切り替える処理が行われる場合がありますが、自分で alternatives として登録した場合などは、ファイルが削除されたりしてもモードの切り替えは行われないので、必要に応じて auto に戻したり、どれかを選択したりしてください。
- IV.28.3.3.1. 対話的に切り替える
- IV.28.3.3.2. 全ての総称名について対話的に切り替える
- IV.28.3.3.3. 直接指定して切り替える
- IV.28.3.3.4. automatic modeに戻す
IV.28.3.3.1. 対話的に切り替える
対話的に設定するには、--config というオプションを用います。
$ sudo /sbin/alternatives --config 総称名
/usr/bin/gcc-3.3.6 ではなく /usr/bin/gcc-4.0.2 を利用するようにしてみます。
$ sudo /sbin/alternatives --config gcc There are 3 alternatives which provide `gcc'. Selection Alternative ----------------------------------------------- *+ 1 /usr/bin/gcc-3.3.6 2 /usr/bin/gcc-2.95.3 3 /usr/bin/gcc-4.0.2 Press enter to keep the default[*], or type selection number:
と表示されます。
* と書かれているものが現在選択されているものです。そのまま利用するのであれば Enter と入力します。この場合には モード は変更されません。
3 /usr/bin/gcc-4.0.2 とあるので、3 Enter と入力します。
Using `/usr/bin/gcc-4.0.2' to provide `gcc'.
と表示されて設定変更が完了しました。
$ /sbin/alternatives --display gcc gcc - status is manual. link currently points to /usr/bin/gcc-4.0.2 /usr/bin/gcc-3.3.6 - priority 30 slave c99: /usr/bin/c99-3.3.6 slave cc: /usr/bin/gcc-3.3.6 slave i386-vine-linux-gcc: /usr/bin/i386-vine-linux-gcc-3.3.6 slave c89: /usr/bin/c89-3.3.6 /usr/bin/gcc-2.95.3 - priority 15 slave cc: /usr/bin/gcc-2.95.3 /usr/bin/gcc-4.0.2 - priority 20 slave c99: /usr/bin/c99-4.0.2 slave cc: /usr/bin/gcc-4.0.2 slave i386-vine-linux-gcc: /usr/bin/i386-vine-linux-gcc-4.0.2 slave c89: /usr/bin/c89-4.0.2 Current `best' version is /usr/bin/gcc-3.3.6.
自分で選択したので一行目が status is manual となりました。
二行目で link currently points to /usr/bin/gcc-4.0.2 となっていることが確認できます。
IV.28.3.3.2. 全ての総称名について対話的に切り替える
--all とすると、すべての 総称名 について順に --config で設定できます。
$ sudo /sbin/alternatives --all
Enter だけ入力していけば、何も変更せずに終了できるので、どんな 総称名 と選択候補 があるのか確認することもできます。
IV.28.3.3.3. 直接指定して切り替える
対話的に決定するのではなく、直接指定するには --set というオプションを用います。
$ sudo /sbin/alternatives --set 総称名 選択候補
$ sudo /sbin/alternatives --set gcc /usr/bin/gcc-4.0.2 Using `/usr/bin/gcc-4.0.2' to provide `gcc'.
と表示され /usr/bin/gcc-4.0.2 が選択されたことがわかります。
IV.28.3.3.4. automatic modeに戻す
manual( mode) から auto(matic mode) に戻すには --auto というオプションを用います。
$ sudo /sbin/alternatives --auto 総称名
$ sudo /sbin/alternatives --auto gcc
特に何も表示されません。
--verbose オプションを使うと次のように表示されます。
$ sudo /sbin/alternatives --verbose --auto gcc Setting up automatic selection of gcc. Checking available versions of gcc, updating links in /etc/alternatives ... (You may modify the symlinks there yourself if desired - see `man ln'.) Updating gcc (/usr/bin/gcc) to point to /usr/bin/gcc-3.3.6. Updating c99 (/usr/bin/c99) to point to /usr/bin/c99-3.3.6. Updating cc (/usr/bin/cc) to point to /usr/bin/gcc-3.3.6. Updating i386-vine-linux-gcc (/usr/bin/i386-vine-linux-gcc) to point to /usr/bin/i386-vine-linux-gcc-3.3.6. Updating c89 (/usr/bin/c89) to point to /usr/bin/c89-3.3.6.
IV.28.4. 登録と削除
rpmパッケージであらかじめ設定されているものではなく、自分で 総称名 や 選択候補 を作成することもできます。
登録には --install というオプションを、削除には --remove というオプションを用います。
Editor という 総称名 で jed や vi や emacs を登録してみます。
IV.28.4.1. 登録する
登録には --install というオプションを用います。
$ sudo /sbin/alternatives --install リンク名 総称名 選択候補 優先度
すでに同じ総称名で選択候補が登録されていた場合、選択候補が追加されることになります。
優先度か候補を選択することによって、どの候補が用いられるかが決まるので、登録する順番は影響を与えません。
- IV.28.4.1.1. /usr/bin/editor を作成する
- IV.28.4.1.2. スレーブリンクも登録する
IV.28.4.1.1. /usr/bin/editor を作成する
Editor という 総称名 で jed や vi や emacs を登録してみます。
IV.28.4.1.1.1. 登録前の準備
jed や vi や emacs は jed , vim , emacs というrpmパッケージに含まれています。必要であればインストールしてください。
$ sudo apt-get install jed vim emacs
総称名を Editor3、リンク名は /usr/bin/editor にします。
選択候補を調べます。コマンドがどこにあるかは、which や whereis や type といったコマンドで確認できます。
それぞれの使い方は man which や man whereis や man bash 確認してください。type は単独のコマンドファイルではなく bash に組み込まれているものなので man type ではなく、man bash になります。
この場合はman page(マニュアルページファイル) の場所もわかる whereis が適しています。
$ whereis jed vi emacs jed: /usr/bin/jed /usr/lib/jed /usr/share/man/man1/jed.1.gz vi: /bin/vi /usr/share/man/man1p/vi.1p.gz emacs: /usr/bin/emacs /usr/lib/emacs /usr/share/emacs
選択候補は /usr/bin/jed , /bin/vi , /usr/bin/emacs になります。
また、emacs は man page がありませんが、jed と vi は /usr/share/man/man1/jed.1.gz , /usr/share/man/man1p/vi.1p.gz に man page があることがわかりました。
jed と vi の man page は
$ rpm -qf /usr/share/man/man1/jed.1.gz /usr/share/man/man1p/vi.1p.gz jed-common-0.99.14-0vl6 man-pages-2.21-1vl2
優先度は /usr/bin/jed を 30、/bin/vi を 20、/usr/bin/emacs を 10 とします。
整理すると表 IV.28-2のようになります。
IV.28.4.1.1.2. 実際に登録する
ここでは、コマンドだけを登録してみます。
jed を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/jed 30
vi を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /bin/vi 20
emacs を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/emacs 10
これで、Editor として jed vi emacs を登録できました。
--display オプションで確認してみます。
$ /sbin/alternatives --display Editor Editor -ステータスは自動です。 リンクは現在 /usr/bin/jed を指しています。 /usr/bin/jed - 優先項目 30 /bin/vi - 優先項目 20 /usr/bin/emacs - 優先項目 10 現在の「最適」バージョンは /usr/bin/jed です。
IV.28.4.1.2. スレーブリンクも登録する
一つだけではなく、他のものも登録するには --install と一緒に --slave というオプションを用います。
--slave にも --install の時と同じように リンク名 と 総称名 と 選択候補 が必要になります。
$ sudo /sbin/alternatives --install リンク名1 総称名1 選択候補1 優先度1 \4 --slave リンク名2 総称名2 選択候補2
--slave オプションは複数回利用できます。
$ sudo /sbin/alternatives --install リンク名1 総称名1 選択候補1 優先度1 \ --slave リンク名2 総称名2 選択候補2 \ --slave リンク名3 総称名3 選択候補3
- IV.28.4.1.2.1. 登録前の準備 (スレーブリンク)
- IV.28.4.1.2.2. --slave オプションも利用して登録する
IV.28.4.1.2.1. 登録前の準備 (スレーブリンク)
man pageも登録してみます。
総称名は editor_man とします。
man page の場所は、表 IV.28-2 のように jed が /usr/share/man/man1/jed.1.gz 、vi が /usr/share/man/man1p/vi.1p.gz となっています。
man page がおかれる /usr/share/man/ 以下は、セクションという分類があるので、リンク名2 もそれぞれ同じディレクトリに作ることにします。
リンク名 | 選択候補 |
---|---|
/usr/share/man/man1/editor.1.gz | /usr/share/man/man1/jed.1.gz |
/usr/share/man/man1p/editor.1.gz | /usr/share/man/man1p/vi.1p.gz |
/usr/share/man/man1/editor.1.gz と /usr/share/man/man1p/editor.1.gz というファイルが無いということを確認しておきます。
$ stat /usr/share/man/man1/editor.1.gz /usr/share/man/man1p/editor.1.gz stat: `/usr/share/man/man1/editor.1.gz' の情報を取得できません: そのようなファイルやディレクトリはありません stat: `/usr/share/man/man1p/editor.1.gz' の情報を取得できません: そのようなファイルやディレクトリはありません
IV.28.4.1.2.2. --slave オプションも利用して登録する
実際に登録してみます。
jed を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/jed 30 \ --slave /usr/share/man/man1/editor.1.gz editor-man /usr/share/man/man1/jed.1.gz
vi を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /bin/vi 20 \ --slave /usr/share/man/man1p/editor.1.gz editor-man /usr/share/man/man1p/vi.1p.gz
emacs を登録します。
$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/emacs 10
IV.28.4.2. 選択候補を削除する
選択候補を削除するには、--remove というオプションを用います。
総称名と選択候補を指定して、選択候補を一つ削除します。
全ての選択候補が無くなる時には総称名も削除されます。
manual( mode)の時に、選択されていた選択候補が削除されると auto(matic mode)に変更されます。
$ sudo /sbin/alternatives --remove 総称名 選択候補
選択候補は、--display オプションで確認できます。
- IV.28.4.2.1. 総称名 Editor から選択候補 /usr/bin/emacs を削除する
IV.28.4.2.1. 総称名 Editor から選択候補 /usr/bin/emacs を削除する
--display オプションで選択候補を確認しておきます。
$ /sbin/alternatives --display Editor Editor -ステータスは自動です。 リンクは現在 /usr/bin/jed を指しています。 /usr/bin/jed - 優先項目 30 スレーブ editor-man: /usr/share/man/man1/jed.1.gz /bin/vi - 優先項目 20 スレーブ editor-man: (null) /usr/bin/emacs - 優先項目 10 スレーブ editor-man: (null) 現在の「最適」バージョンは /usr/bin/jed です。
総称名 Editor から 選択候補 /usr/bin/emacs を削除します。
$ sudo /sbin/alternatives --remove Editor /usr/bin/emacs
sudo のパスワード入力プロンプト以外には何も表示されません。
手動で選択されていた選択候補が削除された場合には、自動で優先度の高い選択候補に変更されます。
IV.28.5. alternatives で切り替えられるものが含まれているrpmパッケージ
alternatives で切り替えできるものの 総称名(generic name) と rpmパッケージ名 を挙げておきます。5
総称名 | rpmパッケージ名 |
---|---|
apache2 | apache2 |
emacs | emacs,emacs22,xemacs |
cpp | gcc-cpp,gcc4-cpp,gcc295-cpp |
g77 | gcc-g77,gcc295-g77 |
gfortran | gcc4-gfortran |
gcc | gcc,gcc4,gcc295 |
g++ | gcc-c++,gcc4-c++,gcc295-c++ |
gcj | gcc-java,gcc4-java,gcc295-java |
gij | libgcj,libgcj34 |
pear | php-pear,php5-pear |
php | php,php5 |
cups,LPRng | |
vi | vim,vim-tiny,vim-huge,vim-X11,jvim |
totem | totem-gstreamer,totem-xine |
コマンド入力で一行の文字数が多く途中で改行したい時には \Enter を使います。通常Enterを押すと、コマンドの入力が終わったものとして解釈されますが、\Enter とするとただの改行として扱われ、次の行に続きを入力できます。\ のような記号は、エスケープシーケンス(escape sequence)と呼ばれ、特殊な意味を持つ記号などを単なる文字として扱う場合に利用されます。