1.包管理基础
Linux中广泛使用的两种主要的PMS基础工具是dpkg和rpm。
基于Debian的发行版(如Ubuntu和Linux Mint)使用的是dpkg命令。
基于Red Hat的发行版(如Fedora、openSUSE及Mandriva)使用的是rpm命令。
2.基于 Debian的系统
dpkg命令是基于Debian系PMS工具的核心。包含在这个PMS中的其他工具有:
q apt-get
q apt-cache
q aptitude
最常用的命令行工具是aptitude,aptitude工具本质上是apt工具和dpkg的前端。dpkg是软件包管理系统工具,而aptitude则是完整的软件包管理系统。
2.1 用aptitude管理软件包
如果使用的Linux发行版中已经安装了aptitude,只需要在shell提示符键入aptitude并按下回车键就行了。紧接着就会进入aptitude的全屏模式,
使用方向键可以看到每个单独的软件包名称以及它们的版本号。
退出时可以多按几次q键,直到看到弹出的屏幕提示“Really quit Aptitude?”。
想快速显示包mysql-client的详细信息使用:aptitude show mysql-client
无法通过aptitude看到的一个细节是所有跟某个特定软件包相关的所有文件的列表。要得
到这个列表,就必须用dpkg命令。
例如:用dpkg列出vim-common软件包所安装的全部文件。
同样可以进行反向操作,查找某个特定文件属于哪个软件包。
注意,在使用的时候必须用绝对文件路径。
2.2 用aptitude安装软件包
aptitude search package_name 可以找到特定的软件包
在每个包名字之前都有一个p或i。如果看到一个i,说明这个包现在已经安装到了系统上了。如果看到一个p或v,说明这个包可用,但还没安装。
上面的列表中可以看到系统中尚未安装wine,但是在软件仓库中可以找到这个包。
2.3 用aptitude更新软件
要用软件仓库中的新版本妥善地更新系统上所有的软件包,可用safe-upgrade选项。
aptitude safe-upgrade
还有一些不那么保守的软件升级选项:
q aptitude full-upgrade
q aptitude dist-upgrade
2.4 用aptitude卸载软件
想只删除软件包而不删除数据和配置文件,可以使用aptitude的remove选项。
要删除软件包和相关的数据和配置文件,可用purge选项。
sudo aptitude purge wine
2.5 aptitude仓库
默认的仓库位置是在安装Linux发行版时设置的,具体位置存储在文件/etc/apt/sources. list中。
cat /etc/apt/sources.list
使用下面的结构来指定仓库源。
deb (or deb-src) address distribution_name package_type_list
deb或deb-src的值表明了软件包的类型。deb值说明这是一个已编译程序源,而deb-src
值则说明这是一个源代码的源。
address条目是软件仓库的Web地址。
distribution_name条目是这个特定软件仓库的发行版版本的名称。
package_type_list条目可能并不止一个词,它还表明仓库里面有什么类型的包。
3.基于 Red Hat 的系统
基于Red Hat的系统常见的可用前端工具有以下3种。
q yum:在Red Hat和Fedora中使用。
q urpm:在Mandriva中使用。
q zypper:在openSUSE中使用。
3.1 列出已安装包
要找出系统上已安装的包,可在shell提示符下输入如下命令:
yum list installed
输出的信息可能会在屏幕上一闪而过,所以最好是将已安装包的列表重定向到一个文件中。
yum list installed > installed_software
查看xterm包是否已安装
yum list xterm
yum list installed xterm
找出系统上的某个特定文件属于哪个软件包
yum provides file_name
例如:这里有个查找配置文件/etc/yum.conf归属的例子。
3.2 用yum安装软件
会从仓库中安装软件包、所有它需要的库以及依赖的其他包:
yum install package_name
例如:安装xterm包
yum install xterm
也可以手动下载rpm安装文件并用yum安装,这叫作本地安装。基本的命令是:
yum localinstall package_name.rpm
3.3 用yum更新软件
要列出所有已安装包的可用更新,输入如下命令:
yum list updates
如果这个命令没有输出说明你没有任何需要更新的。
如果发现某个特定软件包需要更新,输入如下命令:
yum update package_name
如果想对更新列表中的所有包进行更新,只要输入如下命令:
yum update
3.4 用yum卸载软件
只删除软件包而保留配置文件和数据文件,就用如下命令:
yum remove package_name
要删除软件和它所有的文件,就用erase选项:
yum erase package_name
3.5 处理损坏的包依赖关系
有时在安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉。这叫作
损坏的包依赖关系(broken dependency)。
如果系统出现了这个问题,先试试下面的命令:
yum clean all
然后试着用yum命令的update选项。有时,只要清理了放错位置的文件就可以了。
如果这还解决不了问题,试试下面的命令:
yum deplist package_name
例如:确定xterm包依赖关系
yum update --skip-broken
–skip-broken选项允许你忽略依赖关系损坏的那个包,继续去更新其他软件包。这可能
救不了损坏的包,但至少可以更新系统上的其他包。
3.6 yum 软件仓库
要想知道你现在正从哪些仓库中获取软件,输入如下命令:
yum repolist
4.从源码安装
(1)下载软件包
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-12.6.0.tar.gz
(2)解压
tar -zxvf sysstat-12.6.0.tar.gz
(3)用cd命令进入这个新目录中,然后列出这个目录的内容。
(4)读README或AAAREADME文件
(5)按照README文件中的建议,下一步是为系统配置sysstat。它会检查你的Linux系统,确保它拥有合适的编译器能够编译源代码,另外还要具备正确的库依赖关系。
(6)下一步就是用make命令来构建各种二进制文件。
make步骤结束时,可运行的sysstat软件程序就会出现在目录下。
(7)用make命令的install命令进行安装
使用命令:make install