如果机构内的电脑数量多的话, 建立本地的 YUM Repository 后, 便不用每个套件在不同电脑都下载一次, 可以节省不少频宽, 以下是在 CentOS 建立本地 YUM Repository 的方法。
先建立以下目录, 以下例子是 CentOS 7 的 x86_64, 需要根据需要修改:
# mkdir -pv /var/www/html/centos/7/updates/x86_64
# mkdir -pv /var/www/html/centos/7/os/x86_64
# mkdir -pv /var/www/html/centos/7/os/x86_64/CentOS/RPMS/
# mkdir -pv /var/www/html/centos/7/os/x86_64
# mkdir -pv /var/www/html/centos/7/os/x86_64/CentOS/RPMS/
然后将 CentOS DVD 内的 RPM 复制到 Base Repository 目录 /var/www/html/centos/base.
建立 repository headers:
# createrepo /var/www/html/centos/7/os/x86_64
接着用 rsync 将 CentOS 的更新档复制到本地端, CentOS 的完整可以在以下 CentOS 官方网站找到:
例如用 rsync://linux.cs.nctu.edu.tw/CentOS/ 更新:
/usr/bin/rsync -avrt rsync://linux.cs.nctu.edu.tw/CentOS/7/updates/x86_64 –exclude=debug/ /var/www/html/centos/7/updates/
以上指令会将完整地将 update repository 复制到 /var/www/html/centos/7/updates/x86_64.
为了日后方便维护, 可以将以上指令放到 crontab 排程自动执行, 那便可以有更新时自动下载新套件。
下载了更新套件到本地目录后, 便要设定 YUM 设定, 开启档案 /etc/yum.repos.d/CentOS-Base.repo, 将以上主机的 Yum Repository 加入便可以了, 例如主机位置是 192.168.1.10, 加入以下内容:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[base] name=CentOS-$releasever - Base baseurl=http://192.168.1.10/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [update] name=CentOS-$releasever - Updates baseurl=http://192.168.1.10/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 |
之后就可以透过本地 YUM Repository 更新了。