update-alternatives 使用詳解


update-alternatives 命令用於處理 Linux 系統中軟件版本的切換,使其多版本共存。alternatives 的管理目錄 /etc/alternatives

alternatives 管理方式

$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 24 1120  2017 /usr/bin/python -> /etc/alternatives/python
$ ls -l /etc/alternatives/python
lrwxrwxrwx 1 root root 18 1121  2017 /etc/alternatives/python -> /usr/bin/python2.7

python 這個可執行命令實際是一個鏈接,指向了 /etc/alternatives/python 。而這個也是一個鏈接,指向了 /usr/bin/python2.7 ,這才是最終的可執行文件。alternatives 實際上是通過軟鏈接的方式對版本進行管理。
語法:

$ update-alternatives --help
用法:update-alternatives [<選項> ...] <命令>

命令:
  --install <鏈接> <名稱> <路徑> <優先級>
    [--slave <鏈接> <名稱> <路徑>] ...
                           在系統中加入一組候選項。
  --remove <名稱> <路徑>   從 <名稱> 替換組中去除 <路徑> 項。
  --remove-all <名稱>      從替換系統中刪除 <名稱> 替換組。
  --auto <名稱>            將 <名稱> 的主鏈接切換到自動模式。
  --display <名稱>         顯示關於 <名稱> 替換組的信息。
  --query <名稱>           機器可讀版的 --display <名稱>.
  --list <名稱>            列出 <名稱> 替換組中所有的可用候選項。
  --get-selections         列出主要候選項名稱以及它們的狀態。
  --set-selections         從標准輸入中讀入候選項的狀態。
  --config <名稱>          列出 <名稱> 替換組中的可選項,並就使用其中哪一個,征詢用戶的意見。
  --set <名稱> <路徑>      將 <路徑> 設置為 <名稱> 的候選項。
  --all                    對所有可選項一一調用 --config 命令。

<鏈接> 是指向 /etc/alternatives/<名稱> 的符號鏈接。(如 /usr/bin/pager)
<名稱> 是該鏈接替換組的主控名。(如 pager)
<路徑> 是候選項目標文件的位置。(如 /usr/bin/less)
<優先級> 是一個整數,在自動模式下,這個數字越高的選項,其優先級也就越高。
..........

實例

  • display 參數顯示關於 Python 替換組的信息
$ update-alternatives --display python 
python - 手動模式
link best version is /usr/bin/python3.5
鏈接目前指向 /usr/bin/python2.7
link python is /usr/bin/python
/usr/bin/python2.7 - 優先級 1
/usr/bin/python3.5 - 優先級 2
  • 選擇候選項
$ update-alternatives --config python    

  • install 參數用於添加一個命令的link值
# 添加 python link
$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
# 第一個參數: --install 表示向update-alternatives注冊服務名。
# 第二個參數: 注冊最終地址,成功后將會把命令在這個固定的目的地址做真實命令的軟鏈,以后管理就是管理這個軟鏈;
# 第三個參數: 服務名,以后管理時以它為關聯依據。
# 第四個參數: 被管理的命令絕對路徑。
# 第五個參數: 優先級,數字越大優先級越高。

-remove 參數用於刪除一個命令的link值,其附帶的slave也將一起刪除

$ update-alternatives –remove python /usr/bin/python2.7

轉載於:https://www.jianshu.com/p/4d27fa2dce86


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM