PRF:20180710 How To View Detailed Information About A Package In Linux.md

@DavidChenLiang
This commit is contained in:
Xingyu.Wang 2018-09-16 13:02:43 +08:00
parent 251f687a17
commit 939d80ffec

View File

@ -1,36 +1,34 @@
如何在Linux上检查一个包package的详细信息
如何在 Linux 上检查一个软件包的详细信息
======
我们可以就这个已经被广泛讨论的话题写出大量的文章,大多数情况下,因为各种各样的原因,我们都愿意让<ruby>包管理器<rt>package manager</rt></ruby>来帮我们做这些事情。
我们可以就这个已经被广泛讨论的话题写出大量的文档大多数情况下因为各种各样的原因我们都愿意让包管理器package manager来帮我们做这些事情。
每个Linux发行版都有自己的包管理器并且每个都有各自有不同的特性这些特性包括允许用户执行安装新软件包删除无用的软件包更新现存的软件包搜索某些具体的软件包以及更新整个系统到其最新的状态之类的操作。
习惯于命令行的用户大多数时间都会使用基于命令行方式的包管理器。对于Linux而言这些基于命令行的包管理器有YumDnf, Rpm, Apt, Apt-Get, Deb, pacman 和zypper.
每个 Linux 发行版都有自己的包管理器,并且每个都有各自有不同的特性,这些特性包括允许用户执行安装新软件包,删除无用的软件包,更新现存的软件包,搜索某些具体的软件包,以及更新整个系统到其最新的状态之类的操作。
习惯于命令行的用户大多数时间都会使用基于命令行方式的包管理器。对于 Linux 而言,这些基于命令行的包管理器有 `yum`、`dnf`、`rpm`、`apt`、`apt-get`、`dpkg`、`pacman` 和 `zypper`
**推荐阅读**
**(#)** [List of Command line Package Managers For Linux & Usage][1]
**(#)** [A Graphical frontend tool for Linux Package Manager][2]
**(#)** [How To Search If A Package Is Available On Your Linux Distribution Or Not][3]
**(#)** [How To Add, Enable And Disable A Repository By Using The DNF/YUM Config Manager Command On Linux][4]
- [Linux 命令行包管理器列表及其用法][1]
- [一个图形化的 Linux 包管理器前端工具][2]
- [如何搜索知道一个软件包是否存在于你的 Linux 发行版][3]
- [如何使用 dnf/yum 配置包管理器在 Linux 上来添加、启用和禁用软件仓库][4]
作为一个系统管理员你应该熟知以下事实安装包来自何方具体来自哪个软件仓库包的具体版本包的大小发行版的版本包的源URL包的许可证信息等等等等。
作为一个系统管理员你应该清楚地知道:安装包来自何方,具体来自哪个软件仓库,包的具体版本,包的大小,版本,包的源代码 URL包的许可证信息等等。
这篇短文将用尽可能简单的方式帮你从随包自带的总结和描述中了解该包的用法。按你所使用的 Linux 发行版的不同,运行下面相应的命令,你能得到你所使用的发行版下的包的详细信息。
这篇短文将用尽可能简单的方式帮你理解包管理器的用法这些用法正是来自随包自带的总结和描述文件。按你所使用的Linux发行版的不同运行下面相应的命令你能得到你所使用的发行版下的包的详细信息。
### YUM 命令:在 RHEL 和 CentOS 系统上获得包的信息
### [YUM 命令][5] : 在RHEL和CentOS系统上获得包的信息
[YUM][5] 英文直译是“<ruby>黄狗更新器--修改版<rt>Yellowdog Updater, Modified</rt></ruby>”,它是一个开源的基于命令行的包管理器前端实用工具。它被广泛应用在基于 RPM 的系统上例如RHEL 和 CentOS。
Yum 是用于在官方发行版仓库以及其他第三方发行版仓库下获取、安装、删除、查询 RPM 包的主要工具。
YUM 英文直译是黄狗更新器--修改版它是一个开源的基于命令行的包管理器前端实用工具。它被广泛应用在基于RPM的系统上例如RHEL和CentOS。
Yum是用于在官方发行版仓库以及其他第三方发行版仓库下获取安装删除查询RPM包的主要工具。
LCTT 译注:用 `yum info` 获取 python 包的信息)
```
# yum info pythonLCTT译注用yum info 获取python包的信息
# yum info python
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* epel: epel.mirror.constant.com
@ -64,13 +62,14 @@ Description : Python is an interpreted, interactive, object-oriented programming
```
### YUMDB 命令: 查看RHEL和CentOS系统上的包信息
### YUMDB 命令:查看 RHEL CentOS 系统上的包信息
`yumdb info` 这个命令提供与 `yum info` 相类似的的信息,不过它还额外提供了诸如包校验值、包类型、用户信息(由何人安装)。从 yum 3.2.26 版本后,`yum` 开始在 rpm 数据库外储存额外的信息了(此处如显示 `user` 表明该包由用户安装,而 `dep` 说明该包是被作为被依赖的包而被安装的)。
Yumdb info这个命令提供与yum info相类似的的信息不过它还额外提供了诸如包校验值包类型用户信息由何人安装。从yum 3.2.26版本后yum开始在rpm数据库外储存额外的信息了下文输出的用户信息指该python由该用户安装而dep说明该包是被作为被依赖的包而被安装的
LCTT 译注:用 `yumdb info` 来获取 python 包的信息)
```
# yumdb info pythonLCTT译注用yumdb info 来获取Python的信息
# yumdb info python
Loaded plugins: fastestmirror
python-2.6.6-66.el6_8.x86_64
changed_by = 4294967295
@ -83,17 +82,16 @@ python-2.6.6-66.el6_8.x86_64
installed_by = 4294967295
reason = dep
releasever = 6
```
### [RPM 命令][6] : 在RHEL/CentOS/Fedora系统上查看包的信息
### RPM 命令:在 RHEL/CentOS/Fedora 系统上查看包的信息
[RPM][6] 英文直译为“<ruby>红帽包管理器<rt>Red Hat Package Manager</rt></ruby>”,这是一个在 RedHat 以及其变种发行版如RHEL、CentOS、Fedora、openSUSE、Megeia下的功能强大的命令行包管理工具。它能让你轻松的安装、升级、删除、查询以及校验你的系统或服务器上的软件。RPM 文件以 `.rpm` 结尾。RPM 包由它所依赖的软件库以及其他依赖构成,它不会与系统上已经安装的包冲突。
RPM 英文直译为红帽包管理器这是一个在RedHat以及其变种发行版如RHEL CentOS Fedora openSUSEMegeia下的功能强大的命令行包管理工具。它能让你轻松的安装升级删除查询以及校验你的系统或服务器上的软件。RPM文件以.rpm结尾。RPM包由它所依赖的软件库以及其他依赖构成它不会与系统上已经安装的包冲突。
LCTT 译注:用 `rpm -qi` 查询 nano 包的具体信息)
```
# rpm -qi nano LCTT译注用RPM -qi 查询nano包的具体信息
# rpm -qi nano
Name : nano Relocations: (not relocatable)
Version : 2.0.9 Vendor: CentOS
Release : 7.el6 Build Date: Fri 12 Nov 2010 02:18:36 AM EST
@ -106,16 +104,16 @@ URL : http://www.nano-editor.org
Summary : A small text editor
Description :
GNU nano is a small and friendly text editor.
```
### [DNF 命令][7] : 在Fedora系统上查看报信息
### DNF 命令:在 Fedora 系统上查看包信息
[DNF][7] 指“<ruby>时髦版的 Yum<rt>Dandified yum</rt></ruby>”,我们也可以认为 DNF 是下一代的 yum 包管理器Yum 的一个分支),它在后台使用了 hawkey/libsolv 库。Aleš Kozumplík 在Fedora 18 上开始开发 DNF在 Fedora 22 上正式最后发布。 `dnf` 命令用来在 Fedora 22 及以后的系统上安装、更新、搜索以及删除包。它能自动的解决包安装过程中的包依赖问题。
DNF指时髦版的Yum,我们也可以认为DNF是下一代的YUM包管理器Yum的一个分支它在后台使用了hawkey/libsolv库。Aleš Kozumplík在Fedora 18上开始开发DNF在Fedora 22上正式最后发布。 DNF命令用来在Fedora 22及以后系统安装 更新,搜索以及删除包。它能自动的解决包安装过程中的包依赖问题。
LCTT 译注: 用 `dnf info` 查看 tilix 包信息)
```
$ dnf info tilix LCTT译注 用dnf info 查看tilix的包信息
$ dnf info tilix
Last metadata expiration check: 27 days, 10:00:23 ago on Wed 04 Oct 2017 06:43:27 AM IST.
Installed Packages
Name : tilix
@ -146,16 +144,16 @@ Description : Tilix is a tiling terminal emulator with the following features:
:
: The application was written using GTK 3 and an effort was made to conform to
: GNOME Human Interface Guidelines (HIG).
```
### [Zypper 命令][8] : 在openSUSE系统上查看包信息
### Zypper 命令:在 openSUSE 系统上查看包信息
[zypper][8] 是一个使用 libzypp 库的命令行包管理器。`zypper` 提供诸如软件仓库访问,安装依赖解决,软件包安装等等功能。
Zypper是一个使用libzypp库的命令行包管理器。Zypper提供诸如软件仓库访问安装依赖解决软件包安装等等功能。
LCTT 译注: 用 `zypper info` 查询 nano 包的信息)
```
$ zypper info nano (译注: 用zypper info查询nano的信息
$ zypper info nano
Loading repository data...
Reading installed packages...
@ -176,15 +174,16 @@ Summary : Pico editor clone with enhancements
Description :
GNU nano is a small and friendly text editor. It aims to emulate
the Pico text editor while also offering a few enhancements.
```
### [pacman 命令][9] 在ArchLinux及Manjaro系统上查看包信息
### Pacman 命令:在 ArchLinux 及 Manjaro 系统上查看包信息
Pacman指包管理器实用工具。pacman是一个用于安装构建删除管理Arch Linux上包的命令行工具。它后端使用libalpm(Arch Linux package ManagerALPM库)来完成所有功能。
[Pacman][9] 意即<ruby>包管理器<rt>package manager</rt></ruby>实用工具。`pacman` 是一个用于安装、构建、删除、管理 Arch Linux 上包的命令行工具。它后端使用 libalpmArch Linux package ManagerALPM来完成所有功能。
LCTT 译注: 用 `pacman -Qi` 来查询 bash 包信息)
```
$ pacman -Qi bash LCTT译注 用pacman -Qi 来查询bash
$ pacman -Qi bash
Name : bash
Version : 4.4.012-2
Description : The GNU Bourne Again shell
@ -213,17 +212,16 @@ Install Date : Thu 24 Aug 2017 06:08:12 AM UTC
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
```
### [Apt-Cache 命令][10] 在Debian/Ubuntu/Mint系统上查看包信息
### apt-cache 命令:在 Debian/Ubuntu/Mint 系统上查看包信息
[apt-cache][10] 命令能显示 apt 内部数据库中的大量信息。这些信息是从 `sources.list` 中的不同的软件源中搜集而来,因此从某种意义上这些信息也可以被认为是某种缓存。这些信息搜集工作是在运行 `apt update` 命令时执行的。
apt-cache命令能显示Apt内部数据库中的大量信息。这些信息是从sources.list中的不同的软件源中搜集而来因此从某种意义上这些信息也可以被认为是某种缓存。
这些信息搜集工作是在运行apt update命令时执行的。
LCTT 译注:用管理员权限查询 apache2 包的信息)
```
$ sudo apt-cache show apache2 LCTT译注用管理员权限查询apache2的信息
$ sudo apt-cache show apache2
Package: apache2
Priority: optional
Section: web
@ -257,16 +255,16 @@ Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 9m
Task: lamp-server, mythbuntu-frontend, mythbuntu-desktop, mythbuntu-backend-slave, mythbuntu-backend-master, mythbuntu-backend-master
```
### [APT 命令][11] : 查看Debian/Ubuntu/Mint系统上的包信息
### APT 命令:查看 Debian/Ubuntu/Mint 系统上的包信息
[APT][11] 意为<ruby>高级打包工具<rt>Advanced Packaging Tool</rt></ruby>,就像 DNF 将如何替代 YUM 一样APT 是 apt-get 的替代物。它功能丰富的命令行工具包括了如下所有命令的功能如 `apt-cache`、`apt-search`、`dpkg`、`apt-cdrom`、`apt-config`、`apt-key` 等等,我们可以方便的通过 `apt` 来安装 `.dpkg` 包,但是我们却不能通过 `apt-get` 来完成这一点,还有一些其他的类似的功能也不能用 `apt-get` 来完成,所以 `apt-get` 因为没有解决上述功能缺乏的原因而被 `apt` 所取代。
APT意为高级打包工具就像DNF将如何替代YUM一样APT是apt-get的替代物。它功能丰富的命令行工具包括了如下所有命令的功能如apt-cache,apt-search,dpkg, apt-cdrom, apt-config, apt-key等等我们可以方便的通过apt来安装.dpkg包但是我们却不能通过apt-get来完成这一点还有一些其他的类似的功能也不能用apt-get来完成所以apt-get因为没有解决上述功能缺乏的原因而被apt所取代。
LCTT 译注: 用 `apt show` 查看 nano 包信息)
```
$ apt show nano LCTT译注 用apt show查看nano
$ apt show nano
Package: nano
Version: 2.8.6-3
Priority: standard
@ -305,16 +303,17 @@ Description: small, friendly text editor inspired by Pico
- tab completion of filenames and search terms
- toggling features while running
- and full internationalization support
```
### [dpkg 命令][12] : 查看Debian/Ubuntu/Mint系统上的包信息
### dpkg 命令:查看Debian/Ubuntu/Mint系统上的包信息
dpkg意指Debian包管理器dpkg。dpkg用于Debian系统上的安装构建移除以及管理Debian包的命令行工具。dpkg 使用Aptitude因为它更为主流及用户友好作为前端工具来完成所有的功能。其他的工具如dpkg-deb和dpkg-query使用dpkg做为前端来实现功能。尽管系统管理员还是时不时会在必要时使用dpkg来完成一些软件安装的任务他大多数情况下还是会因为APtApt-Get以及Aptitude的健壮性而使用后者。
[dpkg][12] 意指 <ruby>Debian 包管理器<rt>Debian package manager</rt></ruby>。`dpkg` 是用于 Debian 系统上安装、构建、移除以及管理 Debian 包的命令行工具。`dpkg` 使用 `aptitude`(因为它更为主流及用户友好)作为前端工具来完成所有的功能。其他的工具如` dpkg-deb` 和 `dpkg-query` 使用 `dpkg` 做为前端来实现功能。尽管系统管理员还是时不时会在必要时使用 `dpkg` 来完成一些软件安装的任务,他大多数情况下还是会因为 `apt`、`apt-get` 以及 `aptitude` 的健壮性而使用后者。
LCTT 译注: 用 `dpkg -s` 查看 python 包的信息)
```
$ dpkg -s python LCTT译注 用dpkg -s查看python
$ dpkg -s python
Package: python
Status: install ok installed
Priority: optional
@ -341,14 +340,14 @@ Description: interactive high-level object-oriented language (default version)
Python version (currently v2.7).
Homepage: http://www.python.org/
Original-Maintainer: Matthias Klose
```
我们也可使用 `dpkg``-p` 选项,这个选项提供和 `dpkg -s` 相类似的信息,但是它还提供了包的校验值和包类型。
我们也可使用dpkg的-p选项这个选项提供和dpkg -s相类似的信息但是它还提供了包的校验值和包类型。
LCTT 译注: 用 `dpkg -p` 查看 python3 包的信息)
```
$ dpkg -p python3 LCTT译注 用dpkg -p查看python3的信息
$ dpkg -p python3
Package: python3
Priority: important
Section: python
@ -376,16 +375,17 @@ Homepage: http://www.python.org/
Task: minimal, ubuntu-core, ubuntu-core
Description-md5: 950ebd8122c0a7340f0a740c295b9eab
Supported: 9m
```
### Aptitude 命令 : 查看Debian/Ubuntu/Mint 系统上的包信息
### aptitude 命令:查看 Debian/Ubuntu/Mint 系统上的包信息
aptitude是Debian GNU/Linux包管理系统的面向文本的接口。它允许用户查看已安装的包的列表以及完成诸如安装升级删除包之类的包管理任务。这些管理行为也能从图形接口来执行。
`aptitude` 是 Debian GNU/Linux 包管理系统的文本界面。它允许用户查看已安装的包的列表,以及完成诸如安装、升级、删除包之类的包管理任务。这些管理行为也能从图形接口来执行。
LCTT 译注: 用 `aptitude show` 查看 htop 包信息)
```
$ aptitude show htop LCTT译注 用aptitude show查看htop信息
$ aptitude show htop
Package: htop
Version: 2.0.2-1
State: installed
@ -403,7 +403,6 @@ Description: interactive processes viewer
Tasks related to processes (killing, renicing) can be done without entering their PIDs.
Homepage: http://hisham.hm/htop/
```
--------------------------------------------------------------------------------
@ -413,7 +412,7 @@ via: https://www.2daygeek.com/how-to-view-detailed-information-about-a-package-i
作者:[Prakash Subramanian][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[DavidChenLiang](https://github.com/davidchenliang)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出