はじめに
この記事を見ているっていうことは、自分と同じく「スタンドアロン環境でサーバ構築」しようとしているかなーと思います。
OSのディスクイメージをDLする際、dvd版とminimal版が存在します。
(一旦細かいことは置いておいて)上記2つの違いとして「最初からインストールされているパッケージ量の違い」が挙げられます。
リポジトリサーバを環境内に作っていない場合、このやり方は使うんじゃないかなーと思うので、参考になれば幸いなり。
背景・目的
- スタンドアロン環境でLinuxサーバにパッケージをインストールしたい
- あるのはOS媒体のみ!
- minimal版で足りないパッケージがいろいろあるよー
- OS媒体を使って、ローカルリポジトリを建てよう!
環境
- OS:AlmaLinux 8.4
実装・手順
ステップ1:まずはDVD版媒体をそうぬー
読んで字のごとく。
とりあえず、マシンに媒体をぶちこむのだ。
ステップ2:媒体のマウント
マウントをしましょう。
マウント先は/mediaで大丈夫なハズ。
デバイスファイルはほかに何も挿入していなければ、たぶん/dev/sr0だと思う。
mount -r /dev/sr0 /media
マウント出来たら、中身がのぞけるようになっているか確認しよう。
ll /media
電源オン/オフが多いと、毎回マウントするのは面倒くさいから、/etc/fstabに書いて自動マウントしちゃうようにしてもいいとは思うけど、これはお好みかな。
vi /etc/fstab
~viエディタが開いたら、最下行に↓エントリを追加~
/dev/sr0 /media iso9660 ro,auto,nofail 0 0
ステップ3:リポジトリファイルの作成
リポジトリファイルってなんぞ・・・っていう方はググってねー
これがないと、パッケージ管理ツール(yum,dnf)がパッケージを見つけられない(表現あってるのか?)ので、作らなきゃダメっす。
まずは、原本をコピって所定のディレクトリにリポジトリファイルを置いてみよう。
cp /media/media.repo /etc/yum.repos.d
配置が完了したら、使えるように編集しましょ。
vi /etc/yum.repos.d/media.repo
~viエディタが開いたら、以下のように編集する~
[InstallMedia-BaseOS]
name=InstallMedia-BaseOS
mediaid=None
metadata_expire=1
gpgcheck=1
cost=500
baseurl=file:///media/BaseOS
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Almalinux
[InstallMedia-AppStream]
name=InstallMedia-AppStream
mediaid=None
metadata_expire=1
gpgcheck=1
cost=500
baseurl=file:///media/AppStream
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Almalinu
~EOF~
※media.repoファイルは上記記述だけあれば、一旦おk
保存して終了
ステップ4:GPGキーのインポート
まだあるっす。
このままでインストールしようとするとGPGエラーが発生するため、GPG KEYのインポートが必要です。
・・・メンドイかもだけど、いちお下記説明を読んでみてね。
**GPG署名について**
GPGとは・・・
正式名称は「GNU Privacy Guard」といい、Linux環境では自分が意図した作成者が作ったソフトであるか、使うインストーラーが本物であることを検証(身元が正しいかどうか)してからインストールします。このとき、ソフトウェアが検証に使用される仕組みの一つがGPGです。
GPGは暗号化ソフトウェアであり、暗号化だけでなく署名や認証といったオンライン上の機密や信用を管理するツールとして使用されます。
特徴として、公開鍵暗号方式を使用しますが、その鍵の管理のために認証局を設置しません。各利用者の責任でカギを管理し、取得した公開鍵をチェックします。
署名は署名でも、カギに対する署名とファイルに対する署名の二種類があるため、注意が必要です。
ほぇ~~・・・(おれもよくわからん)
インストールメディアからパッケージをインストールする際、どうやらGPG KEYは既に所持している状態であるため、取り出す(インポートする)ことによってGPGチェックをPASSできるみたい。
難しいことはさておき、要はこんな感じと解釈↓。
このパッケージ、本当に大丈夫なやつ?
↓
え!?証明できるカギないやん!
↓
ほんじゃ、インストールさせるわけにはいかんな~(ニヤニヤ)
↓
(懐にしまってあるカギを取り出す)
↓
ウェァッ!?もっとるやんけ・・・最初からだしーな・・・
↓
インストールしますか?[Y/n]
・・・あってるかわかんないけど、もりおはこんな感じに解釈した。
外部のパッケージをインストールする際はまた新たなカギが必要であると思うけど、そもそもこのGPGチェック自体は回避も可能。(できるんかい)
「鍵なんか知るか、あほぅ!!」という方はインストールする際、以下の方法を使ってみてくださいまし。
dnf install --nogpgcheck <パッケージ名>
たしか、これで良いはず・・・
良い子のみんなはちゃんと以下のコマンドを実行して、鍵を用意してからインストールしような?おじさんとの約束だぞ!
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
ステップ5:おまじない
ここまで出来れば、もうパッケージインストールはできる状態だと思いますが、念のため確認作業を~
dnf repolist
上記コマンド実行した標準出力に以下の内容が出てくればおk。
===============================================================
repo id repo name
InstallMedia-AppStream InstallMedia-AppStream
InstallMedia-BaseOS InstallMedia-BaseOS
===============================================================
あとは最後にこれも置いておくね。
dnf clean all
ここまで来れば、いい子も悪い子もパッケージインストールできるようになってるハズ・・・!!
完
最後に
簡単な手順でもQiitaに出すの大変・・・
なんとか試行錯誤しながら、効率化していかないとな~。。。
引き続き頑張っていくぜ。