如何在Fedora 8上设置本地Yum存储库

如何在Fedora 8上设置本地的Yum存储库

版本1.0
作者:Falko Timme

本教程将介绍如何为本地网络创建一个Fedora 8 yum存储库。 如果您必须在本地网络中安装多个系统,那么拥有本地Fedora镜像是很好的,因为所有需要的软件包都可以通过快速LAN连接进行下载,从而节省您的网络带宽。

我不会保证这将为您工作!

1初步说明

在本教程中,我使用IP地址为192.168.0.100的hostname server1.example.com 。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。

我想通过http可以访问yum库; Apache的Fedora上的默认文件是/ var / www / html ,所以我将在/ var / www / html / yum中创建存储库。 如果您使用的是不同的虚拟主机,则可能需要调整路径。

2安装Apache

我们来安装Apache:

yum install httpd

之后,我们为Apache创建系统启动链接(使Apache在系统引导时自动启动):

chkconfig --levels 235 httpd on

然后我们启动Apache:

/etc/init.d/httpd start

3构建存储库

首先我们安装工具createrepo

yum install createrepo

我想在/ var / www / html / yum / base / 8 / i386中将i386的Fedora 8 rpm软件包和/ var / www / html / yum / updates / 8 / i386中的更新包放在一起,所以我创建了目录(如果要创建Fedora 7/6 / ...和/或x86_64的存储库,请调整路径):

mkdir -p /var/www/html/yum/base/8/i386
mkdir -p /var/www/html/yum/updates/8/i386

现在让我们填写/ var / www / html / yum / base / 8 / i386目录。 最简单的方法是插入您的Fedora 8 DVD(您可以从这里下载: http : //mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8 ),安装它,并将rpm包复制到/ var / www / html / yum / base / 8 / i386

mount /dev/cdrom /mnt
cd /mnt/Packages
cp -v * /var/www/html/yum/base/8/i386
cd /
umount /mnt

DVD只包含一组基本的包。 如果要在/ var / www / html / yum / base / 8 / i386目录中包含所有可用的Fedora 8软件包,可以从Fedora 8镜像上的Everything文件夹下载软件包(使用rsync )。 转到http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8 ,找到一个提供rsync的镜像,并按如下所示下载软件包(这可能需要很长时间才能耐心):

rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages/ /var/www/html/yum/base/8/i386

(请确保您使用所有斜杠( / ),如上所示 - 它必须是rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages / ,not rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages !)

然后运行createrepo命令:

createrepo /var/www/html/yum/base/8/i386

这将在/ var / www / html / yum / base / 8 / i386目录中创建一个repodata目录。 其内容如下:

ls -l /var/www/html/yum/base/8/i386/repodata/
[root@server1 /]# ls -l /var/www/html/yum/base/8/i386/repodata/
total 9268
-rw-r--r-- 1 root root 2227275 2007-12-18 21:11 filelists.xml.gz
-rw-r--r-- 1 root root 6487453 2007-12-18 21:11 other.xml.gz
-rw-r--r-- 1 root root  747714 2007-12-18 21:11 primary.xml.gz
-rw-r--r-- 1 root root     951 2007-12-18 21:11 repomd.xml
[root@server1 /]#

现在让我们填写更新目录/ var / www / html / yum / updates / 8 / i386 。 再次访问http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8 ,找到一个提供rsync的镜像,并按如下所示下载软件包:

rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386

再次,请确保您使用如上所示的斜杠( / )!

为了使本地镜像从现在开始自动下载最新的更新,我们可以创建一个cron作业。 例如,要在04:23h的第二天下载最新更新,我们创建以下cron作业:

crontab -e
23 4 */2 * * /usr/bin/rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386

我们当地的yum镜子现在可以使用了。

4客户端配置

为了使Fedora 8系统使用新的本地yum存储库,我们在每个Fedora 8系统上修改/etc/yum.conf (如果是Fedora 8系统,您甚至可以在镜像本身上执行此操作)。 打开/etc/yum.conf

vi /etc/yum.conf

找到这两行...

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

...并在以下行添加以下节:

[base-local]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0

[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0

完整的文件应如下所示:

[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
installonly_limit=2

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

[base-local]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0

[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0

现在,只要您使用yum,本地存储库可以提供所请求的软件包,软件包将从本地yum存储库下载并安装。

5链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏