美文网首页初见Linux程序员
14-2常见软件包管理任务

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

作者: 見贤思齊_ | 来源:发表于2020-08-18 22:02 被阅读0次

    三、常见软件包管理任务

    命令行软件包管理工具可以完成许多操作,下面介绍一些较常见的。

    有一点要说明,低级工具也支持软件包文件的创建(但不在本书的讨论范围)。

    在下面的讨论中,单词 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文本编辑器
    yum search emac
    

    2.安装库中的软件包

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

    (1)软件包安装命令

    系统类型 命令
    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行中。
    

    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 系统中。

    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 软件包。

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

    5.更新库中的软件包

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

    (1)软件包更新命令

    系统类型 命令
    Debian 类 apt-get update ; apt-get upgrade
    Red Hat 系统系列 yum update
    ① 示例
    Ⅰ.

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

    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 软件包文件中的版本。代码如下:

    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 系统中是否已安装。

    dpkg --status emacs
    

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

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

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

    系统类型 命令
    Debian 类 apt-cache show package_name
    Red Hat 系统系列 **yum info package_name **

    注:package_name软件包的实际名称

    ① 示例
    Ⅰ.

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

    apt-cache show emacs
    

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

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

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

    系统类型 命令
    Debian 类 dpkg --search file_name
    Red Hat 系统系列 rpm -qf file_name
    ① 示例
    Ⅰ.

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

    rpm -qf /usr/bin/vim
    

    相关文章

      网友评论

        本文标题:14-2常见软件包管理任务

        本文链接:https://www.haomeiwen.com/subject/nskljktx.html