yum / dnfがリポジトリを更新するのを(一時的に)防ぐ方法は?

yum / dnfがリポジトリを更新するのを(一時的に)防ぐ方法は?

場合によっては、小さなパッケージを検索またはインストールしようとしていますが、インターネット接続が非常に制限されている場合(たとえば、海外のリモート地域のモバイルデータなど)、問題に直面することがあります。緊急事態に近いので、キャッシュされたストレージコンテンツを使用しても大丈夫です。最後のアップデートは1〜2週間前でした。しかし、dnf数MBのメタデータをダウンロードするのに時間がかかることはありません。今日の朝は簡単な作業を完了できませんでした。探すしたがって、動作します。オフラインでコマンドを実行してみましたが、メタデータが最新でない場合は実行が拒否されます。コマンドが古いデータを使用するように強制するオプション、または有効と見なされる期間を変更する構成項目はありますか?

答え1

私はこの質問が少し古いことを知っていますが(このオプションは新しいものかもしれません)、これは私にとって効果的でした。

 -C, --cacheonly
              Run entirely from system cache, don't update the cache and use it even in case it is expired.

だからdnf -C install ...私のために働いて

ps私の場合は、ネットワークが壊れて他の場所からダウンロードしてsneakersnetを介して送信したRPMをインストールしていますが、実行可能ファイルを使用して直接インストールしてdnf問題を引き起こしたくありません。rpm

答え2

さまざまなdnfおよびyum repo設定ファイルを見ると、次のような明確なメタデータの有効期限がいくつかあります。

/etc/yum.repos.d/fedora-updates.repo
  metadata_expire=6h

/etc/dnf/dnf.conf
  metadata_expire=86400

dnfdnfを使用してコマンドラインでそれを上書きすることはできますが、--setopt=アクティブな各リポジトリとdnfマスター構成に対してこれを明示的に実行する必要があります。だからあなたは次のような結果を得るでしょう。

sudo dnf --setopt=metadata_expire=-1 \
 --setopt=fedora.metadata_expire=-1 \
 --setopt=fedora-update.metadata_expire=-1 \
 --setopt=rpmfusion-free.metadata_expire=-1 \
 search abcdef

dnfがユーザー用に別々のキャッシュを生成しないようにsudoを使用するときは注意してください。

答え3

これは一時的なものではありませんが、元に戻すことができます。

sudo zypper modifyrepo --no-refresh --all

または

sudo zypper modifyrepo --no-refresh --remote

超過データがある場合は、手動で更新できます。

sudo zypper refresh

また、GUI を使用するとリポジトリのリフレッシュがオフになります。

YASTのリポジトリオプションを使用してGUIでこれを制御することもできますが、最初の起動時に閉じないと更新されます。

関連情報