Ubuntu通過apt-get安裝指定版本和查詢指定軟件有多少個版本


一、通過apt-get安裝指定版本

apt-get install <<package name>>=<<version>>

二、查詢指定軟件有多少個版本

說明:在Linux用這個查詢並不能完全的把所有版本都列舉出來,因為每個版本都與系統版本和CPU架構有關,比如一個軟件支持Ubuntu系統的16.04的CPU架構為amd64的版本只有1.0和1.2,其余都不支持,所以列舉時就只有兩款。

列舉版本列表:

0、通過網站搜索:

https://packages.ubuntu.com/

1、

apt-cache madison <<package name>>

將列出所有來源的版本。如下輸出所示:

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madison是一個apt-cache子命令,可以通過man apt-cache查詢更多用法。

2、

apt-cache policy <<package name>>

將列出所有來源的版本。信息會比上面詳細一點,如下輸出所示:

apt-cache policy gdb
gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

policy是一個apt-cache子命令,可以通過man apt-cache查詢更多用法。

3、

apt-cache showpkg <<package name>>

4、

apt-get install -s <<package-name>>

說明:這個命令只是模擬安裝時會安裝哪些軟件列表,但不會例舉出每個軟件有多少個版本

5、

aptitude versions <<package name>>

參考:https://manpages.debian.org/unstable/aptitude/aptitude.8.en.html

6、

apt-show-versions -a <<package name>>

說明:列舉出所有版本,且能查看是否已經安裝。還可以通過apt-show-versions -u <<package name>>來查詢是否有升級版本。

參考:http://manpages.ubuntu.com/manpages/trusty/man1/apt-show-versions.1p.html

7、

whohas -d Debian,Ubuntu <<package name>> | tr -s ' ' '\t' | cut -f 1-3 | column -t

8、

rmadison -u debian,ubuntu,bpo <<package name>> | cut -d "|" -f 1-3

單個詳情:

1、

apt-cache show <<package name>>

說明:查詢指定包的詳情,不管是否已經安裝。

2、

dpkg -l <<package name>>

說明:效果和上面基本一致,但是結果是列表詳情展示,會提示是否已經刪除了之后還有依賴包沒有刪除等。

3、

dpkg -s <<package name>>

說明:必須是安裝的包才能顯示詳情。

4、

dpkg-query -s <<package name>>

說明:同上,效果一致。

使用技巧:

1、可以在查詢后面帶上一些參數來實現篩選

apt-cache show package | grep Version
apt-show-versions | more

 

參考:

http://wiki.ubuntu.org.cn/Apt%E5%92%8Cdpkg%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83(apt-get常用語法)

https://superuser.com/questions/393681/how-to-find-out-which-versions-of-a-package-can-i-install-on-apt

https://stackoverflow.com/questions/18885820/how-to-check-the-version-before-install-packages-using-apt-get

https://askubuntu.com/questions/340530/how-can-i-check-the-available-version-of-a-package-in-the-repositories

https://serverfault.com/questions/108080/ubuntu-debian-show-list-of-available-versions-of-a-specific-package

https://askubuntu.com/questions/473886/list-all-versions-of-a-package

https://askubuntu.com/questions/447/how-can-i-see-all-versions-of-a-package-that-are-available-in-the-archive

http://www.wkii.org/view-package-version-ubuntu.html


免責聲明!

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



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