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
轉載於:www.jianshu.com/p/4d27fa2dce86
本作品採用《CC 協議》,轉載必須註明作者和本文連結