14-2常见软件包管理任务

2020-08-20 14:57:48 浏览数 (1)

三、常见软件包管理任务

命令行软件包管理工具可以完成许多操作,下面介绍一些较常见的。 有一点要说明,低级工具也支持软件包文件的创建(但不在本书的讨论范围)。 在下面的讨论中,单词 package_name软件包的实际名称,而 package_file 则是指包含该软件包的文件名

1.在库里面查找软件包

通过使用高级工具(进行元数据搜索及提供依赖性解决的高级工具)来搜索库元数据时,可以根据 包文件其描述 来查找该包。

(1)包搜索命令

系统类型

命令

Debian 类(如:Ubuntu)

apt-get update ; apt-cache search [search_string](两个命令是一起使用的)

Red-Hat 系统

yum search [search_string]

注:search_string就是文件名或其描述。

① yum search-包搜索命令
Ⅰ.在Red-Hat系统的yum库中搜索emac文本编辑器
代码语言:javascript复制
yum search emac

2.安装库中的软件包

高级工具允许从库中下载、安装软件包,同时安装所有的依赖包

(1)软件包安装命令

系统类型

命令

Debian 类(如:Ubuntu)

apt-get update ; apt-get install [package_name]

Red-Hat 系统

yum install [package_name]

① 示例
Ⅰ.

在 Debian 系统上安装 apt 元数据库中的 emac 文本编辑器。

代码语言:javascript复制
apt-get update;apt-get install emacs

# 通过冒号分隔两条命令使得可共存在1行中。

3.安装软件包文件中的软件包

如果软件包文件并不是从库源中下载的,那么就可以用低级工具直接安装(但并不安装依赖性关系)

(1)软件包安装命令

系统类型

命令

Debian 类(如:Ubuntu)

dpkg --install package_file

Red-Hat 系统

rpm -i package_file

注:package_file 则是指包含该软件包的文件名

① 示例
Ⅰ.

当 emacs-22.17-7.fc7-i386.rpm 软件包文件从非库资源网站下载时,可采用以下方式安装到 Red Hat 系统中。

代码语言:javascript复制
rpm -i emacs-22.17-7.fc7-i386.rpm 
Ⅱ.注意

由于该方法采用低级 rpm 工具,所以并不会解决依赖性关系。 一旦 rpm 在安装过程中发现缺少依赖包,rpm 就会跳出错误后退出

4.删除软件包

卸载软件包可利用高级工具和低级工具

(1)高级工具软件包移除命令

系统类型

命令

Debian 类(如:Ubuntu)

apt-get remove package_name

Red-Hat 系统

yum erase package_name

注:

package_name软件包的实际名称

① 示例

从 Debian 系统中卸载 emacs 软件包。

代码语言:javascript复制
apt-get remove emacs

# apt-get 是 Debian 类的高级工具。

5.更新库中的软件包

最常见的软件包管理任务是 保持系统安装最新的软件包。高级工具仅需要一步便可完成此重要任务。(注意:这是更新库中的。)

(1)软件包更新命令

系统类型

命令

Debian 类

apt-get update ; apt-get upgrade

Red Hat 系统系列

yum update

① 示例
Ⅰ.

更新所有已安装在 Debian 系统中的可更新软件包。代码如下:

代码语言:javascript复制
apt-get update;apt-get upgrade

# 通过冒号分隔两条命令使得可共存在1行中。

6.更新软件包文件中的软件包

如果软件包的更新版本已从非库源中下载,那么我们就可以用下表所列的命令进行安装更新从而取代原版本。

(1)低级工具的软件包更新命令

系统类型

命令

Debian 类

dpkg --install package_file

Red Hat 系统系列

rpm -U package_file

注:package_file 则是指包含该软件包的文件名

① 示例
Ⅰ.

将 Red Hat 系统上已安装好的 emac 程序更新为 emacs-22.1-7.fc7-i386.rpm 软件包文件中的版本。代码如下:

代码语言:javascript复制
rpm -U emacs-22.1-7.fc7-i386.rpm
② 注意

与 rpm 命令不同,dpkg 命令在更新软件包时并没有指定的参数选项,只有在安装软件包时才有。

7.列出已安装的软件包列表(准)

下表中所列出的命令用于显示系统上所有已安装的软件包列表

(1)低级工具-软件包列表命令

系统类型

命令

Debian 类

dpkg --list

Red Hat 系统系列

rpm -qa

8.判断软件包是否安装(准)

下表中所列的为低级工具用于判断系统是否已安装某个软件的命令。

(1)低级工具-软件包状态命令

系统类型

命令

Debian 类

dpkg --status package_name

Red Hat 系统系列

rpm -q package_name

注:package_name软件包的实际名称

① 示例
Ⅰ.

判断 emac 程序包在 Debian 系统中是否已安装。

代码语言:javascript复制
dpkg --status emacs

9.显示已安装软件包的相关信息(准)

已知已安装的软件包的名称 的情况下,便可用下表中的命令显示该软件包的描述信息

(1)软件包信息查看命令

系统类型

命令

Debian 类

apt-cache show package_name

Red Hat 系统系列

**yum info package_name **

注:package_name软件包的实际名称

① 示例
Ⅰ.

查看 Debian 系统上 emac 软件包的描述信息。

代码语言:javascript复制
apt-cache show emacs

10.查看某具体文件由哪个软件包安装得到(准)

下表中的命令用来判断某个特定的文件是由哪个软件包负责安装的

(1)低级工具-查询文件所属命令

系统类型

命令

Debian 类

dpkg --search file_name

Red Hat 系统系列

rpm -qf file_name

① 示例
Ⅰ.

查看 Red Hat 系统中哪个软件包安装了 /usr/bin/vim 目录下的文件。

代码语言:javascript复制
rpm -qf /usr/bin/vim

0 人点赞