Ubuntuでは、udate-alternativeのコンフィギュレーションソフトウェアの多バージョンを採用しています。
4201 ワード
オリジナル-転載は明記してください。http://tramp.cincout.cn/2017/09/27/linux-2017-09-27-debian-update-alternatives/
要約
紹介を命じる
基本的なコマンド形式
コマンドの基本書式: linkシステムでは同じ機能のソフトの共通リンクディレクトリです。たとえば nameコマンドコネクタ pathは、 などのリンクされたソフトウェアのディレクトリを必要とする。プリオリティ優先度は、数値が大きいほど優先度が高いです。 を自動的に選択する。 slaave コマンドを表示
ディsplay
configコマンド
removeコマンド
autコマンド
締め括りをつける
参照 udate-alternative Linux命令大全 Linux教程
要約
Debian
システムでは、例えばUbuntu
には、1つのソフトウェアが複数のバージョンまたはカテゴリをインストールする必要があり、使用時に便利な切り替えができる。update-alternatives
は、システムコマンド接続子をDebian
システムで維持するためのツールである。一定の設定により、最新のソフトウェアバージョンまたは最適なソフトウェアカテゴリを自動的に選択することができます。例えば、メンテナンスシステムの複数のJDK
のバージョン。メンテナンスeditor
コマンドに対応する編集ツールはvim
またはemacs
です。紹介を命じる
基本的なコマンド形式
Ubuntu
の端末にman update-alternatives
を入力すると、このコマンドの詳細な使用情報が確認されます。コマンドの基本書式:
update-alternatives [option...] command
installコマンドinstall
コマンドは、新しいシステムコマンドコネクタのセットを追加するために使用されます。update-alternatives --install link name path priority [--slave link name path]...
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk-9/bin/java 1702
/usr/bin/java
alternatives
ディレクトリの名前/usr/local/java/jdk-9/bin/java
alternative
がauto
モードであるとき、システムは、優先度の高いソフトウェアslave
によって作成されたリンクは、ある主リンクに属する。ディsplay
update-alternatives --display name
は、あるname
の含むリンクの詳細情報を示すために使用される。モード、優先度、および現在の最適なソフトウェアバージョンが含まれます。~$ update-alternatives --display java
java - manual mode
link currently points to /usr/local/java/jdk1.8.0_111/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1071
slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
/usr/local/java/jdk-9/bin/java - priority 1074
/usr/local/java/jdk1.7.0_79/bin/java - priority 1072
/usr/local/java/jdk1.8.0_111/bin/java - priority 1073
Current 'best' version is '/usr/local/java/jdk-9/bin/java'.
update-alternatives --query
はより友好的な形式で見られます。update-alternatives --list
は、より簡潔な情報を示す。configコマンド
config
コマンドにより、相互作用の形でソフトウェアの切り替えができます。~$ sudo update-alternatives --config java
[sudo] password for zhaoyu:
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/local/java/jdk-9/bin/java 1074 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
2 /usr/local/java/jdk-9/bin/java 1074 manual mode
3 /usr/local/java/jdk1.7.0_79/bin/java 1072 manual mode
* 4 /usr/local/java/jdk1.8.0_111/bin/java 1073 manual mode
Press enter to keep the current choice[*], or type selection number:
上記のモードで、私達が切り替えたいソフトウェア番号を入力すればいいです。removeコマンド
update-alternatives --remove name path
コマンドは、指定されたname
のいずれかのソフトウェアバージョンを除去するために使用されてもよい。たとえば:sudo update-alternatives --remove java /usr/local/java/jdk1.6.0_45/bin/java
-- remove-all name
は、あるname
の下のすべてのソフトウェアを除去するために使用されてもよい。autコマンド
update-alternatives --auto name
コマンドは、あるname
のソフトウェア管理モードを自動的に設定するために使用することができる。設定が完了すると、priority
に従ってバージョンの高いソフトウェアが選択されます。締め括りをつける
update-alternatives
コマンドは、JDK
のバージョン管理を容易にするために使用され、java javac javap jar
などのコマンドを含めて構成されてもよい。以下のとおりですsudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.7.0_80/bin/javac 300
この方法を用いてJDK
を管理する場合、$JAVA_HOME PATH
の構成に注意する必要がある。# java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_111
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
まず$PATH
を検索します。$JAVA_HOME
に対応する経路ではありません。(PATH=JAVAN HOME/bin)。参照