Rocky Linuxでのカスタムリポジトリの作成と管理

Rocky Linuxでのカスタムリポジトリの作成と管理

本記事では、Rocky Linuxでのカスタムリポジトリの作成と管理方法を詳しく解説します。社内向けリポジトリの構築や、パッケージ管理の最適化に役立つ手順です。以下の手順に従い、独自のリポジトリを作成して管理する方法を学びましょう。

1. 必要なパッケージのインストール

まず、カスタムリポジトリの作成に必要なパッケージをインストールします。

sudo dnf install -y createrepo nginx

createrepoはリポジトリのメタデータを生成し、nginxはリポジトリを公開するために使用します。

2. リポジトリ用のディレクトリを作成

カスタムリポジトリに使用するディレクトリを作成します。例えば、/var/www/html/myrepoを作成します。

sudo mkdir -p /var/www/html/myrepo

作成したディレクトリに必要なRPMファイルを配置します。

3. リポジトリメタデータの生成

配置したRPMファイルを元にメタデータを生成します。これにより、パッケージの情報が管理されます。

sudo createrepo /var/www/html/myrepo

RPMパッケージを追加・更新した場合には、再度createrepoを実行する必要があります。

4. Nginxの設定

次に、Nginxを設定してリポジトリを公開します。/etc/nginx/nginx.confを編集し、リポジトリディレクトリを公開するよう設定します。

Nginx設定例:

server {
listen 80;
server_name myrepo.local;
location /myrepo {
    alias /var/www/html/myrepo;
    autoindex on;
}
}

設定後、Nginxを再起動します。

sudo systemctl restart nginx

5. ファイアウォール設定

ファイアウォールでHTTPサービスを許可し、リポジトリを外部からアクセス可能にします。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

6. クライアント側でのリポジトリ設定

クライアント側でリポジトリを利用するには、リポジトリ設定ファイルを作成します。通常は、/etc/yum.repos.d/myrepo.repoという名前で設定ファイルを作成します。

設定ファイル例:

name=My Custom Repository
baseurl=http://myrepo.local/myrepo
enabled=1
gpgcheck=0

baseurlには、リポジトリのURLを指定します。

7. リポジトリの動作確認

設定が完了したら、クライアント側でリポジトリが正常に動作しているか確認します。以下のコマンドでパッケージが一覧表示されれば、設定が正常に行われています。

sudo dnf repolist

8. リポジトリの更新

新しいRPMパッケージをリポジトリに追加した場合、再度メタデータを更新する必要があります。

sudo createrepo --update /var/www/html/myrepo

このコマンドにより、既存のメタデータを更新します。

まとめ

以上で、Rocky Linuxでのカスタムリポジトリの作成と管理が完了しました。社内ネットワークや開発環境で独自のパッケージ管理を行う際に便利です。Nginxによる公開やファイアウォールの設定も含め、安全で効率的なパッケージ管理を実現しましょう。