Dnf
如何(暫時)防止 yum / dnf 更新儲存庫?
我有時會遇到一個問題,我只想搜尋或安裝一個小包,而且我的網際網路連接非常有限(比如:國外偏遠地區的移動數據)。作為緊急情況,我不介意使用記憶體的儲存庫內容;最後一次更新應該是一兩個星期前。然而,
dnf
我堅持要下載幾 MB 的元數據,這需要很長時間,而且我不想要,而今天早些時候,我剛好因此而無法完成簡單的搜尋操作。我嘗試離線執行命令,但如果元數據不是最新的,它會拒絕執行。是否有強制命令使用舊數據的選項,或配置條目來更改被認為有效的期限?
如果您查看各種 dnf 和 yum repo 配置文件,您應該會發現幾個明確的元數據到期時間,例如:
/etc/yum.repos.d/fedora-updates.repo metadata_expire=6h /etc/dnf/dnf.conf metadata_expire=86400
dnf
您可以在命令行上使用覆蓋這些--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
請注意使用 sudo 以避免 dnf 為使用者創建單獨的記憶體。
我知道這個問題有點老了(而且這個選項可能是新的)但這對我有用:
-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 在我的情況下,我正在安裝我在其他地方下載並通過sneakernet 傳輸的RPM,因為我的網路被破壞了,我不想
dnf
通過直接安裝rpm
執行檔來破壞