
yum
現在インストールされている依存関係を満たすことができるパッケージのバージョンを選択するようにインストールパッケージに指示する方法はありますか?
たとえば、peclパッケージをインストールしていて、現在インストールされていますが、php-5.4.11
最新のパッケージがphp-5.4.14
利用可能な場合です。新しいパッケージをインストールしたくない(すべてのPHPパッケージを5.4.14に更新する)、他のすべてのパッケージを更新せずにインストールするように要求したパッケージの以前のバージョンを選択したい(更新できない場合は失敗します)完了)。
これは特定のケースです。私はPHPパッケージを除外または変更できることを知っていますが、すべてのインストールで機能する一般的なオプションを探しています。
それは次のとおりです。
yum install php-pecl-xxxx --no-updates
答え1
一時的な解決策:
-C
()フラグを使用してください --cacheonly
。
sudo yum install foobar -C
引用:Red Hat Enterprise Linux 6でYumキャッシュを使用する。
永久的な解決策:
metadata_expire
オプションを使用yum.conf
これを制御するため。
編集/etc/yum.conf
と設定
metadata_expire=15d
d
、h
またはを使用してm
時間を設定できます。仕事、時間または分。
文書は次のとおりです。
メタデータが期限切れです。 メタデータが期限切れになる時間(秒)。したがって、現在ダウンロードされているメタデータがこの秒より小さい場合、yumはリポジトリのメタデータを更新しません。 yumが必要に応じて頻繁に更新をダウンロードしない場合は、このオプションの値を下げてください。 ad、h、またはmをそれぞれ追加して、デフォルト値の秒を日、時間、または分に変更することもできます。毎時間実行されるyum-updatesdを補足するためのデフォルト値は6時間です。メタデータが期限切れにならないことを意味する「never」という単語を使用することもできます。 metalink ファイルを使用する場合、検証のために metalink は常にリポジトリのメタデータより最新である必要があるため、このタイムアウトは metalink ファイルにも適用されます。また、「never」は「yum cleanexpired-cache」をオーバーライドしないことに注意してください。
- 源泉:yum.conf(5)
答え2
パッケージにはyum-utils
というツールがありますyumdownloader
。インストールせずにリポジトリからダウンロードするために使用できます。すべての標準スイッチが--disablerepo
適しています。よりマニュアルページより多くの情報を知りたいです。
RPMをダウンロードしてから、RPMを直接使用して目的のタスクを実行できると思います。
答え3
以前のバージョンのパッケージがまだyumリポジトリにある場合は、最新バージョンyum install packagename-version-release.arch
にアップグレードせずにこのコマンドを実行して古いバージョンをインストールできます。 yumリポジトリに複数のバージョンとアーキテクチャがある場合は、フルネーム、バージョン、リリース、およびアーキテクチャを使用する必要があります。yum list available 'packagename*'
「packagename」で始まるすべてのパッケージを検索すると、このすべての情報を取得できます。パッケージを正常にアップグレードし、以前のバージョンにダウングレードするには、を実行できますyum downgrade packagename1 packagename2
。ダウングレードしたいすべてのパッケージのリストを含める必要があります。
以前のバージョンがyumリポジトリにない場合は、古いパッケージを見つけた場所からダウンロードしてを使用してインストールしてくださいyum install /path/to/package.rpm
。ただし、信頼できないソースからパッケージをインストールすることには注意が必要です。