ネットワークに繋がっていてもインターネットにはつながらない、客先のオンプレミスな環境で、Linux システムを長期間運用して困ったことがあります。それはメインのアプリケーションを更新する際に、依存関係にあるライブラリのアップデートをすることです。ネットワークに繋がっていても、実質的にオフラインと同じ環境なので、ここではこのような環境も「オフライン環境」として扱います。
オフライン環境で dnf (yum) によるパッケージのインストールあるいはアップデートをする方法について、インターネットで得られた情報(サイト)を備忘録としてまとめました。
以下のサイトでは、インターネットが利用できる環境で必要な rpm パッケージをダウンロードして、ローカルに yum リポジトリを作成、それをオフラインのシステムに移す方法が解説されています。
- インターネットと疎通がないマシンに yum で RPM をインストールする - CUBE SUGAR CONTAINER [2015-08-31]
- オフライン環境にyumリポジトリ、rubyをインストールする - Qiita [2018-05-19]
以下のサイトでは、ダウンロードしたい rpm パッケージと依存関係にあるパッケージもダウンロードする方法が解説されています。
- CentOS7で指定したパッケージと依存関係にあるパッケージをダウンロードする [2018-01-22]
- rpmパッケージのダウンロードだけ実行する - Soukaku's HENA-CHOKO Blog [2018-03-25]
以下のサイトでは、いっそのこと、インターネット上のリポジトリのミラーをローカルに作成してしまおうというアプローチについて説明されています。
- 独自/ミラー yum リポジトリを作ろう - アシアルブログ [2010-04-07]
- ローカル環境内に yum リポジトリを作成する : まだプログラマーですが何か? [2014-01-29]
- CentOS 7でyumサーバ(yumリポジトリミラーサーバ)を構築する | 俺的備忘録 〜なんかいろいろ〜 [2015-03-31]
- 【Linuxを使いこなす】 CentOSのローカルリポジトリを構築しよう | システムや業務のプロデュースカンパニー | 株式会社アドックインターナショナル [2016-04-10]
コンテナを使えばいいのでは?
ローカルにリポジトリ作成に関する情報の検索に熱中していましたが、そうなんです、コンテナを使えば現場の作業がシンプルになります。OS レベルの仮想化 (Docker/Podman)、アプリケーションの仮想化 (Flatpak など)、何にするにしても、更新されたアプリケーションを仮想化されたコンテナで供給し、古いコンテナと置き換えてデプロイすれば良いのです。
とは言え、システム構成を決められる立場になく、しかたなくそのシステムを使わなければならない、なんてことは業務ではままあることですので、備忘録として残します。
0 件のコメント:
コメントを投稿