可以,Linux 的 yum 是支持离线使用的,但前提是你提前准备好了离线软件源(repository)。
下面给你讲清楚几种常见方式和适用场景。
yum 本身只是一个包管理工具,它并不要求“必须联网”,而是要求:
能访问到一个 yum repository(仓库)
这个仓库可以是:
适合:
步骤示例(CentOS 7):
# 挂载 ISO
mount -o loop CentOS-7-x86_64-DVD.iso /mnt
# 配置 repo
cat > /etc/yum.repos.d/local.repo <<EOF
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
# 清理并测试
yum clean all
yum repolist
适合:
步骤:
# 安装建仓工具
yum install createrepo
# 把 rpm 包放到目录
mkdir /opt/yumrepo
cp *.rpm /opt/yumrepo
# 生成仓库元数据
createrepo /opt/yumrepo
# 配置 repo
cat > /etc/yum.repos.d/local.repo <<EOF
[myrepo]
name=myrepo
baseurl=file:///opt/yumrepo
enabled=1
gpgcheck=0
EOF
在有网机器上下载:
yum install yum-utils
yumdownloader --resolve nginx
然后拷贝到离线机器,用方式 2 建仓。
# 在一台机器上
yum install httpd
ln -s /opt/yumrepo /var/www/html/yum
# 其他机器
baseurl=http://192.168.1.10/yum
以下情况 yum 不行:
yum install 但仓库里没有对应包yum 可以离线用,只要你本地有仓库;否则不行。
如果你愿意,我可以:
你现在是哪种 Linux?准备怎么用?