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