yum + Linux Redhatで使用されていないrpm /パッチを削除する方法

yum + Linux Redhatで使用されていないrpm /パッチを削除する方法

RedHat Linuxシステムにパッチアップデートをインストールするためにyumを使用しています。

未使用のrpm /パッチを削除するためにyumを他の方法で使用できますか?

私の目標は、パーティションのいくつかのスペースを確保するために不要なrpm /パッチを削除することです。

はい

以前のrpmカーネルを削除する次のコマンドが見つかりました。

 (package-cleanup) from - yum install yum-utils

 package-cleanup --oldkernels --count=1

答え1

yumを使用して新しいアップデートをインストールすると、元のインストール済みパッケージとバイナリも更新されます。複数のコピーを保持しません。しかし、さまざまなものをキャッシュします。

独自のキャッシュファイルyum cleanを設定するために使用できるさまざまなオプションがあります。yum

たとえば、yum clean packagesダウンロードしたキャッシュパッケージが削除され、他のいくつかのオプションが役に立ちますが、通常、yumデータは次回の実行時にのみ書き換えられます。

man yum他のクリーニングオプションに関する情報が提供されます。

答え2

削除できるパッケージを決定するには、2つの方法を使用することをお勧めします。

  • 関連するRedHatバージョン(ただし、言及していない)を最小限にインストールし、システムが実行することが期待される作業に必要なパッケージのみを一番上に追加します。
    次に、名前ですべてのパッケージのリストを取得し(少し最新/以前のバージョンのパッケージと簡単に比較できます)、 rpm -qa --qf="%{N} \n" | sort > minimal_install 「クリーンアップする」システムのバックアップを作成し、リストにないパッケージを削除しますminimal_install。徹底的なレビュー。

  • パッケージをサイズで並べ替え、リストの上部にあるパッケージの一部を削除して、最小限のパッケージでディスク容量を最大限に節約します。たとえば、リストを取得します。 rpm -qa --qf '%{size} \t%{name}\n' | sort -n > packages_sorted_by_size

  • 実際にディスク領域の大部分を占めるものが何であるかを確認することは、例えば du -mx /|sort -rn|head -35/usrがリストの一番上になければrpmパッケージをクリーンアップする優先順位にしてはいけません。

答え3

「yum update」ジョブを実行すると、システム内のすべてのパッケージが更新されます。

具体的には、これを意味します。新しいバージョンのダウンロード新しいバージョンのダウンロードを確認してください。新しいバージョンのインストール/更新新しいバージョンのインストールを確認する

古いパッケージはインストールされなくなり、新しいパッケージのみがインストールされます。どの拡張子を持っているかに応じて、ディスクにrpmファイルしかない場合があります。 「yum clean all」は、次のyum操作で再生成されたリポジトリメタデータとともにそのファイルを削除します。

または、たとえば、Firefox アップデートにのみ興味がある場合、「yum update firefox」コマンドを実行すると、Firefox アップデートと新しい Firefox アップデートのインストールに必要なすべての依存関係が制限されます。

前述のインクリメンタルアップデートはdrpm(デルタパッケージ)であり、インストールされたバージョンのパッケージコンテンツに対する変更と、それを提供するすべてのリポジトリに対してRHEL7 / Fedoraで有効にする必要があるアップデートです。 RHEL6を利用するには、yumプラグイン「presto」とそれをサポートするリポジトリをインストールする必要があります。

答え4

RPMパッケージには増分アップデートは含まれていません(Solarisなどとは反対)。したがって、各パッケージにはアップグレードと新規インストールに必要なすべてが含まれています。

電話するとき

yum install firefox

すでにインストールされている場合は、firefox最新バージョンがあってもyumは進行を拒否する必要があります。電話する場所:

yum upgrade firefox

これにより、新しいバージョンのパッケージがインストールされ、古いパッケージが自動的に削除されます。したがって、システムに残っているコンテンツが残ってはいけません。

次のように電話することもできます。

yum install http://foo.bar/firefox-40-1.rpm

現在インストールされているパッケージより新しいバージョンの場合、yumは自動的にそれをyum upgradeコマンドに変換します。

1つの例外があります - カーネルです。

yum install kernel

使用可能な場合は、新しいカーネルがインストールされますが、古いカーネルは削除されません。したがって、新しいカーネルが機能しない場合は、古いカーネルから起動できます。実際には他のパッケージでも動作します。次のmanページを引用しますyum.conf

installonlypkgs提供されているパッケージのリストはインストールする必要があり、更新しないでください。カーネルは特にこのカテゴリに属します。デフォルトは、kernel、kernel-bigmem、kernel-enterprise、kernel-smp、kernel-modules、kernel-debug、kernel-unsupported、kernel-source、kernel-devel、kernel-PAE、kernel-PAE-debug です。

パッケージ名だけでなく、これらの情報も提供されるため、kernel-develはkernel-debug-develなどとも機能します。

installonly_limitinstallonlypkgsリストされている間にインストールされたパッケージの数を維持します。 0に設定すると、この機能は無効になります。デフォルトは「3」です。この機能は "installonlyn"プラグインにありましたが、このオプションはtokeepを通じて変更されました。バージョン 3.2.24 以降、yum は yumdb からインストールされたパッケージの installonly 属性を探します。属性が「予約」されている場合は削除されません。

これにより、最大3つのカーネルパッケージを同時にインストールできます。しかし、4つではありません。 yumが自動的に削除を開始するためです。あなたが言ったようにpackage-cleanup --oldkernels本当にしたい場合は、古いカーネルを削除できます。

upgradeyumはトランザクション中に毎回この操作を実行するため、通常のパッケージでは同様の操作を実行する必要はありません。

以下を実行して確認できます。

rpm -q kernel

3つのパッケージを一覧表示できます。しかし、

rpm -q httpd

1つのパッケージのみをリストする必要があります。そして

rpm -q glibc

64ビットシステムには2つのパッケージを一覧表示できます。 1つは、x86_64必要なパッケージがある場合(たとえば)他のものです。i686multilibwine

関連情報