25个对于软件包管理的APT-GET和APT-CACHE的有用的基本命令

这篇文章解释你可以学到如何快速 安装删除更新和使用命令行 易于得到apt-缓存命令 搜索软件包。 本文提供了一些有用的命令,这将帮助你处理 的Debian / Ubuntu的软件包管理为基础的系统。

APT-GET和APT-CACHE命令

什么是apt-get?
apt-get工具是一个强大的和免费的软件包管理命令行程序,用于与 Ubuntu的APT( 高级包装工具 )库执行安装新的软件包,删除现有的软件包,现有的软件包,甚至升级工作用于升级整个操作系统。
什么是apt缓存?
apt-cache命令行工具用于搜索容易软件包缓存。 简单地说,这个工具是用来搜索软件包,收集包的信息,并用于搜索哪些可用的软件包已准备好安装在基于 DebianUbuntu系统。
APT-CACHE - 5有用的基本命令

1.如何列出所有可用的软件包?

要列出所有可用的软件包,请键入以下命令。
$ apt-cache pkgnames
esseract-ocr-epo
pipenightdreams
mumudvb
tbb-examples
libsvm-java
libmrpt-hmtslam0.9
libboost-timer1.50-dev
kcm-touchpad
g++-4.5-multilib
...

2.如何找出软件包名称和描述?

要找出包的名称,并在安装前说明,请使用“ 搜索 ”的标志。 使用“ 搜索从apt-cache将显示简短的描述匹配的包的列表。 比方说,你想找出包' 的vsftpd“的说明,然后命令会。
$ apt-cache search vsftpd
vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool
找到并列出下以 'vsftpd的 “全包,可以使用下面的命令。
$ apt-cache pkgnames vsftpd
vsttpd

3.如何检查包裹信息?

例如,如果您想检查包的信息以及简短描述说明(版本号,校验和,大小,安装大小,类别等)。使用“ 显示 ”,如下图所示子命令。
$ apt-cache show netcat
Package: netcat
Priority: optional
Section: universe/net
Installed-Size: 30
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ruben Molina <rmolina@udea.edu.co>
Architecture: all
Version: 1.10-40
Depends: netcat-traditional (>= 1.10-39)
Filename: pool/universe/n/netcat/netcat_1.10-40_all.deb
Size: 3340
MD5sum: 37c303f02b260481fa4fc9fb8b2c1004
SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a
SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9
Description-en: TCP/IP swiss army knife -- transitional package
This is a "dummy" package that depends on lenny's default version of
netcat, to ease upgrades. It may be safely removed.
Description-md5: 1353f8c1d079348417c2180319bdde09
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

4.如何检查特定包的依赖关系?

使用 “showpkg”子命令检查特定软件包的依赖关系。 是否安装了这些依赖包。 例如,使用 “showpkg'命令包名一起。
$ apt-cache showpkg vsftpd
Package: vsftpd
Versions: 
2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages)
Description Language: 
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Description Language: en
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Reverse Depends: 
ubumirror,vsftpd
harden-servers,vsftpd
Dependencies: 
2.3.5-3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0) libwrap0 (2 7.6-4~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-server (0 (null)) ftp-server (0 (null)) 
Provides: 
2.3.5-3ubuntu1 - ftp-server 
Reverse Provides:

5.如何检查缓存的统计信息

在“ 统计 ”子命令将显示缓存整体统计。例如,以下命令将显示总包名称是在高速缓存中找到的包数。
$ apt-cache stats
Total package names: 51868 (1,037 k)
Total package structures: 51868 (2,490 k)
Normal packages: 39505
Pure virtual packages: 602
Single virtual packages: 3819
Mixed virtual packages: 1052
Missing: 6890
Total distinct versions: 43015 (2,753 k)
Total distinct descriptions: 81048 (1,945 k)
Total dependencies: 252299 (7,064 k)
Total ver/file relations: 45567 (729 k)
Total Desc/File relations: 81048 (1,297 k)
Total Provides mappings: 8228 (165 k)
Total globbed strings: 286 (3,518 )
Total dependency version space: 1,145 k
Total slack space: 62.6 k
Total space accounted for: 13.3 M
APT-GET - 20个有用的基本命令的包管理

6.如何更新系统软件包

更新 ”命令用于重新同步从 /etc/apt/sources.list文件中指定的其来源包索引文件。 update命令从其位置获取包,并将包更新到较新版本。
$ sudo apt-get update
[sudo] password for youcl: 
Ign http://security.ubuntu.com quantal-security InRelease                      
Get:1 http://security.ubuntu.com quantal-security Release.gpg [933 B]          
Get:2 http://security.ubuntu.com quantal-security Release [49.6 kB]            
Ign http://in.archive.ubuntu.com quantal InRelease                             
Ign http://in.archive.ubuntu.com quantal-updates InRelease                     
Get:3 http://repo.varnish-cache.org precise InRelease [13.7 kB]                
Ign http://in.archive.ubuntu.com quantal-backports InRelease                   
Hit http://in.archive.ubuntu.com quantal Release.gpg                           
Get:4 http://security.ubuntu.com quantal-security/main Sources [34.8 kB]       
Get:5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B]         
...

7.如何升级软件包

在“ 升级 ”的命令是用来升级系统中的所有当前已安装的软件包。在任何情况下,当前安装的软件包不会被删除,或者尚未安装的软件包既未检索并安装,也不能满足升级依赖关系。
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
linux-headers-generic linux-image-generic wine1.5 wine1.5-i386
The following packages will be upgraded:
activity-log-manager-common activity-log-manager-control-center adium-theme-ubuntu alacarte
alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt
apt-transport-https apt-utils aptdaemon aptdaemon-data at-spi2-core bamfdaemon base-files bind9-host
...
但是,如果你想升级,漠不关心的软件包是否会添加或删除满足依赖性,使用 'DIST升级 “子命令。
$ sudo apt-get dist-upgrade

8.如何安装或升级特定软件包?

安装 ”命令子是由一个或多个包跟踪祝愿安装或升级。
$ sudo apt-get install netcat
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
netcat-traditional
The following NEW packages will be installed:
netcat netcat-traditional
0 upgraded, 2 newly installed, 0 to remove and 328 not upgraded.
Need to get 67.1 kB of archives.
After this operation, 186 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat-traditional i386 1.10-40 [63.8 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat all 1.10-40 [3,340 B]
Fetched 67.1 kB in 1s (37.5 kB/s)
Selecting previously unselected package netcat-traditional.
(Reading database ... 216118 files and directories currently installed.)
Unpacking netcat-traditional (from .../netcat-traditional_1.10-40_i386.deb) ...
Selecting previously unselected package netcat.
Unpacking netcat (from .../netcat_1.10-40_all.deb) ...
Processing triggers for man-db ...
Setting up netcat-traditional (1.10-40) ...
Setting up netcat (1.10-40) ...

9.如何安装多个软件包?

您可以与命令一起添加多个软件包名称,以便同时安装多个软件包。例如,下面的命令将安装软件包“ nethogs '和' goaccess ”。
$ sudo apt-get install nethogs goaccess
Reading package lists... Done
Building dependency tree       
Reading state information... Done
goaccess is already the newest version.
nethogs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.

10.如何使用通配符安装多个包

在正则表达式的帮助下,您可以添加一个字符串的几个包。例如,我们使用 *通配符来安装含有' 名*'字符串,名称为“包名”几个包。
$ sudo apt-get install '*name*'

11.如何安装没有升级的软件包

使用子 '-no升级 “命令将防止已安装的软件包无法升级。
$ sudo apt-get install packageName --no-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Skipping vsftpd, it is already installed and upgrade is not set.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.

12.如何仅升级特定软件包

'-only升级 '命令不安装新的软件包,但它只能升级已安装的软件包,并禁止包的新安装。
$ sudo apt-get install packageName --only-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.

13.如何安装特定的软件包版本?

比方说,你希望只安装包的特定版本,只需使用 '='与包名并追加所需的版本。
$ sudo apt-get install vsftpd=2.3.5-3ubuntu1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.

14.如何在没有配置的情况下删除包

要取消安装软件包,而不删除其配置文件(以供以后重复使用相同的配置)。如使用 “删除 ”命令。
$ sudo apt-get remove vsftpd
[sudo] password for youcl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
vsftpd
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Processing triggers for ureadahead ...
Processing triggers for man-db ...

15.如何完全删除软件包

要删除软件包,包括它们的配置文件,请使用“ 清除 ”子命令,如下图所示。
$ sudo apt-get purge vsftpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 216107 files and directories currently installed.)
Removing vsftpd ...
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
或者,您可以将这两个命令组合在一起,如下所示。
$ sudo apt-get remove --purge vsftpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...

16.如何清理磁盘空间

在“ 干净 ”的命令是用来释放从本地存储库检索清洗(下载) 的.deb文件(包)的磁盘空间。
$ sudo apt-get clean

17.如何只下载软件包的源代码

要下载特定软件包的唯一的源代码,使用选项“ -下载-唯一来源 ”与“包名”,如图所示。
$ sudo apt-get --download-only source vsftpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 4s (49.1 kB/s)
Download complete and in download only mode

18.如何下载和解压缩包

要将包的源代码下载并解压缩到特定目录,请键入以下命令。
$ sudo apt-get source vsftpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 1s (112 kB/s)  
gpgv: Signature made Thursday 24 May 2012 02:35:09 AM IST using RSA key ID 2C48EE4E
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./vsftpd_2.3.5-3ubuntu1.dsc
dpkg-source: info: extracting vsftpd in vsftpd-2.3.5
dpkg-source: info: unpacking vsftpd_2.3.5.orig.tar.gz
dpkg-source: info: unpacking vsftpd_2.3.5-3ubuntu1.debian.tar.gz
dpkg-source: info: applying 01-builddefs.patch
dpkg-source: info: applying 02-config.patch
dpkg-source: info: applying 03-db-doc.patch
dpkg-source: info: applying 04-link-local.patch
dpkg-source: info: applying 05-whitespaces.patch
dpkg-source: info: applying 06-greedy.patch
dpkg-source: info: applying 07-utf8.patch
dpkg-source: info: applying 08-manpage.patch
dpkg-source: info: applying 09-s390.patch
dpkg-source: info: applying 10-remote-dos.patch
dpkg-source: info: applying 11-alpha.patch
dpkg-source: info: applying 09-disable-anonymous.patch
dpkg-source: info: applying 12-ubuntu-use-snakeoil-ssl.patch

19.如何下载,解压缩和编译软件包

您也可以下载,解压缩,并在同一时间编译源代码,使用选项 '-compile“,如下图所示。
$ sudo apt-get --compile source goaccess
[sudo] password for youcl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 130 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (dsc) [1,120 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (tar) [127 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (diff) [2,075 B]
Fetched 130 kB in 1s (68.0 kB/s)
gpgv: Signature made Tuesday 26 June 2012 09:38:24 AM IST using DSA key ID A9FD4821
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./goaccess_0.5-1.dsc
dpkg-source: info: extracting goaccess in goaccess-0.5
dpkg-source: info: unpacking goaccess_0.5.orig.tar.gz
dpkg-source: info: unpacking goaccess_0.5-1.debian.tar.gz
dpkg-buildpackage: source package goaccess
dpkg-buildpackage: source version 1:0.5-1
dpkg-buildpackage: source changed by Chris Taylor <ctaylor@debian.org>
dpkg-buildpackage: host architecture i386
dpkg-source --before-build goaccess-0.5
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 9) autotools-dev libncurses5-dev libglib2.0-dev libgeoip-dev autoconf
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
...

20.如何在不安装的情况下下载软件包

使用“ 下载 ”选项,您可以下载任何给定的包而不安装它。 例如,下面的命令将只下载 “nethogs'包到当前工作目录。
$ sudo apt-get download nethogs
Get:1 Downloading nethogs 0.8.0-1 [27.1 kB]
Fetched 27.1 kB in 3s (7,506 B/s)

21.如何检查软件包的更改日志?

在“ 更新日志 '标志下载一个包更改日志,并显示已安装的包的版本。
$ sudo apt-get changelog vsftpd
vsftpd (2.3.5-3ubuntu1) quantal; urgency=low
* Merge from Debian testing (LP: #1003644).  Remaining changes:
+ debian/vsftpd.upstart: migrate vsftpd to upstart.
+ Add apport hook (LP: #513978):
- debian/vsftpd.apport: Added.
- debian/control: Build-depends on dh-apport.
- debian/rules: Add --with apport.
+ Add debian/watch file.
+ debian/patches/09-disable-anonymous.patch: Disable anonymous login
by default. (LP: #528860)
* debian/patches/12-ubuntu-us-snakeoil-ssl.patch: Use snakeoil SSL
certificates and key.
-- Andres Rodriguez <andreserl@ubuntu.com>  Wed, 23 May 2012 16:59:36 -0400
...

22.如何检查破坏的依赖关系?

检查 ”命令是一个诊断工具。它用于更新包缓存并检查断开的依赖关系。
$ sudo apt-get check
[sudo] password for youcl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done

23.如何搜索和构建依赖关系?

这种“ 集结出发 ”命令搜索本地信息库系统,并安装编译依赖的包。如果包在本地存储库中不存在,它将返回错误代码。
$ sudo apt-get build-dep netcat
The following NEW packages will be installed:
debhelper dh-apparmor html2text po-debconf quilt
0 upgraded, 5 newly installed, 0 to remove and 328 not upgraded.
Need to get 1,219 kB of archives.
After this operation, 2,592 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main html2text i386 1.3.2a-15build1 [91.4 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main dh-apparmor all 2.8.0-0ubuntu5 [9,846 B]
Get:4 http://in.archive.ubuntu.com/ubuntu/ quantal/main debhelper all 9.20120608ubuntu1 [623 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu/ quantal/main quilt all 0.60-2 [285 kB]
Fetched 1,219 kB in 4s (285 kB/s)
...

24.如何自动清理Apt-Get缓存?

在' 自动清洁 '命令删除 在/ var /缓存/ apt / archives目录的所有 的.deb文件,以腾出磁盘空间量显著。
$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree       
Reading state information... Done

25.如何自动删除已安装的软件包?

在' 的autoremove“子命令用于自动删除在一定安装,以满足其他软件包的依赖关系的软件包和,但现在他们不再需要。例如,以下命令将删除具有其依赖关系的已安装软件包。
$ sudo apt-get autoremove vsftpd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'vsftpd' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
我已经涵盖了大多数具有 易于得到apt-缓存命令可用的选项,但还是有更多的可用选项,可以检查他们使用 “人apt-get的 '或' 男人容易缓存 ”从终端。我希望你喜欢阅读这篇文章,如果我错过了任何东西,你希望我添加到列表中。请在下面的评论中随意提及。 另请阅读: 包管理20有用的Linux YUM命令
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏