Yum不适用于Ubuntu系统
Yum(Yellowdog Updater, Modified)是基于RPM的Linux发行版(如CentOS、Fedora、Red Hat)的软件包管理工具,用于处理RPM格式的软件包及依赖关系。而Ubuntu属于Debian系发行版,其原生软件包格式为.deb,依赖管理工具为APT(Advanced Package Tool),因此Yum无法直接用于Ubuntu的软件版本管理。
APT是Ubuntu的核心软件管理工具,支持查看、安装、升级、降级软件包及版本控制。以下是常用操作:
使用dpkg命令查看已安装软件包的具体版本(包括版本号、架构、安装状态等):
dpkg -s <package_name>
示例(查看curl的已安装版本):
dpkg -s curl
输出会显示Version: 7.81.0-1ubuntu1.7等版本信息。
使用apt-cache policy命令查看软件包的可用版本(包括本地已安装版本和远程仓库中的候选版本):
apt-cache policy <package_name>
示例(查看nginx的可用版本):
apt-cache policy nginx
输出会显示Candidate: 1.18.0-0ubuntu1.2(候选版本,即即将安装的版本)和Installed: 1.18.0-0ubuntu1.1(已安装版本)。
sudo apt update && sudo apt upgrade <package_name>
sudo apt full-upgrade
(注:full-upgrade会处理依赖关系的复杂变化,比upgrade更彻底)。若需安装指定版本的软件包,需在安装命令中明确指定版本号(格式为package_name=version):
sudo apt install <package_name>=<version_number>
示例(安装python3.9的3.9.16-1版本):
sudo apt install python3=3.9.16-1
注意:需确保指定版本在软件源中存在,否则会提示“无法定位软件包”。
若需固定软件包版本(避免被apt upgrade自动升级),可使用apt-mark命令:
sudo apt-mark hold <package_name>
示例(锁定nginx版本):
sudo apt-mark hold nginx
解锁时使用:
sudo apt-mark unhold <package_name>
若官方仓库中的软件版本较旧,可通过以下方式获取更新的版本:
deadsnakes PPA以获取新版Python:sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.x # x为具体版本号
sudo sed -i '/^# deb http:\/\/archive.ubuntu.com\/ubuntu focal-backports main restricted universe multiverse/ s/^# //' /etc/apt/sources.list
sudo apt update
安装时添加-t focal-backports参数(以Ubuntu 20.04为例):sudo apt install -t focal-backports <package_name>
/etc目录)和用户数据。apt changelog <package_name>),了解新功能的引入和潜在兼容性问题。