CentOS DVD(ISO)をyumレポジトリにする

Linuxネタ

まずはCentOS DVD ISOイメージをダウンロード。以下記事参照。

とりあえず/root 配下にisoを置く。

[root@cent7S2 ~]# ls -lh /root/*iso
-rw-r--r--. 1 qemu qemu 4.4G  1月 25  2021 /root/cent7.iso

ISOを/mntにマウントする。

[root@cent7S2 ~]# mount -t iso9660 /root/cent7.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
[root@cent7S2 ~]# df -h /mnt
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/loop0       4.4G  4.4G     0  100% /mnt
[root@cent7S2 ~]# ls /mnt
CentOS_BuildTag  EFI  EULA  GPL  LiveOS  Packages  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL  images  isolinux  repodata
[root@cent7S2 ~]#

古いレポジトリのキャッシュを削除しておく(念の為)。yum listをうつと、今は設定していない過去のレポジトリで取得した情報がキャッシュされていることがあるので。

[root@cent7S yum.repos.d]# yum clean all
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
リポジトリーを清掃しています: local
Cleaning up list of fastest mirrors

レポジトリを新規作成する。今回はlocal.repoという名前にする(名前は任意)。

[root@cent7S2 /]# cd /etc/yum.repos.d/
[root@cent7S2 yum.repos.d]# ls
[root@cent7S2 yum.repos.d]# vi local.repo
[root@cent7S2 yum.repos.d]# cat !$
cat local.repo
[local]
name=localrepo
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@cent7S2 yum.repos.d]#

/mnt なのに file:///mnt と指定するのはスペルミスではなく、そういうルールらしい。

yum repolistでレポジトリが読み込まれていることを確認。

[root@cent7S2 yum.repos.d]# yum repolist
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
リポジトリー ID                                                                            リポジトリー名                                                                       状態
!local                                                                                     localrepo                                                                            4,070
repolist: 4,070

yum listで確認。右恥の「local」という部分の情報が、今回新規作成したlocal.repo経由で得れる情報。

[root@cent7S2 yum.repos.d]# yum list | tail
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
ypbind.x86_64                           3:1.37.1-9.el7                 local
ypserv.x86_64                           2.31-12.el7                    local
yum-plugin-aliases.noarch               1.1.31-54.el7_8                local
yum-plugin-changelog.noarch             1.1.31-54.el7_8                local
yum-plugin-tmprepo.noarch               1.1.31-54.el7_8                local
yum-plugin-verify.noarch                1.1.31-54.el7_8                local
yum-plugin-versionlock.noarch           1.1.31-54.el7_8                local
zlib-devel.x86_64                       1.2.7-18.el7                   local
zsh.x86_64                              5.0.2-34.el7_8.2               local
zziplib.x86_64                          0.13.62-12.el7                 local

一通りyum installなどの使用が終わったら後片付け。

[root@cent7S2 yum.repos.d]# df -h /mnt
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/loop0       4.4G  4.4G     0  100% /mnt
[root@cent7S2 yum.repos.d]# umount /mnt
[root@cent7S2 yum.repos.d]# df -h /mnt
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    50G   17G   34G   33% /
[root@cent7S2 yum.repos.d]#
[root@cent7S2 yum.repos.d]# pwd
/etc/yum.repos.d
[root@cent7S2 yum.repos.d]# ls
local.repo
[root@cent7S2 yum.repos.d]# rm local.repo
rm: 通常ファイル `local.repo' を削除しますか? y
[root@cent7S2 yum.repos.d]# yum clean all
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 To enable Red Hat Subscription Management repositories:
     subscription-manager repos --enable <repo>
 To enable custom repositories:
     yum-config-manager --enable <repo>
[root@cent7S2 yum.repos.d]# yum repolist
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repolist: 0
[root@cent7S2 yum.repos.d]#
[root@cent7S2 yum.repos.d]# yum list | tail
yelp-libs.x86_64                            2:3.28.1-1.el7             @anaconda
yelp-xsl.noarch                             3.28.0-1.el7               @anaconda
yum.noarch                                  3.4.3-168.el7.centos       @anaconda
yum-langpacks.noarch                        0.4.2-7.el7                @anaconda
yum-metadata-parser.x86_64                  1.1.4-10.el7               @anaconda
yum-plugin-fastestmirror.noarch             1.1.31-54.el7_8            @anaconda
yum-utils.noarch                            1.1.31-54.el7_8            @anaconda
zenity.x86_64                               3.28.1-1.el7               @anaconda
zip.x86_64                                  3.0-11.el7                 @anaconda
zlib.x86_64                                 1.2.7-18.el7               @anaconda
[root@cent7S2 yum.repos.d]#
[root@cent7S2 yum.repos.d]# rm /root/cent7.iso
rm: 通常ファイル `/root/cent7.iso' を削除しますか? y
[root@cent7S2 yum.repos.d]#

以上。