GNU/Linux 套件管理

有了网络我们就可以开始安装套件,但要怎么安装套件也是门大学问,而且在不同的 GNU/Linux 发行版本 (Distribution) 中所使用的套件管理系統 (Package Management System) 也不同。Debian 血统上常用的有 dpkg, apt 和 aptitude,Red Hat 血统上常用的有 rpm 和 yum。(图形界面中也有不少套件管理员可使用,在此冻仁就不多加赘述)。

这些指令与前文 (GNU/Linux网络设定) 提到的套件库 (package reopsiroty) 一词是息息相关的,我们只需在本机下达安装某套件的指令,它即会从网络上的套件库下载并安装套件;但前题是必须知道正确的套件名称才行!其套件管理不外乎就是在做套件的搜寻安装升级移除

作业系统Debian/Ubuntu                    CentOS/RHEL
  套件管理系统 dpkg aptitude apt rpm yum
 
 列出所有套件 -I
   -qa list
 搜寻 -I|grep  search
  search -qa|grep search
 检看详细咨询 -I show
  show -qi info
 安装 -i install
  install  -ivh install
 更新套件库  update update   
 升级  upgrade upgrade  -Uvh update
 移除 -r remove remove  -e remove
 移除(含设定档) -P purge purge   
 清除已下载的套件  clean clean   clean


▲ Debian/Ubuntu, CentOS/RHEL 上常见套件管理指令。

举例说明

  1. 搜寻 (毋需管理者权限)。

     # Debian/Ubuntu
     aptitude search <package_name>
     apt-cache search <package_name>
     dpkg -l | grep <package_name>
    
     # CentOS/RHEL
     yum search <package_name>
     rpm -qa | grep <package_name>
    
  2. 安装。

     # Debian/Ubuntu
     sudo aptitude install <package_name>
     sudo apt-get install <package_name>
     sudo dpkg -i <package_name>
    
     # CentOS/RHEL
     sudo yum install<package_name>
     sudo rpm -ivh    <package_name>
    
  3. 升级。

     # Debian/Ubuntu
     sudo aptitude upgrade <package_name>
     sudo apt-get upgrade <package_name>
    
     # CentOS/RHEL
     sudo yum update    <package_name>
     sudo rpm -Uvh    <package_name>
    
  4. 移除。

     # Debian/Ubuntu
     sudo aptitude remove <package_name>
     sudo apt-get remove    <package_name>
     sudo dpkg -r <package_name>
    
     # CentOS/RHEL
     sudo yum remove    <package_name>
     sudo rpm -e    <package_name>
    
  5. 版本查询。

     # Debian/Ubuntu
     dpkg-query -W    <package_name>
    
     # CentOS/RHEL
     rpm -q <package_name>
    
  6. 从已安装的套件中搜寻档案。

     # Debian/Ubuntu
     $ dpkg -S <package_name>
     $ apt-file search filename <package_name>
    
     # CentOS/RHEL
     $ rpm -qf <package_name>
     $ yum whatprovides '*target/filename' <package_name>
    

话说套件管理的指令也不算少,冻仁强烈建议大家使用 aptitude 及 yum 来管理套件,其最棒的是它们会自行处理套件间的相依性,可减轻不少负担。至于参数的部份,请先牢记 search, install, update, upgrade 和 remove。相信到这里我们已可完成大部份的事情了。

资料来源


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部