我們經常在安裝完Centos後,需要安裝些軟件包,但有時遇到網絡故障,或者網速太慢,軟件下載是個大問題。
如果我們能用OS的鏡像在製作Yum repo,實現軟件包本地下載,將極大提高工作效率。
以下以centos7爲例,以下腳本本人已測試可正常工作
(需先下載centos7的安裝鏡像文件CentOS-7-x86_64-DVD-1511.iso)
#! /bin/bash
1. 掛載Centos7 ISO鏡像文件
mkdir -p /mnt/iso
mount -o loop -t iso9660 /root/CentOS-7-x86_64-DVD-1511.iso /mnt/iso/
2. 拷貝mnt中Package和repodata目錄到本地文件
mkdir -p /yumrepo/local
cp -rvf /mnt/iso/Packages /yumrepo/local -r
cp -rvf /mnt/iso/repodata /yumrepo/local -r
3. 拷貝mnt中 RPM-GPG-KEY-CentOS-7到本地
mkdir -p /etc/pki/rpm-gpg/
cp -rvf /mnt/iso/RPM-GPG-KEY-CentOS-7 /etc/pki/rpm-gpg/
4. 刪除掉/etc/yum.repos.d下面的各個repo文件
rm /etc/yum.repos.d/* -rf
5. 編輯生成/etc/yum.repos.d/CentOS-Local.repo
cat /dev/null > /etc/yum.repos.d/CentOS-Local.repo
echo "[Local]" >> /etc/yum.repos.d/CentOS-Local.repo
echo "name=Local Yum" >> /etc/yum.repos.d/CentOS-Local.repo
echo "baseurl=file:///yumrepo/local" >> /etc/yum.repos.d/CentOS-Local.repo
echo "gpgcheck=1" >> /etc/yum.repos.d/CentOS-Local.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7" >> /etc/yum.repos.d/CentOS-Local.repo
echo "enable=1" >> /etc/yum.repos.d/CentOS-Local.repo
echo "/etc/yum.repos.d/CentOS-Local.repo is created!"
6.更新緩存
yum makecache