🗂️

Linuxのパッケージインストール備忘

に公開

前提

Red Hat系ディストリビューション(RHEL/CentOS/AlmaLinux/Rocky)を想定。

  • 権限: root もしくは sudo が使えること
  • 媒体: DVDドライブ(例: /dev/sr0)に挿入したインストールDVD、またはISOファイル
  • バージョン差異:
    • RHEL/CentOS 7: yum
    • RHEL/Alma/Rocky 8/9: dnfyumは互換コマンドとして動作)

マウントまでの流れ

  1. 媒体(デバイス/ISO)の確認
  • DVD/Blu-ray メディア:
    • デバイス名の確認: lsblk -f もしくは blkid
    • 一般的には /dev/sr0 が光学ドライブ
  • ISOファイル:
    • 例: /root/RHEL-8.8-x86_64-dvd.iso
  1. マウント先ディレクトリの準備(必要なら作成)
sudo mkdir -p /mnt/cdrom
sudo mkdir -p /mnt/iso    # ISOファイル用(任意)
  1. マウントコマンドの実行
  • 光学ドライブをマウント(読み取り専用):
sudo mount -t iso9660 -o ro /dev/sr0 /mnt/cdrom
  • 一部メディアはUDF形式のため、失敗する場合は次を試す:
sudo mount -t udf,iso9660 -o ro /dev/sr0 /mnt/cdrom
  • ISOファイルをループバックマウント(読み取り専用):
sudo mount -o loop,ro /path/to/file.iso /mnt/iso
  1. マウント確認
df -hT | grep -E '/mnt/cdrom|/mnt/iso'
# または
mount | grep -E '/mnt/cdrom|/mnt/iso'

パッケージインストール(DVD/ISOリポジトリを使う)

DVDやISOから直接パッケージを取得するため、yum/dnf のリポジトリを file:// ベースで作成する。

  1. RHEL 8/9 系(BaseOS と AppStream の2系統)
  • リポジトリファイル作成(例: /etc/yum.repos.d/local-dvd.repo
sudo tee /etc/yum.repos.d/local-dvd.repo >/dev/null <<'EOF'
[local-BaseOS]
name=Local BaseOS from DVD
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=1
# ディストリごとのGPGキーに置き換える(例はRHELの一般的なキー)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[local-AppStream]
name=Local AppStream from DVD
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
  • ISOを /mnt/iso にマウントしている場合は baseurl=file:///mnt/iso/BaseOS などに変更。
  1. RHEL/CentOS 7 系(単一ツリー)
  • リポジトリファイル作成(例: /etc/yum.repos.d/local-dvd.repo
sudo tee /etc/yum.repos.d/local-dvd.repo >/dev/null <<'EOF'
[local-dvd]
name=Local DVD
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
  • ディストリに応じて gpgkey は適切なキーに差し替え(Alma/Rocky 等)。不明な場合は一時的に gpgcheck=0 でも可(推奨はGPG有効)。
  1. キャッシュ更新とリポジトリ確認
sudo yum clean all || sudo dnf clean all
sudo yum makecache || sudo dnf makecache
sudo yum repolist || sudo dnf repolist
  1. パッケージインストール(ローカルDVD/ISOリポジトリを優先)
sudo yum --disablerepo='*' --enablerepo='local-*' install <package>
# dnf を使う場合
sudo dnf --disablerepo='*' --enablerepo='local-*' install <package>
  1. アンマウントと後片付け
sudo umount /mnt/cdrom  # または /mnt/iso

使用中でアンマウントできない場合は、開いているシェルのカレントディレクトリや参照中プロセスを閉じる(必要なら lsof +f -- /mnt/cdrom で確認)。

永続化(任意)

再起動後も簡単にマウントできるように /etc/fstab に登録:

  • 光学ドライブ
echo '/dev/sr0  /mnt/cdrom  iso9660  ro,noauto,nofail  0 0' | sudo tee -a /etc/fstab
  • ISOファイル
echo '/path/to/file.iso  /mnt/iso  iso9660  loop,ro,noauto,nofail  0 0' | sudo tee -a /etc/fstab

noauto を付けると自動マウントはしないが sudo mount /mnt/cdrom のように簡易にマウント可能。

トラブルシュート

  • マウント時に「wrong fs type」: -t udf,iso9660 を指定して再試行。
  • 権限エラー: sudo を付ける。
  • リポジトリが参照されない: --disablerepo='*' --enablerepo='local-*' で絞り込む。
  • サブスクリプションや他リポジトリの競合: 一時的に無効化、または priority を設定。

Discussion