如何在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链接
- Fedora: http : //fedoraproject.org