命令行软件包管理工具可以完成许多操作,下面介绍一些较常见的。 有一点要说明,低级工具也支持软件包文件的创建(但不在本书的讨论范围)。 在下面的讨论中,单词 package_name 指软件包的实际名称,而 package_file 则是指包含该软件包的文件名。
通过使用高级工具(进行元数据搜索及提供依赖性解决的高级工具)来搜索库元数据时,可以根据 包文件 或 其描述 来查找该包。
系统类型 | 命令 |
---|---|
Debian 类(如:Ubuntu) | apt-get update ; apt-cache search [search_string](两个命令是一起使用的) |
Red-Hat 系统 | yum search [search_string] |
注:search_string就是文件名或其描述。
yum search emac
高级工具允许从库中下载、安装软件包,同时安装所有的依赖包。
系统类型 | 命令 |
---|---|
Debian 类(如:Ubuntu) | apt-get update ; apt-get install [package_name] |
Red-Hat 系统 | yum install [package_name] |
在 Debian 系统上安装 apt 元数据库中的 emac 文本编辑器。
apt-get update;apt-get install emacs
# 通过冒号分隔两条命令使得可共存在1行中。
如果软件包文件并不是从库源中下载的,那么就可以用低级工具直接安装(但并不安装依赖性关系)。
系统类型 | 命令 |
---|---|
Debian 类(如:Ubuntu) | dpkg --install package_file |
Red-Hat 系统 | rpm -i package_file |
注:package_file 则是指包含该软件包的文件名。
当 emacs-22.17-7.fc7-i386.rpm 软件包文件从非库资源网站下载时,可采用以下方式安装到 Red Hat 系统中。
rpm -i emacs-22.17-7.fc7-i386.rpm
由于该方法采用低级 rpm 工具,所以并不会解决依赖性关系。 一旦 rpm 在安装过程中发现缺少依赖包,rpm 就会跳出错误后退出。
卸载软件包可利用高级工具和低级工具。
系统类型 | 命令 |
---|---|
Debian 类(如:Ubuntu) | apt-get remove package_name |
Red-Hat 系统 | yum erase package_name |
package_name 指软件包的实际名称。
从 Debian 系统中卸载 emacs 软件包。
apt-get remove emacs
# apt-get 是 Debian 类的高级工具。
最常见的软件包管理任务是 保持系统安装最新的软件包。高级工具仅需要一步便可完成此重要任务。(注意:这是更新库中的。)
系统类型 | 命令 |
---|---|
Debian 类 | apt-get update ; apt-get upgrade |
Red Hat 系统系列 | yum update |
更新所有已安装在 Debian 系统中的可更新软件包。代码如下:
apt-get update;apt-get upgrade
# 通过冒号分隔两条命令使得可共存在1行中。
如果软件包的更新版本已从非库源中下载,那么我们就可以用下表所列的命令进行安装更新从而取代原版本。
系统类型 | 命令 |
---|---|
Debian 类 | dpkg --install package_file |
Red Hat 系统系列 | rpm -U package_file |
注:package_file 则是指包含该软件包的文件名。
将 Red Hat 系统上已安装好的 emac 程序更新为 emacs-22.1-7.fc7-i386.rpm 软件包文件中的版本。代码如下:
rpm -U emacs-22.1-7.fc7-i386.rpm
与 rpm 命令不同,dpkg 命令在更新软件包时并没有指定的参数选项,只有在安装软件包时才有。
下表中所列出的命令用于显示系统上所有已安装的软件包列表。
系统类型 | 命令 |
---|---|
Debian 类 | dpkg --list |
Red Hat 系统系列 | rpm -qa |
下表中所列的为低级工具用于判断系统是否已安装某个软件的命令。
系统类型 | 命令 |
---|---|
Debian 类 | dpkg --status package_name |
Red Hat 系统系列 | rpm -q package_name |
注:package_name 指软件包的实际名称。
判断 emac 程序包在 Debian 系统中是否已安装。
dpkg --status emacs
在已知已安装的软件包的名称 的情况下,便可用下表中的命令显示该软件包的描述信息。
系统类型 | 命令 |
---|---|
Debian 类 | apt-cache show package_name |
Red Hat 系统系列 | **yum info package_name ** |
注:package_name 指软件包的实际名称。
查看 Debian 系统上 emac 软件包的描述信息。
apt-cache show emacs
下表中的命令用来判断某个特定的文件是由哪个软件包负责安装的。
系统类型 | 命令 |
---|---|
Debian 类 | dpkg --search file_name |
Red Hat 系统系列 | rpm -qf file_name |
查看 Red Hat 系统中哪个软件包安装了 /usr/bin/vim 目录下的文件。
rpm -qf /usr/bin/vim