如何使用 apt-get、apt-cache、apt-file 命令管理包
基于 Debian 的系统(包括 Ubuntu)使用 apt-* 命令从命令行管理软件包。
在本文中,以Apache 2 安装为例,让我们了解一下如何使用apt-* 命令来查看、安装、删除或升级包。
1. apt-cache search:使用包名搜索仓库
如果你安装的是 Apache 2,你可能会猜到包名是 apache2。要验证它是否是有效的包名称,您可能需要在存储库中搜索该特定包名称,如下所示。
以下示例显示如何在存储库中搜索特定包名称。
$ apt-cache search ^apache2$
apache2 - Apache HTTP Server metapackage
2. apt-cache search:使用包描述搜索存储库
如果您不知道包的确切名称,您仍然可以使用包描述进行搜索,如下所示。
$ apt-cache search "Apache HTTP Server"
apache2 - Apache HTTP Server metapackage
apache2-doc - Apache HTTP Server documentation
apache2-mpm-event - Apache HTTP Server - event driven model
apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model
apache2-mpm-worker - Apache HTTP Server - high speed threaded model
apache2.2-common - Apache HTTP Server common files
3. apt-file search:使用包中的文件名搜索存储库
有时,您可能知道要安装的包中的配置文件名(或)可执行文件名。
以下示例显示 apache2.conf 文件是 apache2.2-common 包的一部分。使用 apt-file 命令使用配置文件名搜索存储库,如下所示。
$ apt-file search apache2.conf
apache2.2-common: /etc/apache2/apache2.conf
apache2.2-common: /usr/share/doc/apache2.2-common/examples/apache2/apache2.conf.gz
4. apt-cache show:一个包的基本信息
以下示例显示有关 apache2 包的基本信息。
$ apt-cache show apache2
Package: apache2
Priority: optional
Maintainer: Ubuntu Core Developers
Original-Maintainer: Debian Apache Maintainers
Version: 2.2.11-2ubuntu2.3
Depends: apache2-mpm-worker (>= 2.2.11-2ubuntu2.3)
| apache2-mpm-prefork (>= 2.2.11-2ubuntu2.3)
| apache2-mpm-event (>= 2.2.11-2ubuntu2.3)
Filename: pool/main/a/apache2/apache2_2.2.11-2ubuntu2.3_all.deb
Size: 46350
Description: Apache HTTP Server metapackage
The Apache Software Foundation's goal is to build a secure, efficient and
extensible HTTP server as standards-compliant open source software.
Homepage: http://httpd.apache.org/
5. apt-cache showpkg:关于一个包的详细信息
“apt-cache show”显示包的基本信息。使用“apt-cache showpkg”显示包的详细信息,如下所示。
$ apt-cache showpkg apache2
Package: apache2
Versions:
2.2.11-2ubuntu2.3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_jaunty-security_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages
MD5: d24f049cd70ccfc178dd8974e4b1ed01
Reverse Depends:
squirrelmail,apache2
squid3-cgi,apache2
phpmyadmin,apache2
mahara-apache2,apache2
ipplan,apache2
Dependencies:
2.2.11-2ubuntu2.3 - apache2-mpm-worker (18 2.2.11-2ubuntu2.3) apache2-mpm-prefork (18 2.2.11-2ubuntu2.3) apache2-mpm-event (2 2.2.11-2ubuntu2.3)
2.2.11-2ubuntu2 - apache2-mpm-worker (18 2.2.11-2ubuntu2) apache2-mpm-prefork (18 2.2.11-2ubuntu2) apache2-mpm-event (2 2.2.11-2ubuntu2)
Provides:
2.2.11-2ubuntu2.3 -
2.2.11-2ubuntu2 -
Reverse Provides:
apache2-mpm-itk 2.2.6-02-1build4.3
apache2-mpm-worker 2.2.11-2ubuntu2.3
apache2-mpm-prefork 2.2.11-2ubuntu2.3
apache2-mpm-prefork 2.2.11-2ubuntu2
apache2-mpm-event 2.2.11-2ubuntu2
6. apt-file list:列出包内的所有文件
使用“apt-file list”显示位于 apache2 包内的所有文件,如下所示。
$ apt-file list apache2 | more
apache2: /usr/share/bug/apache2/control
apache2: /usr/share/bug/apache2/script
apache2: /usr/share/doc/apache2/NEWS.Debian.gz
apache2: /usr/share/doc/apache2/README.Debian.gz
apache2: /usr/share/doc/apache2/changelog.Debian.gz
...
7. apt-cache depends:列出所有依赖包
安装前,如果您想查看所有依赖包,请使用“apt-cache depends”,如下所示。
$ apt-cache depends apache2
apache2
|Depends: apache2-mpm-worker
|Depends: apache2-mpm-prefork
Depends: apache2-mpm-event
8. dpkg -l: 包是否已经安装?
在安装软件包之前,您可能需要使用 dpkg -l 命令确保它尚未安装,如下所示。
$ dpkg -l | grep -i apache
9. apt-get install:安装包
最后,使用“apt-get install”安装软件包,如下所示。
$ sudo apt-get install apache2
[sudo] password for ramesh:
The following NEW packages will be installed:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1
libaprutil1 libpq5
0 upgraded, 7 newly installed, 0 to remove and 26 not upgraded.
10. dpkg -l : 验证包是否安装成功
安装包后,使用“dpkg -l”确保安装成功。
$ dpkg -l | grep apache
ii apache2 2.2.11-2ubuntu2.3 Apache HTTP Server metapackage
ii apache2-mpm-worker 2.2.11-2ubuntu2.3 Apache HTTP Server - high speed threaded mod
ii apache2-utils 2.2.11-2ubuntu2.3 utility programs for webservers
ii apache2.2-common 2.2.11-2ubuntu2.3 Apache HTTP Server common files
11. apt-get remove:删除一个包
使用“apt-get purge”或“apt-get remove”删除一个包,如下所示。
$ sudo apt-get purge apache2
(or)
$ sudo apt-get remove apache2
The following packages were automatically installed and are no longer required:
apache2-utils linux-headers-2.6.28-11 libapr1 apache2.2-common
linux-headers-2.6.28-11-generic apache2-mpm-worker libpq5 libaprutil1
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
apache2
0 upgraded, 0 newly installed, 1 to remove and 26 not upgraded.
Removing apache2 ...
- apt-get的删除将无法删除该包的配置文件
- apt-get purge将删除包的配置文件
12. apt-get -u install:升级特定包
以下示例显示了如何升级一个特定的软件包。
$ sudo apt-get -u install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
apache2 is already the newest version.
The following packages were automatically installed and are no longer required:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.
13. apt-get -u upgrade:升级所有包
要将所有软件包升级到最新版本,请使用“apt-get -u upgrade”,如下所示。
$ sudo apt-get -u upgrade
The following packages will be upgraded:
libglib2.0-0 libglib2.0-data libicu38 libsmbclient libwbclient0
openoffice.org-base-core openoffice.org-calc openoffice.org-common
openoffice.org-core openoffice.org-draw openoffice.org-emailmerge
openoffice.org-gnome openoffice.org-gtk openoffice.org-impress
openoffice.org-math openoffice.org-style-human openoffice.org-writer
python-uno samba-common smbclient ttf-opensymbol tzdata
26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- 点赞
- 收藏
- 关注作者
评论(0)