本文介绍在Fedora Linux系统上安装DNF local plugin的方法。该插件适用于拥有多台计算机在其家庭或办公室网络上运行Fedora的用户,DNF本地插件使这些计算机可以共享本地rpm存储库,这有助于减少Internet上与dnf相关的通信量。
关于DNF local plugin 注:DNF本地插件减少了DNF事务所需的时间,它通过透明地创建和管理本地RPM存储库来实现,因为访问本地文件系统上的文件要比重复下载文件快得多,所以在启用DNF本地插件的情况下运行dnf时,多台Fedora Linux计算机将获得显着的性能提升。 简要概述:将所有下载的软件包自动复制到本地文件系统上的存储库中,并生成repo元数据。当配置了两台或更多台Fedora Linux计算机以使用该插件并共享同一本地存储库时,变化就产生了。这些计算机可以是在主机上运行并共享主机文件系统的虚拟机或容器,也可以是使用基于网络的文件系统共享技术在共享文件系统的局域网上的单独物理硬件。插件一经配置,便可以透明地处理其他所有内容。像以前一样继续使用dnf。dnf将检查插件存储库中的rpm,如果找不到则继续从镜像下载。然后,该插件将把所有rpm缓存在本地存储库中,而不管它们的上游来源是什么(正式的Fedora Linux存储库或第三方RPM存储库),并使它们可用于dnf的下一次运行。 技术扩展:在openEuler系统中配置DNF并使用DNF管理软件包。
安装和配置DNF local plugin 使用dnf安装插件,createrepo_c软件包将作为依赖项安装。如果需要,可以使用后者来创建本地存储库。 sudo dnf install python3-dnf-plugin-local 插件配置文件存储在/etc/dnf/plugins/local.conf中。下面提供了该文件的示例副本。唯一需要做的更改是设置repodir选项。repodir选项定义插件在本地文件系统上的哪个位置保留RPM存储库。 [main] enabled = true # Path to the local repository. # repodir = /var/lib/dnf/plugins/local # Createrepo options. See man createrepo_c [createrepo] # This option lets you disable createrepo command. This could be useful # for large repositories where metadata is priodically generated by cron # for example. This also has the side effect of only copying the packages # to the local repo directory. enabled = true # If you want to speedup createrepo with the --cachedir option. Eg. # cachedir = /tmp/createrepo-local-plugin-cachedir # quiet = true # verbose = false 将repodir更改为要存储RPM存储库的文件系统目录。例如,将repodir更改为/srv/repodir,如下所示。 ... # Path to the local repository. # repodir = /var/lib/dnf/plugins/local repodir = /srv/repodir ... 最后,如果目录不存在,请创建它。如果此目录不存在,则dnf首次尝试访问该目录时将显示一些错误。尽管有初始错误,该插件仍会在必要时创建目录。 sudo mkdir -p /srv/repodir 在要共享本地存储库的任何虚拟机或容器上重复此过程。
相关链接和说明
1、DNF本地插件示例可参考以下链接 dnf-local-plugin-examples:https://github.com/buckaroogeek/dnf-local-plugin-examples 2、目标 具有多台Fedora机器的家庭或小型办公室网络。例如,这些计算机可以是在Vagrant或virt下运行的VM,也可以是诸如Fedora工作站或用于承载kubernetes的Raspberry Pi 4s群集之类的物理计算机。RPM的缓存代理有利于提高所有机器上DNF的性能,减少Internet带宽消耗,并减少Fedora镜像社区的负载。 3、技术说明 使用基于Fedora工作站的计算机来创建这些示例。另外,yum的前身是yum-plugin-local,因此Centos和其他类似系统可以实现类似的功能,如果您有大量的Centos系统,这可能会很有用。
相关主题 |