2013-10-02

Ubuntu 查詢 PPA 上的軟體版本 (套件版本)

雖然,Ubuntu 在眾多的 Linux 發行版本中,在軟體更新的部份,已經算是更新比較快,並且,是比較願意採用較新版本的了,不過,就阿舍的使用經驗來說,其實,還是滿有機會遇到 Ubuntu 官方的 PPA 所提供的軟體版本是比較舊的,還有,就是每個 Ubuntu 版本所提供的軟體版本也會不同,因此,阿舍就想要在安裝前,先瞭解一下官方 PPA 上的軟體版本資訊,然後,再來決定要不要手動安裝新版軟體哩 !

用 apt-cache policy 查套件版本號碼


阿舍研究了一下,原來,要查詢 PPA 上的軟體版本,是要用 apt-cache 這個指令來查的哩 ! 以下面這行指令為例,阿舍用來查詢 node.js 的版本,在執行後,就會出現如上圖一樣的內容,然後,就可以從「候選」和「版本列表」中查到可安裝的軟體版本哩 !

apt-cache policy nodejs

不過,如果阿舍把上面這一行換成查詢 MongoDB 的話( 如下圖) ,結果,就會出現阿舍看不懂的版本資訊哩 ! 因為 MongoDB 目前的版本應該是 2.x.x 才對,可是,阿舍查出來的訊息卻是「1:2.2.4-0ubuntu1」,阿舍一看到這樣的版本號碼,一開始以為這是 Ubuntu 自己的版本編號,所以,就認為這個 apt-cache 的 policy 參數在某些軟體上會查不出來哩 ! .... 其實,是阿舍不懂哩 ! .... 呵呵 ~~

Ubuntu 的套件版本號碼格式
這個「1:2.2.4-0ubuntu1」是 Ubuntu 套件的版本編號格式沒錯 (有關格式的說明,阿舍再另外找時間來寫一篇說明哩 ! ),但是,也是看的出來軟體版本的,以阿舍查的 MongoDB 為例,出現的「1:2.2.4-0ubuntu1」這個版本號碼是可以從「2.2.4」這個數字看出來 Ubuntu 的 PPA 上的 MongoDB 版本號哩 ! 也就是說,可以從「1:」和「-」之間來看出套件的版本號碼哩 ! 所以,是阿舍誤會了哩 !

另外,除了「apt-cache policy」指令之外,還有一個「apt-cache show」的指令也可以用來查還沒安裝的軟體版本,以阿舍剛剛查的 node.js 為例,可以用下面的指令來查詢,這個指令會出更多的軟體資訊,而要查版本的話,就可以只看「Version」這個欄位就可以了,不過,查出來的版本編號方式是和「apt-cache policy」一樣的哩 !

apt-cache show nodejs
apt-cache show nodejs | grep Version ( 只顯示版本號碼)

用 apt-cache show 也查的到版本號碼

參考資訊:
http://www.ducea.com/2006/06/17/ubuntu-package-version-naming-explanation/
http://unix.stackexchange.com/questions/6284/check-package-version-using-apt-get-aptitude

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁