Apt
什麼是“包管理器記憶體”(pacman、apt)?
我有幾個關於 Linux 包管理器的問題:
- 究竟什麼是“包管理器記憶體”?
- 我應該保留它還是完全清理它是否安全?
- 如果記憶體被完全清除,會出現什麼問題?
- 如果我清除記憶體,我的包會自動更新嗎?
- 什麼類型的數據儲存在這個記憶體中?
語境:
- Arch linux 中的“pacman”
- 來自 Debian 的“apt”
這個答案將集中在
apt
,但這些原則通常適用於包管理器。包管理器跟踪不同的資訊;尤其
- 系統上安裝的軟體包的詳細資訊
- 儲存庫中可用軟體包的詳細資訊
- 可能是包的存檔
除此之外,他們還可以維護該資訊的不同形式,或對資訊進行的計算結果(例如依賴樹),並使用它們來加速操作。
在
apt
的情況下,apt
記憶體(由 操作apt-cache
)是後者:對 可用的包資訊的優化表示apt
。它生活在其中,/var/cache/apt/pkgcache.bin
並且可以通過以下方式查看其統計資訊apt-cache stats
刪除它會導致它在下次需要時重新創建,除了延遲之外沒有任何不利影響。
除此之外,
apt
在 ; 中維護一個包記憶體/var/cache/apt/archives
。apt-get clean
這是由and清理的內容apt-get autoclean
。從此記憶體中刪除的任何文件也將在下次需要時被檢索(如果可能),除了獲取它們所需的延遲、線上檢索它們的必要性以及文件可能被不再可用。儲存庫中可用軟體包的詳細資訊並未列為記憶體,但從技術上講,它們是記憶體,因為如果它們被刪除也可以下載;這就是這樣
apt-get update
做的。預設情況下apt
,此資訊儲存在下的文件中/var/lib/apt
- 注意使用/var/lib
而不是/var/cache
. 請注意,如果這些文件被刪除,它們將不會被自動檢索。唯一對系統至關重要且不容易重新創建的數據是有關係統中安裝的軟體包的資訊。基於in的系統,
apt
這是由.dpkg``/var/lib/dpkg
apt
基於系統的包更新依賴於檢索到的資訊apt-get update
;如果定期執行,則將填充任何失去的記憶體,並且任何其他取決於記憶體數據的操作將繼續(包括包升級,無論以何種方式應用它們)。