「apt-get update」と同等のyumとは何ですか?


86

Debian apt-get updateはパッケージインデックスを取得して更新します。私はこの方法で物事を行うことに慣れているため、それyum updateがすべてを実行、システムアップグレードすることに驚いた。このため、何もインストールせずにパッケージインデックスを更新する方法に興味がありました。

回答:


90

このcheck-updateコマンドは、パッケージインデックスを更新し、利用可能な更新を確認します。

yum check-update

3
このコマンドを使用すると、インストール済みパッケージの更新が利用可能かどうかを判断できますyum利用可能な場合、すべてのリポジトリからのすべてのパッケージ更新のリストを返します。apt-get updateインデックスファイルを更新しますが、更新yum check-updateしません。
-SuB

yum既に最近実行されている場合、これは機能しません。代替案については他の回答を参照してください
...-rogerdpack

29

一方では、yum check-updateそれが更新する必要がある場合は、インストールパッケージの更新をチェックしますので、う、他のほとんどのコマンド。

厳密に同等のコマンドapt-get updateyum makecache...ですが、yumで直接実行することは一般的に推奨されません。


1
最初の文がわかりません。言い換えてもいいですか?
-tshepang

8
他のyumコマンド、たとえば、必要に応じてyum upgrade自動的に実行されることを意味しますyum check-update。つまり、yum upgradeはと基本的に同じapt-get update; apt-get upgradeです。
ミケル

ありがとうございました!yum check-updateは、404エラーに対する助けにはなりませんでした。しかし、yum makecacheは役立ちます!本当にありがとう!
ソケットペア14

オリジナルは、最新情報を表示するためにレポデータを自動的に更新することに関するものでした(apt-getが行わないか、少なくとも2011年には行わなかった)。編集した後、それは一種の不気味今無意味:(だ。
ジェームズAntill

実行することが推奨されないのはなぜyum makecacheですか?それはマニュアルページにリストされており、次のように機能するようapt-get updateです...またyum check-update、常に更新を実行しないことに注意してください、他の回答を参照してください、FWIW :)
rogerdpack

21

残念ながらyum check-update、デフォルトでは、yum.conf's 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します。

これを実行することにより、すべてのコマンドがその下で実行する「自動更新」を実行するまでにかかる時間を確認できます。yum repolist enabled -v

回避策:

最初にyum clean expire-cache(またはyum clean all)を使用してから、将来のyumコマンドは「実行時に」キャッシュを自動更新します。。将来のyumコマンドはキャッシュを更新するため、これは実際にはと同じapt-get updateです。

または、yum.confのmetadata_expireパラメータをデフォルトの90分未満に変更すると思います。

またはyum makecache(他の回答から)実行して、キャッシュを削除し、その直後に新しいコピーをプルダウンするようです。しかし、clean allFWIW(?)よりも時間がかかるようです。


2
なぜこの答えが一番下にあるのかわからない。これは明白で単純な答えのように思えます。
cbmanica

2

これはローカルキャッシュを更新するコマンドです。したがって、

yum makecache

Yumキャッシュの操作によると、あなたが探しているコマンドのようです。

通常、yumはすでにyum.confのmetadata_expire値に基づいてメタデータをチェックおよび更新するため、このコマンドを直接実行する必要はありません。デフォルトは6時間です。

あなただけ(Ansibleが発行を参照してくださいすべてのパッケージをインストールせずにキャッシュを更新するAnsible脚本に方法はありません。しかし、Ansibleの脚本である少なくとも一つのユースケース、があるかもしれません3346140068のように思われ、バージョン2.8、46183で修正されます)。Ansible yumモジュールを有効にするには、 'update_cache:yes'オプションのパッケージ名が必要です。そのため、別の「コマンド:yum makecache」をプレイブックで使用できます。

dnfにはmakecacheコマンドもありますが、--refreshスイッチを使用してメタデータの同期を強制することもできます。


この既存の答えはすでに言及していますyum makecache。たとえば、なぜyum makecache推奨されないのか、またはdnf同等のものが何であるのかを説明することで、回答をより有用なものにすることができます。
スティーブンキット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.