ユーザ用ツール

サイト用ツール


linux:dnf_local

DNFによるローカルリポジトリの設定

一つ上へ

インターネット環境がない場合はDVDやISOをリポジトリとして登録して使用することがあるため、 ローカルリポジトリの設定方法を知っておくと柔軟に対応できる。

まずは、ディスクを挿入、または仮想マシンでISOファイルを読み込み、ディスクの情報を確認する。

lsblkコマンドでブロックデバイスの情報を取得できる。

# lsblk
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                  8:0    0   127G  0 disk
tqsda1               8:1    0   600M  0 part /boot/efi
tqsda2               8:2    0     1G  0 part /boot
mqsda3               8:3    0 125.4G  0 part
  tqalmalinux-root 253:0    0 117.5G  0 lvm  /
  mqalmalinux-swap 253:1    0   7.9G  0 lvm  [SWAP]
sr0                 11:0    1  11.4G  0 rom

次に、/dev/sr0の情報を取得する。blkidコマンドで挿入されているディスクの情報を取得できる。

# blkid /dev/sr0
/dev/sr0: UUID="2025-05-16-14-23-00-00" LABEL="AlmaLinux-9-6-x86_64-dvd" TYPE="iso9660" PTUUID="5060481f" PTTYPE="dos"

マウントポイントを作成し、マウント処理を行う。

# mkdir /mnt/dvdrepo
# mount -o loop,ro -t iso9660 /dev/sr0 /mnt/dvdrepo

マウントしたディスクの内容を指定して、リポジトリの登録を行う。 /etc/yum.repos.dの中にdvd.repoを作成し、以下のように記載する。 それぞれ、BaseOsとAppStreamにあるパッケージを参照するように設定している。

[local_dvd_BaseOS]
name=Alma Linux 9 x86_64 DVD - BaseOs
baseurl=file:///mnt/dvdrepo/BaseOS/
gpgcheck=0
enabled=0
gpgkey=file:///mnt/dvdrepo/RPM-GPG-KEY-AlmaLinux-9

[local_dvd_AppStream]
name=AlmaLinux 9 x86_64 DVD - AppStream
baseurl=file:///mnt/dvdrepo/AppStream/
enabled=0
gpgcheck=0
gpgkey=file:///mnt/dvdrepo/RPM-GPG-KEY-AlmaLinux-9

マウントしたディスクの内容は以下の通り。AppStreamとBaseOSのパッケージが格納されたディレクトリとGPG鍵が配置されている。

# ls -lh /mnt/dvdrepo/
合計 36K
dr-xr-xr-x 4 root root 2.0K  516 23:23 AppStream
dr-xr-xr-x 4 root root 2.0K  516 23:23 BaseOS
dr-xr-xr-x 3 root root 2.0K  516 23:23 EFI
-r--r--r-- 1 root root  290  516 22:47 EULA
-r--r--r-- 1 root root  18K  516 22:47 LICENSE
-r--r--r-- 1 root root 3.1K  516 22:47 RPM-GPG-KEY-AlmaLinux-9
-r--r--r-- 1 root root 1.6K  516 23:23 TRANS.TBL
-r--r--r-- 1 root root  719  516 23:22 extra_files.json
dr-xr-xr-x 3 root root 2.0K  516 23:23 images
dr-xr-xr-x 2 root root 2.0K  516 23:23 isolinux
-r--r--r-- 1 root root   86  516 23:22 media.repo

リポジトリを作成したら、クリーンアップする。

dnf clean all

パッケージをインストールする際は、オプションで既存のリポジトリを無効にし、追加したリポジトリを指定してインストールを行う。

# dnf update -y --disablerepo=\* --enablerepo=local_dvd_*
linux/dnf_local.txt · 最終更新: 2025/10/30 01:37 by mikoto