第14章 カスタムファイルタイプコンテンツの管理
Satellite で、SSH キーおよびソースコードファイル、仮想マシンイメージや ISO ファイルなどの大容量ファイルの管理と配布が必要になる場合があります。これには、Red Hat Satellite のカスタム製品にカスタムファイルタイプのリポジトリーを追加します。こうすることで、製品に任意のファイルを組み込む一般的な方法が提供されます。
リポジトリーにファイルをアップロードし、アップストリームの Satellite Server からファイルを同期できます。ファイルをカスタムのファイルタイプリポジトリーに追加すると、特定のバージョンをコンテンツビューに追加して、さまざまな Capsule Server でファイルのリポジトリーを利用可能にするなど、通常の Satellite 管理機能を使用できます。curl -O を使用して、HTTP または HTTPS 経由でクライアントにファイルをダウンロードする必要があります。
Satellite Server のファイルタイプリポジトリーはカスタム製品に対してのみ作成できますが、リポジトリーソースは柔軟に作成できます。Satellite Server またはリモート HTTP サーバーのディレクトリーに独立したリポジトリーソースを作成し、そのディレクトリーの内容を Satellite に同期できます。この方法は、Satellite リポジトリーに追加するファイルが複数ある場合に便利です。
14.1. カスタムファイルタイプリポジトリーのローカルソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
Satellite が Pulp Manifest コマンドを使用してインストールされているベースシステムで、ファイルのディレクトリーから、カスタムファイルタイプリポジトリーを作成できます。その後、ファイルをリポジトリーに同期し、カスタムファイルタイプのコンテンツを他のコンテンツタイプと同様に管理できます。
以下の手順を使用して、Satellite がインストールされているベースシステムのディレクトリーにリポジトリーを設定します。リモートサーバーのディレクトリーにファイルタイプリポジトリーを作成するには、「カスタムファイルタイプリポジトリーのリモートソースの作成」 を参照してください。
手順
Utils リポジトリーが有効になっていることを確認します。
subscription-manager repos \ --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms \ --enable=satellite-utils-6.13-for-rhel-8-x86_64-rpms
# subscription-manager repos \ --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms \ --enable=satellite-utils-6.13-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-utils モジュールを有効にします。
dnf module enable satellite-utils
# dnf module enable satellite-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pulp マニフェストパッケージをインストールします。
satellite-maintain packages install python39-pulp_manifest
# satellite-maintain packages install python39-pulp_manifestCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Satellite サービスを停止し、
satellite-installerを再実行することに注意してください。または、サービスの停止によるダウンタイムを防ぐために、次を使用できます。satellite-maintain packages unlock dnf install python39-pulp_manifest satellite-maintain packages lock
# satellite-maintain packages unlock # dnf install python39-pulp_manifest # satellite-maintain packages lockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のように、ファイルタイプリポジトリーとして使用するディレクトリーを作成します。
mkdir -p /var/lib/pulp/local_repos/my_file_repo
# mkdir -p /var/lib/pulp/local_repos/my_file_repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 親フォルダーを許可されたインポートパスに追加します。
satellite-installer --foreman-proxy-content-pulpcore-additional-import-paths /var/lib/pulp/local_repos
# satellite-installer --foreman-proxy-content-pulpcore-additional-import-paths /var/lib/pulp/local_reposCopy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリーにファイルを追加して、テストファイルを作成します。
touch /var/lib/pulp/local_repos/my_file_repo/test.txt
# touch /var/lib/pulp/local_repos/my_file_repo/test.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pulp Manifest コマンドを入力して、マニフェストを作成します。
pulp-manifest /var/lib/pulp/local_repos/my_file_repo
# pulp-manifest /var/lib/pulp/local_repos/my_file_repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow マニフェストが作成されたことを確認します。
ls /var/lib/pulp/local_repos/my_file_repo PULP_MANIFEST test.txt
# ls /var/lib/pulp/local_repos/my_file_repo PULP_MANIFEST test.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、ローカルソースをカスタムファイルタイプリポジトリーとしてインポートできるようになりました。file:// URL スキームとディレクトリーの名前を使用して、Upstream URL (file:///var/lib/pulp/local_repos/my_file_repo など) を指定します。詳細は、「カスタムファイルタイプリポジトリーの作成」 を参照してください。
ディレクトリーの内容を更新する場合は、Pulp Manifest を再実行し、Satellite でリポジトリーを同期します。詳細は、「リポジトリーの同期」 を参照してください。