如果你曾经使用Debian或者基于Debian发行版如Ubuntu或Linux Mint的 ,然后有机会,你已经使用了APT软件包管理系统安装或删除软件。 即使你从来没有在命令行中,底层系统上的权力涉足你的包管理GUI是APT系统。
了解APT和APT缓存
今天,我们要看看一些熟悉的命令,并深入到一些小于或更频繁地使用APT命令,流这出色设计的系统上的一些情况。
什么是APT?
APT看台的高级包管理工具 。 这是第一次出现在Debian的2.1早在1999年 。 从本质上讲,APT是一个管理系统的dpkg包 ,为扩展名为* .deb文件看到。 它被设计为不仅管理软件包和更新 ,但安装特定的软件包时,解决了很多依赖问题 。
至于谁是使用Linux在那些拓荒时代的人,我们当试图从源代码编译的东西,甚至与一些红帽的个人打交道时,都太熟悉的术语“ 依赖地狱 ” RPM文件 。
APT解决了所有这些问题的依赖自动,使得安装任何包,无论大小或一行命令的依赖性的数目。 对我们这些谁辛劳小时这些任务,这是那些“ 太阳离别云 ”,在我们的Linux生活的时刻之一!
了解APT配置
我们要看看这第一个文件是APT的配置文件之一。
$ sudo cat /etc/apt/sources.list
示例输出
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe deb http://security.ubuntu.com/ubuntu precise-security main deb-src http://security.ubuntu.com/ubuntu precise-security main deb http://security.ubuntu.com/ubuntu precise-security universe deb-src http://security.ubuntu.com/ubuntu precise-security universe
正如你可能从我的source.list文件推断,我使用Ubuntu 12.04( 精确穿山甲 )。 我也使用三个存储库:
- 主存储库
- Universe存储库
- Ubuntu安全存储库
这个文件的语法相对简单:
deb (url) release repository
附带的行是源文件存储库。 它遵循类似的格式:
deb-src (url) release repository
这个文件是一个很值得你曾经有使用APT编辑的唯一的事,机会是默认值将服务器你很好,你将永远不需要在所有编辑。
不过,也有,你可能要添加第三方仓库倍。 你会简单的输入它们使用相同的格式,然后运行更新命令:
$ sudo apt-get update
注 :非常注意添加第三方软件库的! 只从信任和信誉良好的补充。 添加dodgy存储库或混合版本可以严重混乱你的系统!
我们已经采取了看看我们的sources.list文件,现在知道如何更新,所以下一步是什么? 让我们安装一些软件包。 比方说,我们正在运行的服务器,我们要安装WordPress。 首先让我们搜索包:
$ sudo apt-cache search wordpress
示例输出
blogilo - graphical blogging client drivel - Blogging client for the GNOME desktop drupal6-mod-views - views modules for Drupal 6 drupal6-thm-arthemia - arthemia theme for Drupal 6 gnome-blog - GNOME application to post to weblog entries lekhonee-gnome - desktop client for wordpress blogs libmarkdown-php - PHP library for rendering Markdown data qtm - Web-log interface program tomboy-blogposter - Tomboy add-in for posting notes to a blog wordpress - weblog manager wordpress-l10n - weblog manager - language files wordpress-openid - OpenID plugin for WordPress wordpress-shibboleth - Shibboleth plugin for WordPress wordpress-xrds-simple - XRDS-Simple plugin for WordPress zine - Python powered blog engine
什么是APT-Cache?
APT-缓存是简单地查询缓存APT的命令。 我们通过搜索参数吧,指出,很明显,我们要搜索APT它。 正如我们可以在上面看到,搜索“WordPress的 ”返回了许多相关的搜索字符串与每个软件包的简短描述软件包。
由此,我们看到的主包“WordPress的-博客经理 ,”我们要安装它。 但不会是很好看的依赖将要与它一起安装到底是什么APT可以告诉我们呢?:
$ sudo apt-cache showpkg wordpress
示例输出
Versions: 3.3.1+dfsg-1 (/var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages) Description Language: File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages MD5: 3558d680fa97c6a3f32c5c5e9f4a182a Description Language: en File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_i18n_Translation-en MD5: 3558d680fa97c6a3f32c5c5e9f4a182a Reverse Depends: wordpress-xrds-simple,wordpress wordpress-shibboleth,wordpress 2.8 wordpress-openid,wordpress wordpress-l10n,wordpress 2.8.4-2 Dependencies: 3.3.1+dfsg-1 - libjs-cropper (2 1.2.1) libjs-prototype (2 1.7.0) libjs-scriptaculous (2 1.9.0) libphp-phpmailer (2 5.1) libphp-simplepie (2 1.2) libphp-snoopy (2 1.2.4) tinymce (2 3.4.3.2+dfsg0) apache2 (16 (null)) httpd (0 (null)) mysql-client (0 (null)) libapache2-mod-php5 (16 (null)) php5 (0 (null)) php5-mysql (0 (null)) php5-gd (0 (null)) mysql-server (2 5.0.15) wordpress-l10n (0 (null)) Provides: 3.3.1+dfsg-1 - Reverse Provides:
这表明我们的WordPress 3.3.1是要安装的版本,它是从,反向安装依赖库,包等这取决于,加上他们的版本号。
注 :(null则表示该版本没有定义,并在库中的最新版本将被安装。)
现在,实际的安装命令:
$ sudo apt-get install wordpress
这个命令会安装WordPress-3.3.1和那些当前未安装所有的依赖。
当然,这还不是全部,你可以用APT做。 一些其他有用的命令如下:
注 :这是一个很好的做法运行任何系列APT的命令之前,运行apt-get更新 。 请记住,apt-get的更新解析您的/etc/apt/sources.list文件,并更新其数据库。
卸载软件包与安装软件包一样简单:
$ sudo apt-get remove wordpress
不幸的是,使用apt-get remove命令将所有配置文件完好无损。 要删除那些还有,你要使用apt-get清除 :
$ sudo apt-get purge wordpress
每时每刻,你可能会遇到一个有破坏依赖的情况。 这时候你就无法正常运行apt-get更新 ,重整数据库通常发生。 幸运的是,APT都是有修复:
$ sudo apt-get –f install
由于APT下载所有库中的* .deb文件的文件到您的计算机(其存储在/ var /缓存/ apt / archives目录 ),你可能要定期删除它们来释放磁盘空间:
$ sudo apt-get clean
这仅仅是APT,APT-Cache和一些有用的命令中的一小部分。 还有很多要学习和探索一些更高级的命令在下面的文章。
和往常一样,请查看手册页以获得更多选项。 一旦人们获得了一个熟悉APT,就可以编写真棒cron脚本,以保持系统更新。