LoginSignup
2
2

More than 5 years have passed since last update.

yum updateをキャッシュから実行する

Posted at

yumの使い方レベルの話なので、ほぼ自分用のメモです。

やりたいこと

複数の環境(本番・開発など)で別々の時期にパッケージインストール、更新をする際に、パッケージバージョンを合わせられるようにyum updateを実行できるようにしたい

環境

よくあるインフラ運用のシーンを想定し、ここでは以下の環境を想定する。
* 開発検証環境(今日作業する)
* 本番環境(本番リリースである1ヶ月後に作業する予定)

解決方法

環境数や範囲があまりにも多い場合はキャッシュリポジトリを作るといった大掛かりなことが考えられるが、今回は数台レベル想定なので、ローカルキャッシュを用いる。

実際の手順

開発環境でyum updateする。

# yum update

これで開発環境はその日時点の最新状態になる。

次に本番環境でリポジトリのメタ情報のキャッシュ作成とパッケージ取得を行う。

# mkdir repocache
# yum update --downloadonly --downloaddir=repocache

ポイントは--downloadonlyオプション。
パッケージの取得まで行うが、インストールは行わず処理を終了してくれる。
ここではyum updateで更新対象となったパッケージ群のrpmファイルがrepocacheフォルダに保存される。

そして日を改め、本番環境でリリース作業を行う時、キャッシュからアップデートを行う。

# yum -C update --downloaddir=repocache

-Cオプションを使うことで、最新のリポジトリメタ情報を取得しに行かず、キャッシュからupdateの対象を選びに行く。
そして、ダウンロード済みのrpmファイル郡は全部保存されているため、保存先を--downloaddirオプションで指定してあげることで無事キャッシュからyum updateができる。

これで2つの環境のパッチレベル・パッケージバージョンは同一の状態を成立できる。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2