Linux软件包管理

红帽系(RedHat&CentOS)

  离线安装时,rpm(Red Hat Package Manager)是红帽系的一款包安装工具,用于安装.rpm文件。

  当下载好rpm软件包后,常用安装命令为:

rpm -i XXX.rpm

  该命令无法解决包依赖问题,但可以在命令后面提供要安装的包的列表,如果满足所有依赖关系,它会以正确的次序安装所有包。

  在线安装时,YUM(Yellowdog Updater Modified)代替rpm实现包安装,并可以自动解决包依赖问题。

首先确定需要安装的包名称

yum search XXX

然后根据包名称进行在线安装

yum install XXX

查询包安装情况

rpm -qa | grep XXX
yum list XXX
yum info XXX

升级指定包

  下载好的时候:

rpm -Uvh XXX

  其中v显示详细信息,h打印进度#符号。

  在线升级的时候:

yum update XXX

  yum upgrade不跟包名的话,将实现系统版本及内核版本同时升级(仅推荐开局时操作,正在运行业务的系统慎用)。

删除包

  该操作一般用不到,除非需要进行包版本降级:

rpm -e XXX
yum remove XXX

关于源

  yum和rpm使用/etc/yum.repos.d/下的repo文件提供的本地数据库判断安装的包,所以当我们修改了源导致repo文件发生变动后, 需要执行yum clean与yum makecache命令,从而按照repo文件重建数据库。



蝶变系(Debian&Ubuntu)

  离线安装时,dpkg(Debian Package)作为蝶变系的包安装工具,用于安装.deb文件。

  当下载好deb文件后,执行安装的命令:

dpkg -i XXX.deb

  同样该命令也无法解决依赖问题(此时可以马上执行apt-get -f install补包),而且跟多个deb包时可能会失败,推荐下面apt在线处理方案。

  在线安装时,APT(Advanced Packaging Tool)代替dpkg实现包安装,也可以自动解决依赖,蝶变系墙裂推荐在线apt管理方案。(注,现在发行版上同时支持apt和apt-get命令,其中apt是提供给普通用户,基于apt-X系列精简了但够用的一个命令)

首先确定需要安装的包名称

apt-cache search XXX

然后根据包名称进行在线安装

apt-get install XXX

查询包安装情况

dpkg --get-selections | grep XXX

升级指定包

apt-get install XXX

  install参数自带升级更新效果。

  apt-get upgrade不跟包名,实现整个系统级别的更新。(仅推荐开局时操作,正在运行业务的系统慎用)。

删除包

apt-get purge XXX

  其中purge可以删除软件的同时清除该软件的配置文件,但不会移除其所依赖的其他包。

关于源

  apt-get使用/etc/apt/sources.list作为包安装的参考源,所以当进行源变更后, 也需要执行apt-get update来重建索引。



发表评论

评论列表,共 0 条评论

    暂无评论