server-memo.net

yumでインストール・更新したパッケージを残しておく方法

   

yumでパッケージのインストール・更新を行った場合、通常ダウンロードしてきたパッケージは削除されてしまいますが、そのパッケージを削除せずに残しておく設定方法を説明します。

ただし、パッケージを残すと当然ですがディスクの容量を圧迫しますので、運用時は十分に注意してください。

設定方法

パッケージを残すためには、yumの設定ファイルである「/etc/yum.conf」を編集する必要があります。

yum.conf設定変更

作業前には念のため「yum.conf」のバックアップを行っておきましょう。

# cp -p /etc/yum.conf /etc/yum.conf_yyyymmdd
# vi /etc/yum.conf

編集項目

「keepcache」の設定値を「1」に設定することで、ダウンロードしてきたパッケージをそのまま残すという設定になります。

編集前
keepcache=0
編集後
keepcache=1

これで、パッケージが保存されるようになりました。

パッケージ保存ディレクトリ

パッケージが保存されるディレクトリは「/etc/yum.conf」の下記項目で設定されています。

cachedir=/var/cache/yum/$basearch/$releasever

CentOS7であれば「/var/cache/yum/x86_64/7/」にそれぞれのリポジトリに対応したディレクトリが作成され、その中の「packages」ディレクトリにパッケージが保存されます。

# ls -lh /var/cache/yum/x86_64/7/
合計 40K
drwxr-xr-x 4 root root 4.0K  9月  5 15:36 base
drwxr-xr-x 4 root root 4.0K  8月  6 18:11 epel
drwxr-xr-x 4 root root 4.0K  9月  5 15:36 extras
drwxr-xr-x 4 root root 4.0K  7月  7 13:35 remi
drwxr-xr-x 4 root root 4.0K  7月  9 00:24 remi-php70
drwxr-xr-x 4 root root 4.0K  9月  5 15:36 remi-safe
drwxr-xr-x 4 root root 4.0K  7月  7 13:39 remi-test
-rw-r--r-- 1 root root 1.6K  9月  5 15:36 timedhosts
-rw-r--r-- 1 root root 1.4K  8月 26 16:09 timedhosts.txt
drwxr-xr-x 4 root root 4.0K  9月  5 15:36 updates

「base」「updates」「epel」といったディレクトリ内の「packages」ディレクトリにパッケージが保存されます。

「wget」を「yum」でインストールした後に確認してみると。パッケージが削除されず残されていることが確認できました。

# ls -lh /var/cache/yum/x86_64/7/base/packages/
合計 552K
-rw-r--r-- 1 root root 546K 10月 31  2014 wget-1.14-10.el7_0.1.x86_64.rpm

 - yum