0

我有两个运行 Fedora 28 的相同系统。一个在线而另一个不在线。我正在尝试为在线系统上的离线系统创建离线更新存储库,如下所示:

dnf clean all

# create directories for the repo
mkdir -p /opt/pdsw/update-repo
mkdir -p /opt/pdsw/update-repo-install

#grab the updates for the offline system
dnf update -y --releasever=28 --best --downloadonly \
    --installroot=/opt/pdsw/update-repo-install --destdir=/opt/pdsw/update-repo 

#update this system
dnf update -y --releasever=28 --best 

#convert the directory to a repo.
createrepo --database /opt/pdsw/update-repo

#create the repo file.
echo "[update-repo]
name=Fedora-$releasever - Offline Update Repo
baseurl=file:///opt/pdsw/update-repo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-28-fedora
" > /etc/yum.repos.d/update-repo.repo

#create the tarball.
tar -cf kvx-repos.tar /opt/pdsw/update-repo
tar -uf kvx-repos.tar /opt/pdsw/update-repo-install
tar -uf kvx-repos.tar /etc/yum.repos.d/update-repo.repo

然后在离线系统上,我尝试使用 tarball 执行更新,如下所示:

#untar our repo files.
tar -C / -xf kvx-repos.tar

#use our repo files to update packages
dnf --disablerepo=\* --enablerepo=update-repo --releasever=28 --best update -y

不幸的是,在我获取离线系统更新的部分,没有下载任何内容,我得到以下信息:

Dependencies resolved.
Nothing to do.
Complete!

如果我删除 --installroot 选项,我会得到以下信息:

Complete!
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.

不幸的是,当我在离线系统上使用生成的 tarball 时,我得到:

Dependencies resolved.
Nothing to do.
Complete!

我已经尝试过这个过程的各种排列,但这就是我已经登陆的地方。我显然不了解更新过程。我究竟做错了什么?

4

0 回答 0