一、概念
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令执行需要超级管理员权限(root)。
二、区别
常用操作 | Yum命令 | apt 命令 | 举例 | 备注 |
安装软件包 | yum install <package_name> | apt install <package_name> | yum install httpd apt install apache2 | |
更新软件包 | yum update <package_name> | apt update | 用于更新软件包列表,获取最新的软件包信息 | |
apt upgrade | yum update httpd | 用于更新系统中所有可更新的软件包 | ||
卸载软件包 | yum remove <package_name> | apt remove <package_name> | yum remove httpd apt remove apache2 | 用于卸载指定的软件包,但不会删除配置文件 |
彻底卸载软件包 | yum erase <package_name> | apt purge <package_name> | yum erase httpd apt purge apache2 | |
搜索软件包 | yum search <keyword> | apt search <keyword> | yum search mysql apt search python | 可以根据关键词搜索软件包 |
查看软件包信息 | yum info <package_name> | apt show <package_name> | yum info httpd apt show apache2 | 用于查看指定软件包的详细信息 |
列出已安装软件包 | yum list installed | apt list --installed | yum list installed apt list --installed | 可以列出系统中已安装的所有软件包 |
列出可用软件包 | yum list <keyword> | apt list <keyword> | ||
查找特定文件的软件包 | yum provides <file> | apt search <keyword> | yum provides mysql | 查询某个命令属于什么软件包 |
三、包管理器使用
常用操作 | rpm命令 | dpkg命令 | 备注 |
安装 | rpm -ivh <package_name>.rpm | dpkg -i <package_name>.deb | 不推荐 |
升级 | rpm -Uvh <package_name>.rpm | dpkg -U <package_name> | 如果软件包尚未安装,会将其安装;如果软件包已经安装,则会将其升级到新的版本 |
卸载 | rpm -e <package_name> | dpkg -r <package_name> | 用于卸载指定的软件包,但保留配置文件 |
dpkg -P <package_name> | 用于彻底卸载软件包,包括配置文件 | ||
查询 | rpm -q <package_name> | dpkg -l <package_name> | 用于查询指定软件包是否安装 |
rpm -qi <package_name> | dpkg -s <package_name> | 用于查询已安装软件包的详细信息,包括名称、版本、描述等 | |
rpm -ql <package_name> | dpkg -L <package_name> | 用于列出已安装软件包包含的所有文件 | |
rpm -qf <file_name> | dpkg -S <file_name> | 用于查询指定文件属于哪个软件包 |
四、其他常见问题
1.使用 yumdownloader下载软件包到其他服务器上安装
(1)确保 yum-utils 包已安装:yum-utils 包含了 yumdownloader 工具,如果你还没有安装,可以通过运行以下命令来安装:
yum install -y yum-utils
(2) 使用 yumdownloader 命令下载软件包:接下来,你可以使用 yumdownloader 加上你想要下载的软件包名称来仅下载该软件包
yumdownloader --destdir=/home/user/downloads httpd
(3)将下载的包上传至需要安装的服务器上,使用yum install package_name.rpm来安装
yum install /home/user/downloads/*.rpm -y
2.使用apt下载特定的 .deb 包及其依赖项到本地
(1)通过命令列出所有的依赖项
# 查看软件的所有依赖包
apt depends <package_name>
dpkg -s <package_name> | grep Depends
(2)需要逐个下载这些依赖包
sudo apt download package-name
(3)下载的软件包和依赖都上传到服务器,拷贝上去之后使用dpkg -i 命令安装
dpkg -i /AA/BB/XXXXX.deb
3.Centos系统完全清理软件残留
(1)卸载软件包: yum remove 软件包名
(2)清理依赖: yum autoremove
(3)清理缓存: yum clean all
(4)删除配置文件: rm -rf 相关配置目录
4.Ubuntu系统完全清理软件残留
(1)首先彻底卸载目标软件及配置:sudo apt purge 软件包名
(2)然后清理不再需要的依赖项:sudo apt autoremove