はじめに
インターネット接続できない環境でLinux構築する必要があり、CentOS 8.3にローカルリポジトリを作成した手順の備忘録です。
CentOSはDVDメディア等を使用して初期インストールを行います(割愛)。今回はisoファイルのをマウントしてローカルリポジトリを作成します。
isoファイルのマウント
isoファイルをtmp配下に置いて、/media/CentOS/にマウントします。このパスなのは、後で編集するrepoファイル内のデフォルトパスを流用するためです。
# mount /tmp/CentOS-8.3.2011-x86_64-dvd1.iso /media/CentOS
# ls /media/CentOS
AppStream BaseOS EFI LICENSE TRANS.TBL images isolinux media.repo
この時点でリポジトリ一覧は下記のようになっています。すべて無効化してMediaリポジトリを有効化していきます。
# dnf repolist
repo id repo の名前
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
extras CentOS Linux 8 - Extras
appstream、baseos、extras無効化
repoファイルを編集してインターネットリポジトリを無効化します。
/etc/yum.repos.d/CentOS-Linux-AppStream.repo
# CentOS-Linux-AppStream.repo
[appstream]
name=CentOS Linux $releasever - AppStream
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=0 ##ここを"0"に変更した
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
/etc/yum.repos.d/CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=0 ##ここを"0"に変更した
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
/etc/yum.repos.d/CentOS-Linux-Extras.repo
[extras]
name=CentOS Linux $releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/extras/$basearch/os/
gpgcheck=1
enabled=0 ##ここを"0"に変更した
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
media repo有効化
Mediaリポジトリを有効化します。
/etc/yum.repos.d/CentOS-Linux-Media.repo
[media-baseos]
name=CentOS Linux $releasever - Media - BaseOS
baseurl=file:///media/CentOS/BaseOS ##この行のコメントアウトを解除
# file:///media/cdrom/BaseOS
# file:///media/cdrecorder/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[media-appstream]
name=CentOS Linux $releasever - Media - AppStream
baseurl=file:///media/CentOS/AppStream ##この行のコメントアウトを解除
# file:///media/cdrom/AppStream
# file:///media/cdrecorder/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
ここまででローカルリポジトリが使えるようになりました。
dnfでインストール
では最後にvsftpdをインストールしてみます。
# dnf install vsftpd
CentOS Linux 8 - Media - BaseOS 123 MB/s | 2.3 MB 00:00
CentOS Linux 8 - Media - AppStream 123 MB/s | 6.2 MB 00:00
依存関係が解決しました。
===================================================================================
パッケージ Arch バージョン リポジトリー サイズ
===================================================================================
インストール:
vsftpd x86_64 3.0.3-32.el8 media-appstream 180 k
トランザクションの概要
===================================================================================
インストール 1 パッケージ
合計サイズ: 180 k
インストール済みのサイズ: 343 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
以下略
おわりに
無事にローカルリポジトリを有効化してdnfでインストールすることができました。