Debianのapt-get update
パッケージインデックスをフェッチして更新します。私はこのやり方に慣れているので、それを見つけて驚いたyum update
はすべてを行いますandはシステムをアップグレードします。これは、何もインストールせずにパッケージインデックスを更新する方法に興味を持ちました。
check-update
コマンドは、パッケージインデックスを更新し、利用可能な更新を確認します。
yum check-update
yum check-update
はインストール済みパッケージの更新をチェックしますが、更新が必要な場合は、他のほとんどのコマンドもチェックします。
厳密にapt-get update
と同等のコマンドはyum makecache
...ですが、通常、yumで直接実行することはお勧めしません。
残念ながら、デフォルトでyum check-update
は、yum.conf
のmetadata_expireパラメータが経過するまで(デフォルト90m)、リモートリポジトリからの変更をプルダウンしません。どうやらその目的は「インタラクティブに実行せずに適用する必要がある更新がマシンにあったかどうかを知ること」なので、基本的には「更新可能なパッケージのリストを更新する」のではなく「更新可能なパッケージがあるかどうかを確認する」期待するだろう。
したがって、yum check-update
を実行してこれを取得すると、次のようになります。
$ Sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
packagename version repo
これは、check-updateがapt-get update
のように更新を実行しないことを意味します。
this を実行すると、すべてのコマンドが「自動更新」を実行するまでにかかる時間がわかります:yum repolist enabled -v
回避策:
seyum clean expire-cache
(またはyum clean all
)最初に、その後のすべてのyumコマンドは「実行時に」キャッシュを自動更新します。 。今後のyumコマンドはキャッシュを更新するため、これは実際にはapt-get update
と同じです。
または、yum.confのmetadata_expireパラメーターをデフォルトの90分未満に変更すると思います。
または、(他の回答から)yum makecache
を実行すると、キャッシュが削除され、すぐに新しいコピーがプルダウンされます。しかし、それはclean all
(?)FWIWよりも時間がかかるようです。
これはローカルキャッシュを更新するコマンドなので、
yum makecache
Working with Yum cache によると、あなたが探しているコマンドのようです。
Yumはすでにyum.confのmetadata_expire値に基づいてメタデータをチェックして更新するため、通常はこのコマンドを直接実行する必要はありません。デフォルトは6時間です。
ただし、Ansibleプレイブックには、パッケージをインストールせずにキャッシュのみを更新する方法がないため、少なくとも1つのユースケースがある可能性があります(Ansibleの問題 461 を参照) =および 40068 、バージョン2.8で修正されたようです 4618 )。 Ansible yumモジュールは、「update_cache:yes」オプションのパッケージ名が必要です。したがって、代替として「コマンド:yum makecache」をプレイブックで使用できます。
--refreshスイッチを使用してメタデータの同期を強制することもできますが、dnfにはmakecacheコマンドもあります。