首頁 > 軟體

如何在 Linux 上檢查一個軟體包的詳細資訊

2020-06-16 16:46:12

我們可以就這個已經被廣泛討論的話題寫出大量的文章,大多數情況下,因為各種各樣的原因,我們都願意讓包管理器package manager來幫我們做這些事情。

每個 Linux 發行版都有自己的包管理器,並且每個都有各自有不同的特性,這些特性包括允許使用者執行安裝新軟體包,刪除無用的軟體包,更新現存的軟體包,搜尋某些具體的軟體包,以及更新整個系統到其最新的狀態之類的操作。

習慣於命令列的使用者大多數時間都會使用基於命令列方式的包管理器。對於 Linux 而言,這些基於命令列的包管理器有 yumdnfrpmaptapt-getdpkgpacmanzypper

作為一個系統管理員你應該清楚地知道:安裝包來自何方,具體來自哪個軟體倉庫,包的具體版本,包的大小,版本,包的原始碼 URL,包的許可證資訊,等等。

這篇短文將用盡可能簡單的方式幫你從隨包自帶的總結和描述中了解該包的用法。按你所使用的 Linux 發行版的不同,執行下面相應的命令,你能得到你所使用的發行版下的包的詳細資訊。

 

YUM 命令:在 RHEL 和 CentOS 系統上獲得包的資訊

YUM 英文直譯是“黃狗更新器–修改版Yellowdog Updater, Modified”,它是一個開源的基於命令列的包管理器前端實用工具。它被廣泛應用在基於 RPM 的系統上,例如:RHEL 和 CentOS。

Yum 是用於在官方發行版倉庫以及其他第三方發行版倉庫下獲取、安裝、刪除、查詢 RPM 包的主要工具。

(LCTT 譯註:用 yum info 獲取 python 包的資訊)

  1. #yuminfo python
  2. Loaded plugins: fastestmirror, security
  3. Loading mirror speeds from cached hostfile
  4. * epel: epel.mirror.constant.com
  5. InstalledPackages
  6. Name: python
  7. Arch: x86_64
  8. Version:2.6.6
  9. Release:66.el6_8
  10. Size:78 k
  11. Repo: installed
  12. From repo : updates
  13. Summary:An interpreted, interactive, object-oriented programming language
  14. URL : http://www.python.org/
  15. License:Python
  16. Description:Pythonis an interpreted, interactive, object-oriented programming
  17. : language often compared to Tcl,Perl,SchemeorJava.Python includes
  18. : modules, classes, exceptions, very high level dynamic data types and
  19. : dynamic typing.Python supports interfaces to many system calls and
  20. : libraries,as well as to various windowing systems (X11,Motif,Tk,
  21. :Macand MFC).
  22. :
  23. :Programmers can writenew built-in modules forPythonin C or C++.
  24. :Python can be used as an extension language for applications that need
  25. : a programmable interface.
  26. :
  27. :Note that documentation forPythonis provided in the python-docs
  28. :package.
  29. :
  30. :Thispackage provides the "python" executable; most of the actual
  31. : implementation is within the "python-libs"package.

 

YUMDB 命令:檢視 RHEL 和 CentOS 系統上的包資訊

yumdb info 這個命令提供與 yum info 相類似的的資訊,不過它還額外提供了諸如包校驗值、包型別、使用者資訊(由何人安裝)。從 yum 3.2.26 版本後,yum 開始在 rpm 資料庫外儲存額外的資訊了(此處如顯示 user 表明該包由使用者安裝,而 dep 說明該包是被作為被依賴的包而被安裝的)。

(LCTT 譯註:用 yumdb info 來獲取 python 包的資訊)

  1. # yumdb info python
  2. Loaded plugins: fastestmirror
  3. python-2.6.6-66.el6_8.x86_64
  4. changed_by =4294967295
  5. checksum_data =53c75a1756e5b4f6564c5229a37948c9b4561e0bf58076bd7dab7aff85a417f2
  6. checksum_type = sha256
  7. command_line = update -y
  8. from_repo = updates
  9. from_repo_revision =1488370672
  10. from_repo_timestamp =1488371100
  11. installed_by =4294967295
  12. reason = dep
  13. releasever =6

 

RPM 命令:在 RHEL/CentOS/Fedora 系統上檢視包的資訊

RPM 英文直譯為“紅帽包管理器Red Hat Package Manager”,這是一個在 RedHat 以及其變種發行版(如RHEL、CentOS、Fedora、openSUSE、Megeia)下的功能強大的命令列包管理工具。它能讓你輕鬆的安裝、升級、刪除、查詢以及校驗你的系統或伺服器上的軟體。RPM 檔案以 .rpm 結尾。RPM 包由它所依賴的軟體庫以及其他依賴構成,它不會與系統上已經安裝的包衝突。

(LCTT 譯註:用 rpm -qi 查詢 nano 包的具體資訊)

  1. # rpm -qi nano
  2. Name:nanoRelocations:(not relocatable)
  3. Version:2.0.9Vendor:CentOS
  4. Release:7.el6BuildDate:Fri12Nov201002:18:36 AM EST
  5. InstallDate:Fri03Mar201708:57:47 AM EST BuildHost: c5b2.bsys.dev.centos.org
  6. Group:Applications/EditorsSource RPM:nano-2.0.9-7.el6.src.rpm
  7. Size:1588347License:GPLv3+
  8. Signature: RSA/8,Sun03Jul201112:46:50 AM EDT,Key ID 0946fca2c105b9de
  9. Packager:CentOSBuildSystem
  10. URL : http://www.nano-editor.org
  11. Summary: A small text editor
  12. Description:
  13. GNU nanois a small and friendly text editor.

 

DNF 命令:在 Fedora 系統上檢視包資訊

DNF 指“時髦版的 YumDandified yum”,我們也可以認為 DNF 是下一代的 yum 包管理器(Yum 的一個分支),它在後台使用了 hawkey/libsolv 庫。Aleš Kozumplík 在Fedora 18 上開始開發 DNF,在 Fedora 22 上正式最後發布。 dnf 命令用來在 Fedora 22 及以後的系統上安裝、更新、搜尋以及刪除包。它能自動的解決包安裝過程中的包依賴問題。

(LCTT 譯註: 用 dnf info 檢視 tilix 包資訊)

  1. $ dnf info tilix
  2. Last metadata expiration check:27 days,10:00:23 ago on Wed04Oct201706:43:27 AM IST.
  3. InstalledPackages
  4. Name: tilix
  5. Version:1.6.4
  6. Release:1.fc26
  7. Arch: x86_64
  8. Size:3.6 M
  9. Source: tilix-1.6.4-1.fc26.src.rpm
  10. Repo:@System
  11. From repo :@commandline
  12. Summary:Tiling terminal emulator
  13. URL : https://github.com/gnunn1/tilix
  14. License:MPLv2.0andGPLv3+and CC-BY-SA
  15. Description:Tilixis a tiling terminal emulator with the following features:
  16. :
  17. :-Layout terminals in any fashion by splitting them horizontally or vertically
  18. :-Terminals can be re-arranged using drag and drop both within and between
  19. : windows
  20. :-Terminals can be detached into a new window via drag and drop
  21. :-Input can be synchronized between terminals so commands typed in one
  22. : terminal are replicated to the others
  23. :-The grouping of terminals can be saved and loaded from disk
  24. :-Terminals support custom titles
  25. :-Color schemes are stored in files and custom color schemes can be created by
  26. : simply creating a newfile
  27. :-Transparent background
  28. :-Supports notifications when processes are completed out of view
  29. :
  30. :The application was written using GTK 3and an effort was made to conform to
  31. : GNOME HumanInterfaceGuidelines(HIG).

 

Zypper 命令:在 openSUSE 系統上檢視包資訊

zypper 是一個使用 libzypp 庫的命令列包管理器。zypper 提供諸如軟體倉庫存取,安裝依賴解決,軟體包安裝等等功能。

(LCTT 譯註: 用 zypper info 查詢 nano 包的資訊)

  1. $ zypper infonano
  2. Loading repository data...
  3. Reading installed packages...
  4. Informationforpackagenano:
  5. -----------------------------
  6. Repository:MainRepository(OSS)
  7. Name:nano
  8. Version:2.4.2-5.3
  9. Arch: x86_64
  10. Vendor: openSUSE
  11. InstalledSize:1017.8KiB
  12. Installed:No
  13. Status:not installed
  14. Sourcepackage:nano-2.4.2-5.3.src
  15. Summary:Pico editor clonewith enhancements
  16. Description:
  17. GNU nanois a small and friendly text editor.It aims to emulate
  18. the Pico text editor while also offering a few enhancements.

 

Pacman 命令:在 ArchLinux 及 Manjaro 系統上檢視包資訊

Pacman 意即包管理器package manager實用工具。pacman 是一個用於安裝、構建、刪除、管理 Arch Linux 上包的命令列工具。它後端使用 libalpm(Arch Linux package Manager(ALPM)庫)來完成所有功能。

(LCTT 譯註: 用 pacman -Qi 來查詢 bash 包資訊)

  1. $ pacman -Qibash
  2. Name:bash
  3. Version:4.4.012-2
  4. Description:The GNU BourneAgain shell
  5. Architecture: x86_64
  6. URL : http://www.gnu.org/software/bash/bash.html
  7. Licenses: GPL
  8. Groups: base
  9. Provides: sh
  10. DependsOn: readline>=7.0 glibc ncurses
  11. OptionalDeps:bash-completion:for tab completion
  12. RequiredBy: autoconf automake bison bzip2 ca-certificates-utils db
  13. dhcpcd diffutils e2fsprogs fakeroot figlet findutils
  14. flex freetype2 gawk gdbm gettext gmp grub gzip icu
  15. iptables keyutils libgpg-error libksba libpcap libpng
  16. libtool lvm2 m4 man-db mkinitcpio nano neofetch nspr
  17. nss openresolv os-prober pacman pcre pcre2 shadow
  18. systemd texinfo vte-common which xdg-user-dirs xdg-utils
  19. xfsprogs xorg-mkfontdir xorg-xpr xz
  20. OptionalFor:None
  21. ConflictsWith:None
  22. Replaces:None
  23. InstalledSize:7.13MiB
  24. Packager:JanAlexanderSteffens(heftig)
  25. BuildDate:Tue14Feb201701:16:51 PM UTC
  26. InstallDate:Thu24Aug201706:08:12 AM UTC
  27. InstallReason:Explicitly installed
  28. InstallScript:No
  29. ValidatedBy:Signature

 

apt-cache 命令:在 Debian/Ubuntu/Mint 系統上檢視包資訊

apt-cache 命令能顯示 apt 內部資料庫中的大量資訊。這些資訊是從 sources.list 中的不同的軟體源中蒐集而來,因此從某種意義上這些資訊也可以被認為是某種快取。這些資訊蒐集工作是在執行 apt update 命令時執行的。

(LCTT 譯註:用管理員許可權查詢 apache2 包的資訊)

  1. $ sudo apt-cache show apache2
  2. Package: apache2
  3. Priority: optional
  4. Section: web
  5. Installed-Size:473
  6. Maintainer:UbuntuDevelopers
  7. Original-Maintainer:DebianApacheMaintainers
  8. Architecture: amd64
  9. Version:2.4.12-2ubuntu2
  10. Replaces: apache2.2-common
  11. Provides: httpd, httpd-cgi
  12. Depends: lsb-base, procps, perl, mime-support, apache2-bin (=2.4.12-2ubuntu2), apache2-utils (>=2.4), apache2-data (=2.4.12-2ubuntu2)
  13. Pre-Depends: dpkg (>=1.17.14)
  14. Recommends: ssl-cert
  15. Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, ufw
  16. Conflicts: apache2.2-common (<<2.3~)
  17. Filename: pool/main/a/apache2/apache2_2.4.12-2ubuntu2_amd64.deb
  18. Size:91348
  19. MD5sum: ab0ee0b0d1c6b3d19bd87aa2a9537125
  20. SHA1:350c9a1a954906088ed032aebb77de3d5bb24004
  21. SHA256:03f515f7ebc3b67b050b06e82ebca34b5e83e34a528868498fce020bf1dbbe34
  22. Description-en:Apache HTTP Server
  23. TheApache HTTP ServerProject's goal is to build a secure, efficient and
  24. extensible HTTP server as standards-compliant open source software. The
  25. result has long been the number one web server on the Internet.
  26. .
  27. Installing this package results in a full installation, including the
  28. configuration files, init scripts and support scripts.
  29. Description-md5: d02426bc360345e5acd45367716dc35c
  30. Homepage: http://httpd.apache.org/
  31. Bugs: https://bugs.launchpad.net/ubuntu/+filebug
  32. Origin: Ubuntu
  33. Supported: 9m
  34. Task: lamp-server, mythbuntu-frontend, mythbuntu-desktop, mythbuntu-backend-slave, mythbuntu-backend-master, mythbuntu-backend-master

 

APT 命令:檢視 Debian/Ubuntu/Mint 系統上的包資訊

APT 意為高階打包工具Advanced Packaging Tool,就像 DNF 將如何替代 YUM 一樣,APT 是 apt-get 的替代物。它功能豐富的命令列工具包括了如下所有命令的功能如 apt-cacheapt-searchdpkgapt-cdromapt-configapt-key 等等,我們可以方便的通過 apt 來安裝 .dpkg 包,但是我們卻不能通過 apt-get 來完成這一點,還有一些其他的類似的功能也不能用 apt-get 來完成,所以 apt-get 因為沒有解決上述功能缺乏的原因而被 apt 所取代。

(LCTT 譯註: 用 apt show 檢視 nano 包資訊)

  1. $ apt show nano
  2. Package:nano
  3. Version:2.8.6-3
  4. Priority: standard
  5. Section: editors
  6. Origin:Ubuntu
  7. Maintainer:UbuntuDevelopers
  8. Original-Maintainer:JordiMallach
  9. Bugs: https://bugs.launchpad.net/ubuntu/+filebug
  10. Installed-Size:766 kB
  11. Depends: libc6 (>=2.14), libncursesw5 (>=6), libtinfo5 (>=6)
  12. Suggests: spell
  13. Conflicts: pico
  14. Breaks:nano-tiny (<<2.8.6-2)
  15. Replaces:nano-tiny (<<2.8.6-2), pico
  16. Homepage: https://www.nano-editor.org/
  17. Task: standard, ubuntu-touch-core, ubuntu-touch
  18. Supported:9m
  19. Download-Size:222 kB
  20. APT-Manual-Installed:yes
  21. APT-Sources: http://in.archive.ubuntu.com/ubuntu artful/main amd64 Packages
  22. Description: small, friendly text editor inspired by Pico
  23. GNU nanois an easy-to-use text editor originally designed as a replacement
  24. forPico, the ncurses-based editor from the non-free mailer packagePine
  25. (itself now available under the ApacheLicenseasAlpine).
  26. .
  27. However, GNU nano also implements many features missing in pico, including:
  28. - undo/redo
  29. - line numbering
  30. - syntax coloring
  31. - soft-wrapping of overlong lines
  32. - selecting text by holding Shift
  33. - interactive search and replace (with regular expression support)
  34. - a go-to line (and column) command
  35. - support for multiple file buffers
  36. -auto-indentation
  37. - tab completion of filenames and search terms
  38. - toggling features while running
  39. -and full internationalization support

 

dpkg 命令:檢視Debian/Ubuntu/Mint系統上的包資訊

dpkg 意指 Debian 包管理器Debian package manager。dpkg 是用於 Debian 系統上安裝、構建、移除以及管理 Debian 包的命令列工具。dpkg 使用 aptitude(因為它更為主流及使用者友好)作為前端工具來完成所有的功能。其他的工具如dpkg-debdpkg-query 使用 dpkg 做為前端來實現功能。儘管系統管理員還是時不時會在必要時使用 dpkg 來完成一些軟體安裝的任務,他大多數情況下還是會因為 aptapt-get 以及 aptitude 的健壯性而使用後者。

(LCTT 譯註: 用 dpkg -s 檢視 python 包的資訊)

  1. $ dpkg -s python
  2. Package: python
  3. Status: install ok installed
  4. Priority: optional
  5. Section: python
  6. Installed-Size:626
  7. Maintainer:UbuntuDevelopers
  8. Architecture: amd64
  9. Multi-Arch: allowed
  10. Source: python-defaults
  11. Version:2.7.14-2ubuntu1
  12. Replaces: python-dev (<<2.6.5-2)
  13. Provides: python-ctypes, python-email, python-importlib, python-profiler, python-wsgiref
  14. Depends: python2.7(>=2.7.14-1~), libpython-stdlib (=2.7.14-2ubuntu1)
  15. Pre-Depends: python-minimal (=2.7.14-2ubuntu1)
  16. Suggests: python-doc (=2.7.14-2ubuntu1), python-tk (>=2.7.14-1~)
  17. Breaks: update-manager-core (<<0.200.5-2)
  18. Conflicts: python-central (<<0.5.5)
  19. Description: interactive high-level object-oriented language (default version)
  20. Python, the high-level, interactive object oriented language,
  21. includes an extensive class library with lots of goodies for
  22. network programming, system administration, sounds and graphics.
  23. .
  24. Thispackageis a dependency package, which depends on Debian's default
  25. Python version (currently v2.7).
  26. Homepage: http://www.python.org/
  27. Original-Maintainer: Matthias Klose

我們也可使用 dpkg-p 選項,這個選項提供和 dpkg -s 相類似的資訊,但是它還提供了包的校驗值和包型別。

(LCTT 譯註: 用 dpkg -p 檢視 python3 包的資訊)

  1. $ dpkg -p python3
  2. Package: python3
  3. Priority: important
  4. Section: python
  5. Installed-Size:67
  6. Origin:Ubuntu
  7. Maintainer:UbuntuDevelopers
  8. Bugs: https://bugs.launchpad.net/ubuntu/+filebug
  9. Architecture: amd64
  10. Multi-Arch: allowed
  11. Source: python3-defaults
  12. Version:3.6.3-0ubuntu2
  13. Replaces: python3-minimal (<<3.1.2-2)
  14. Provides: python3-profiler
  15. Depends: python3.6(>=3.6.3-1~), libpython3-stdlib (=3.6.3-0ubuntu2), dh-python
  16. Pre-Depends: python3-minimal (=3.6.3-0ubuntu2)
  17. Suggests: python3-doc (>=3.6.3-0ubuntu2), python3-tk (>=3.6.3-1~), python3-venv (>=3.6.3-0ubuntu2)
  18. Filename: pool/main/p/python3-defaults/python3_3.6.3-0ubuntu2_amd64.deb
  19. Size:8712
  20. MD5sum: a8bae494c6e5d1896287675faf40d373
  21. Description: interactive high-level object-oriented language (default python3 version)
  22. Original-Maintainer:MatthiasKlose
  23. SHA1:2daec885cea7d4dc83c284301c3bebf42b23e095
  24. SHA256:865e509c91d2504a16c4b573dbe27e260c36fceec2add3fa43a30c1751d7e9bb
  25. Homepage: http://www.python.org/
  26. Task: minimal, ubuntu-core, ubuntu-core
  27. Description-md5:950ebd8122c0a7340f0a740c295b9eab
  28. Supported:9m

 

aptitude 命令:檢視 Debian/Ubuntu/Mint 系統上的包資訊

aptitude 是 Debian GNU/Linux 包管理系統的文字介面。它允許使用者檢視已安裝的包的列表,以及完成諸如安裝、升級、刪除包之類的包管理任務。這些管理行為也能從圖形介面來執行。

(LCTT 譯註: 用 aptitude show 檢視 htop 包資訊)

  1. $ aptitude show htop
  2. Package:htop
  3. Version:2.0.2-1
  4. State: installed
  5. Automatically installed:no
  6. Priority: optional
  7. Section: universe/utils
  8. Maintainer:UbuntuDevelopers
  9. Architecture: amd64
  10. UncompressedSize:216 k
  11. Depends: libc6 (>=2.15), libncursesw5 (>=6), libtinfo5 (>=6)
  12. Suggests:lsof,strace
  13. Conflicts:htop:i386
  14. Description: interactive processes viewer
  15. Htopis an ncursed-based process viewer similar to top, but it allows one to scroll the list vertically and horizontally to see all processes and their full command lines.
  16. Tasks related to processes (killing, renicing) can be done without entering their PIDs.
  17. Homepage: http://hisham.hm/htop/

via: https://www.2daygeek.com/how-to-view-detailed-information-about-a-package-in-linux/

作者:Prakash Subramanian 選題:lujun9972 譯者:DavidChenLiang 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-09/154135.htm


IT145.com E-mail:sddin#qq.com