前言
Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装A软件,但是编译的时候告诉你X软件安装之前需要B软件,而当你安装Y软件的时候,又告诉你需要Z库了--好不容易安装好Z库,发现版本还有问题......可能很多朋友都有过这个经历。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如Yellow Dog的YUM ,Debian的APT(Advanced Packaging Tool)等。而这些软件也被开源软件爱好者们逐渐移植到别的发行版上。Redhat企业版Linux的的升级往往给管理员们带来不少问题:网站下载速度太慢,不够安全,当然了,更多的人是无法更新的--版权问题。经过一段时间的比较,感觉使用APT(Advanced Packaging Tool)维护RHEL(维Red Hat Enterprise Linux )有着特殊的便利性。 有的朋友可能会说,yum 也不错阿!是的,yum在很多时候表现的确不错,不过如果使用的Linux是RHEL的话,很难找到适合yum的资料库,"巧妇难为无米之炊"。
安装APT软件包以后,管理员需要做的第一个工作就是运行:
# apt-get update
从默认服务器下载软件包数据库。
运行:
# apt-get check
atp来验证本地系统的完整性和一致性,判断本地系统的软件包依赖性是否一致。
注:如果本地系统一致性严重破坏,则可以使用apt-get -f install 命令在使用apt以前手工修复被破坏的依赖性。
如果希望定期升级系统,保证及时升级,弥补安全漏洞,只需要apt-get update 和 apt-get upgrade(或apt-get dist-upgrade )
四、 主要命令
apt主要有apt-cache apt-cdrom apt-config apt-get等四个命令。用户用的最多的应该就是apt-get命令。这些命令的详细说明参见man手册,这里只对常用方法进行说明。
4.1 apt-get
1.apt-get update
更新本地apt-get的本地数据库,使其与服务器的pkglist文件同步。在升级以前一般都要执行本命令实现与服务器的一致。
2.apt-get check
验证本地系统的完整性。
3.apt-get upgrade
类似于apt-get,但是将安装所有的基础软件包,并尽力升级一切软件包,并在需要是安装新软件包。
4.apt-get install package_name
安装某个软件包及其相关软件包
如 apt-get install openssh
不但会安装openssh,同时会升级openssl
5.apt-get remove package_name
删除该软件包,同时会删除依赖于它的软件包
6.apt-get source package_name
下载软件包的source rpm
例: apt-get source --compile zhcon
抓回 source rpm 编译为二进制的rpm。--compile参数功能等同于rpm -ba
7.apt-get clean
删除保存在缓存目录下(/var/cache/apt/archives)的被下载的软件包
8.apt-get upgrade package_name
升级指定的软件包,并升级其依赖的软件包。
4.2 apt-cdrom
在安装系统以后,可以使用apt-cdrom把三张安装光盘加入到apt 的 sources.list 中
用法如下:
# apt-cdrom add
Using CD-ROM mount point /mnt/cdrom/
Unmounting CD-ROM
Please insert a Disc in the drive and press enter
Mounting CD-ROM
Identifying.. [af0e7c988f7ae057a4a3bccc 8008134d-2]
Scanning Disc for index files.. Found 1 package indexes and 0 source indexes.
Please provide a name for this Disc, such as 'MyDistro 6.0 Disk 1':
Gaga V1.1 disc1
This Disc is called:
'Gaga V1.1 disc1'
Reading Indexes... Done
Writing new source list
Source List entries for this Disc are:
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
Repeat this process for the rest of the CDs in your set.
三次运行apt-cdrom add命令,来加载三张安装光盘。在/etc/apt/sources.list中就应该会包含如下内容:
rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
这样以后就可以使用apt-get来安装以前未安装的安装光盘上的软件了。
示例如下,若您的服务器没有和互联网连接,那么修改/etc/apt/sources.list,使其包含下面三行:
rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
# apt-get update
# apt-get install imap
则根据指示放入第二张光盘即可,而不会出现不知道软件包在哪个光盘上,左寻右找的麻烦。
4.3 apt-cache
1.apt-cache showpkg
显示软件包的一些常规信息
例: apt-cache showpkg openssh
2.apt-cache stats
显示相关的统计信息示相的
3.apt-cache dump
显示缓存中的每个软件包的简要描述信息
4.apt-cache unmet
显示不符合一致性的依赖关系
5.apt-cache show
显示指定软件包的记录信息。类似于rpm -qi
6.apt-cache search
查找软件包,类似于rpm -qa|grep package_name
例: apt-cache search openssh
7.apt-cache depends
显示软件包的依赖性关系
8.apt-cache pkgnames
列出所有的软件包
例: $ apt-cache pkgnames openss
openssh-askpass
openssl096
openssl-perl
openssl095a
openssl-python
openssh-clients
openssl-devel
openssh-askpass-gnome
openssh
openssl
openssh-server
4.4 apt-config
1.apt-config dump
显示目前的配置信息。
安装APT软件包以后,管理员需要做的第一个工作就是运行:
# apt-get update
从默认服务器下载软件包数据库。
运行:
# apt-get check
atp来验证本地系统的完整性和一致性,判断本地系统的软件包依赖性是否一致。
注:如果本地系统一致性严重破坏,则可以使用apt-get -f install 命令在使用apt以前手工修复被破坏的依赖性。
如果希望定期升级系统,保证及时升级,弥补安全漏洞,只需要apt-get update 和
四、 主要命令
apt主要有apt-cache apt-cdrom apt-config apt-get等四个命令。用户用的最多的应该就是apt-get命令。这些命令的详细说明参见man手册,这里只对常用方法进行说明。
4.1 apt-get
1.apt-get update
更新本地apt-get的本地数据库,使其与服务器的pkglist文件同步。在升级以前一般都要执行本命令实现与服务器的一致。
2.apt-get check
验证本地系统的完整性。
3.apt-get upgrade
类似于apt-get,但是将安装所有的基础软件包,并尽力升级一切软件包,并在需要是安装新软件包。
4.apt-get install package_name
安装某个软件包及其相关软件包
如 apt-get install openssh
不但会安装openssh,同时会升级openssl
5.apt-get remove package_name
删除该软件包,同时会删除依赖于它的软件包
6.apt-get source package_name
下载软件包的source rpm
例: apt-get source --compile zhcon
抓回 source rpm 编译为二进制的rpm。--compile参数功能等同于rpm -ba
7.apt-get clean
删除保存在缓存目录下(/var/cache/apt/archives)的被下载的软件包
8.apt-get upgrade package_name
升级指定的软件包,并升级其依赖的软件包。
4.2 apt-cdrom
在安装系统以后,可以使用apt-cdrom把三张安装光盘加入到apt 的 sources.list 中
用法如下:
# apt-cdrom add
Using CD-ROM mount point /mnt/cdrom/
Unmounting CD-ROM
Please insert a Disc in the drive and press enter
Mounting CD-ROM
Identifying.. [af0e7c988f7ae057a4a3bccc
Scanning Disc for index files.. Found 1 package indexes and 0 source indexes.
Please provide a name for this Disc, such as 'MyDistro 6.0 Disk 1':
Gaga V1.1 disc1
This Disc is called:
'Gaga V1.1 disc1'
Reading Indexes... Done
Writing new source list
Source List entries for this Disc are:
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
Repeat this process for the rest of the CDs in your set.
rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
示例如下,若您的服务器没有和互联网连接,那么修改/etc/apt/sources.list,使其包含下面三行:
rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga
rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga
# apt-get update
# apt-get install imap
4.3 apt-cache
1.apt-cache showpkg
显示软件包的一些常规信息
例: apt-cache showpkg openssh
2.apt-cache stats
显示相关的统计信息示相的
3.apt-cache dump
显示缓存中的每个软件包的简要描述信息
4.apt-cache unmet
显示不符合一致性的依赖关系
5.apt-cache show
显示指定软件包的记录信息。类似于rpm -qi
6.apt-cache search
查找软件包,类似于rpm -qa|grep package_name
例: apt-cache search openssh
7.apt-cache depends
显示软件包的依赖性关系
8.apt-cache pkgnames
列出所有的软件包
例: $ apt-cache pkgnames openss
openssh-askpass
openssl096
openssl-perl
openssl095a
openssl-python
openssh-clients
openssl-devel
openssh-askpass-gnome
openssh
openssl
openssh-server
4.4 apt-config
1.apt-config dump
显示目前的配置信息。