Changes between Initial Version and Version 1 of docs/vl7/cui-guide/alternatives/regist-delete


Ignore:
Timestamp:
2013/08/11 07:13:56 (11 years ago)
Author:
yasumichi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • docs/vl7/cui-guide/alternatives/regist-delete

    v1 v1  
     1[wiki:docs Vine Linux ドキュメント] / [wiki:../../../ Vine Linux 7.x] / [wiki:../../ CUI ユーザーズガイド] / [wiki:../ alternatives による標準コマンドの切り替え] / 登録と削除 
     2 
     3= 登録と削除 = 
     4 
     5rpmパッケージであらかじめ設定されているものではなく、自分で 総称名 や 選択候補 を作成することもできます。 
     6 
     7登録には --install というオプションを、削除には --remove というオプションを用います。 
     8 
     9Editor という 総称名 で jed や vi や emacs を登録してみます。 
     10 
     11== 登録 == 
     12 
     13登録には --install というオプションを用います。 
     14 
     15{{{ 
     16#!sh 
     17$ sudo /sbin/alternatives --install リンク名 総称名 選択候補 優先度 
     18}}} 
     19 
     20すでに同じ総称名で選択候補が登録されていた場合、選択候補が追加されることになります。 
     21 
     22優先度か候補を選択することによって、どの候補が用いられるかが決まるので、登録する順番は影響を与えません。 
     23 
     24=== /usr/bin/editor を作成する === 
     25 
     26Editor という 総称名 で jed や vi や emacs を登録してみます。 
     27 
     28==== 登録前の準備 ==== 
     29 
     30jed や vi や emacs は jed 、 vim 、 emacs というrpmパッケージに含まれています。必要であればインストールしてください。 
     31 
     32{{{ 
     33#!sh 
     34$ sudo apt-get install jed vim emacs 
     35}}} 
     36 
     37総称名を Editor[[FootNote(説明の中で総称名とリンク名を区別しやすくするためにここでは Editor としておきますが、総称名とリンク名を同じものにするほうが一般的かもしれません。)]]、リンク名は /usr/bin/editor にします。 
     38 
     39選択候補を調べます。コマンドがどこにあるかは、which や whereis や type といったコマンドで確認できます。 
     40 
     41{{{ 
     42#!Admonition 
     43それぞれの使い方は man which や man whereis や man bash 確認してください。type は単独のコマンドファイルではなく bash に組み込まれているものなので man type ではなく、man bash になります。 
     44}}} 
     45 
     46この場合はman page(マニュアルページファイル) の場所もわかる whereis が適しています。 
     47 
     48{{{ 
     49#!sh 
     50$ whereis jed vi emacs 
     51jed: /usr/bin/jed /usr/lib/jed /usr/share/man/man1/jed.1.gz 
     52vi: /bin/vi /usr/share/man/man1p/vi.1p.gz 
     53emacs: /usr/bin/emacs /usr/lib/emacs /usr/share/emacs 
     54}}} 
     55 
     56選択候補は /usr/bin/jed 、 /bin/vi 、 /usr/bin/emacs になります。 
     57 
     58また、emacs は man page がありませんが、jed と vi は /usr/share/man/man1/jed.1.gz , /usr/share/man/man1p/vi.1p.gz に man page があることがわかりました。 
     59 
     60jed と vi の man page は 
     61 
     62{{{ 
     63#!sh 
     64$ rpm -qf /usr/share/man/man1/jed.1.gz /usr/share/man/man1p/vi.1p.gz 
     65jed-common-0.99.14-0vl6 
     66man-pages-2.21-1vl2 
     67}}} 
     68 
     69jed-common と man-pages のrpmパッケージに含まれています。 
     70 
     71優先度は /usr/bin/jed を 30、/bin/vi を 20、/usr/bin/emacs を 10 とします。 
     72 
     73整理すると表のようになります。 
     74 
     75||=  選択候補  =||=  優先度  =||=  man page  =|| 
     76||/usr/bin/jed  ||30||/usr/share/man/man1/jed.1.gz|| 
     77||/bin/vi       ||20||/usr/share/man/man1p/vi.1p.gz|| 
     78||/usr/bin/emacs||10||無し|| 
     79 
     80==== 実際に登録する ==== 
     81 
     82ここでは、コマンドだけを登録してみます。 
     83 
     84jed を登録します。 
     85 
     86{{{ 
     87#!sh 
     88$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/jed 30 
     89}}} 
     90 
     91vi を登録します。 
     92 
     93{{{ 
     94#!sh 
     95$ sudo /sbin/alternatives --install /usr/bin/editor Editor /bin/vi 20 
     96}}} 
     97 
     98emacs を登録します。 
     99 
     100{{{ 
     101#!sh 
     102$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/emacs 10 
     103}}} 
     104 
     105これで、Editor として jed vi emacs を登録できました。 
     106 
     107--display オプションで確認してみます。 
     108 
     109{{{ 
     110#!sh 
     111$ /sbin/alternatives --display Editor 
     112Editor -ステータスは自動です。 
     113リンクは現在 /usr/bin/jed を指しています。 
     114/usr/bin/jed - 優先項目 30 
     115/bin/vi - 優先項目 20 
     116/usr/bin/emacs - 優先項目 10 
     117現在の「最適」バージョンは /usr/bin/jed です。 
     118}}} 
     119 
     120=== スレーブリンクの登録 === 
     121 
     122一つだけではなく、他のものも登録するには --install と一緒に --slave というオプションを用います。 
     123 
     124--slave にも --install の時と同じように リンク名 と 総称名 と 選択候補 が必要になります。 
     125 
     126{{{ 
     127#!sh 
     128$ sudo /sbin/alternatives --install リンク名1 総称名1 選択候補1 優先度1 \ 
     129--slave リンク名2 総称名2 選択候補2 
     130}}} 
     131 
     132--slave オプションは複数回利用できます。 
     133 
     134{{{ 
     135#!sh 
     136$ sudo /sbin/alternatives --install リンク名1 総称名1 選択候補1 優先度1 \ 
     137--slave リンク名2 総称名2 選択候補2 \ 
     138--slave リンク名3 総称名3 選択候補3 
     139}}} 
     140 
     141==== 登録前の準備 ==== 
     142 
     143man pageも登録してみます。 
     144 
     145総称名は editor_man とします。 
     146 
     147man page の場所は、jed が /usr/share/man/man1/jed.1.gz 、vi が /usr/share/man/man1p/vi.1p.gz となっています。 
     148 
     149man page がおかれる /usr/share/man/ 以下は、セクションという分類があるので、リンク名2 もそれぞれ同じディレクトリに作ることにします。 
     150 
     151||=  リンク名  =||=  選択候補  =|| 
     152||/usr/share/man/man1/editor.1.gz||/usr/share/man/man1/jed.1.gz|| 
     153||/usr/share/man/man1p/editor.1.gz||/usr/share/man/man1p/vi.1p.gz|| 
     154 
     155/usr/share/man/man1/editor.1.gz と /usr/share/man/man1p/editor.1.gz というファイルが無いということを確認しておきます。 
     156 
     157{{{ 
     158#!sh 
     159$ stat /usr/share/man/man1/editor.1.gz /usr/share/man/man1p/editor.1.gz 
     160stat: `/usr/share/man/man1/editor.1.gz' の情報を取得できません: そのようなファイルやディレクトリはありません 
     161stat: `/usr/share/man/man1p/editor.1.gz' の情報を取得できません: そのようなファイルやディレクトリはありません 
     162}}} 
     163 
     164==== --slave オプションも利用して登録する ==== 
     165 
     166実際に登録してみます。 
     167 
     168jed を登録します。 
     169 
     170{{{ 
     171#!sh 
     172$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/jed 30 \ 
     173--slave /usr/share/man/man1/editor.1.gz editor-man /usr/share/man/man1/jed.1.gz 
     174}}} 
     175 
     176vi を登録します。 
     177 
     178{{{ 
     179#!sh 
     180$ sudo /sbin/alternatives --install /usr/bin/editor Editor /bin/vi 20 \ 
     181--slave /usr/share/man/man1p/editor.1.gz editor-man /usr/share/man/man1p/vi.1p.gz 
     182}}} 
     183 
     184emacs を登録します。 
     185 
     186{{{ 
     187#!sh 
     188$ sudo /sbin/alternatives --install /usr/bin/editor Editor /usr/bin/emacs 10 
     189}}} 
     190 
     191== 選択候補の削除 == 
     192 
     193選択候補を削除するには、--remove というオプションを用います。 
     194 
     195総称名と選択候補を指定して、選択候補を一つ削除します。 
     196 
     197全ての選択候補が無くなる時には総称名も削除されます。 
     198 
     199manual( mode)の時に、選択されていた選択候補が削除されると auto(matic mode)に変更されます。 
     200 
     201{{{ 
     202#!sh 
     203$ sudo /sbin/alternatives --remove 総称名 選択候補 
     204}}} 
     205 
     206選択候補は、--display オプションで確認できます。 
     207 
     208=== 総称名 Editor から選択候補 /usr/bin/emacs を削除する === 
     209 
     210--display オプションで選択候補を確認しておきます。 
     211 
     212{{{ 
     213#!sh 
     214$ /sbin/alternatives --display Editor 
     215Editor -ステータスは自動です。 
     216リンクは現在 /usr/bin/jed を指しています。 
     217/usr/bin/jed - 優先項目 30 
     218 スレーブ editor-man: /usr/share/man/man1/jed.1.gz 
     219/bin/vi - 優先項目 20 
     220 スレーブ editor-man: (null) 
     221/usr/bin/emacs - 優先項目 10 
     222 スレーブ editor-man: (null) 
     223現在の「最適」バージョンは /usr/bin/jed です。 
     224}}} 
     225 
     226総称名 Editor から 選択候補 /usr/bin/emacs を削除します。 
     227 
     228{{{ 
     229#!sh 
     230$ sudo /sbin/alternatives --remove Editor /usr/bin/emacs 
     231}}} 
     232 
     233sudo のパスワード入力プロンプト以外には何も表示されません。 
     234 
     235手動で選択されていた選択候補が削除された場合には、自動で優先度の高い選択候補に変更されます。