在 Linux 系统上使用 rpm 命令安装 zip 和 unzip 需要手动下载 RPM 包并安装,适用于 RHEL、CentOS、Fedora 等基于 RPM 的发行版。以下是详细步骤:

方法 1:直接使用 rpm 安装(需手动下载 RPM 包)

1. 下载 zip 和 unzip 的 RPM 包

访问 RPMFind 或 Fedora Packages 搜索并下载对应版本的 RPM 包(确保匹配你的系统架构,如 x86_64 或 aarch64):

# 示例(CentOS 7 x86_64):
wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
wget https://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm
2. 使用 rpm 命令安装
sudo rpm -ivh zip-3.0-11.el7.x86_64.rpm
sudo rpm -ivh unzip-6.0-21.el7.x86_64.rpm
  • -i:安装
  • -v:显示详细信息
  • -h:显示进度条
3. 验证安装
zip --version
unzip -v

方法 2:通过 yum/dnf 本地安装(自动解决依赖)

如果系统支持 yum 或 dnf,可以直接用它们安装本地 RPM 包(推荐):

# CentOS 7(使用 yum)
sudo yum localinstall zip-3.0-11.el7.x86_64.rpm unzip-6.0-21.el7.x86_64.rpm

# CentOS 8+/Fedora(使用 dnf)
sudo dnf install zip-3.0-11.el7.x86_64.rpm unzip-6.0-21.el7.x86_64.rpm

这会自动解决依赖关系(如果有)。

方法 3:从源码编译安装(备选)

如果 RPM 包不可用,可以从源码编译:

# 安装编译依赖
sudo yum install gcc make

# 下载源码(以 unzip 为例)
wget https://sourceforge.net/projects/infozip/files/UnZip%206.x%20%28latest%29/UnZip6.0/unzip60.tar.gz
tar -xvf unzip60.tar.gz
cd unzip60

# 编译安装
make -f unix/Makefile generic
sudo make prefix=/usr/local install

常见问题

  1. 依赖错误

    • 若 rpm -ivh 报错如 libxxx is needed,需先安装依赖包(如 libbz2.so.1)。
    • 使用 yum localinstall 或 dnf install 可自动处理依赖。
  2. 版本冲突

    • 如果已安装旧版,使用 rpm -Uvh 升级:

      sudo rpm -Uvh zip-3.0-11.el7.x86_64.rpm
      
  3. 系统架构不匹配

    • 确保下载的 RPM 包与系统架构一致(通过 uname -m 检查)。

总结

方法适用场景命令示例
直接 rpm 安装手动下载 RPM 包且无需自动依赖解决sudo rpm -ivh zip-3.0.rpm
yum localinstall自动解决依赖(推荐)sudo yum localinstall zip-3.0.rpm
源码编译无可用 RPM 包时make && sudo make install

建议优先使用 yum/dnf 安装(即使使用本地 RPM 包),以减少手动处理依赖的工作量

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐