Debian

僅從 debian 儲存庫中獲取已安裝應用程序的 .deb 文件以記憶體以進行離線安裝,包括依賴項

  • April 15, 2018

我的網際網路連接通常很差,當. 所以我會定期備份 .deb 文件,並在進行新安裝時復製到同一個文件夾中。這樣,除了已安裝的應用程序之外的應用程序的依賴關係也正在備份。我發現這個命令可以下載應用程序的所有 依賴項,包括已經安裝在我係統上的那些:apt-get install *an-app*``/var/cache/apt/archives

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-pre-depends <appname> | grep "^\w" | sort -u)
apt-get download <appname>

我使用它是因為應用程序的某些依賴項可能未安裝在新系統上。

但是在這種情況下,如果我升級任何應用程序,我也會將它的舊 .deb 文件儲存在我的磁碟上。這些文件變成了垃圾。我需要從記憶體文件夾中清除這些垃圾。所以我的問題是:

有沒有辦法只為特定應用程序及其所有依賴項(以及最新版本)鏡像儲存庫文件?apt-mirror或者僅使用或類似的東西鏡像特定應用程序的 debian 儲存庫?

最後我用這些步驟解決了:

  1. 備份/var/cache/apt目錄(不僅/var/cache/apt/archives)。
  2. APT::Clean-Installed屬性設置為false文件中apt.conf。為此,請在其中創建一個 .conf 文件/etc/apt/apt.conf.d並添加 APT::Clean-Installed "false";行。例如:
$ sudo touch /etc/apt/apt.conf.d/custom.conf
$ sudo echo "APT::Clean-Installed "false";" > /etc/apt/apt.conf.d/custom.conf
  1. 要在不安裝應用程序文件的情況下清理記憶體:
$ sudo apt-get autoclean

我從man 8 apt-get

autoclean(以及自 1.1 以來的 auto-clean 別名)

與 clean 一樣,autoclean 清除檢索到的封包件的本地儲存庫。不同之處在於它只刪除不能再下載的封包件,而且基本上沒用。這允許記憶體在很長一段時間內保持不變,而不會失控。配置選項 APT::Clean-Installed 如果設置為關閉,將防止已安裝的軟體包被擦除。

引用自:https://unix.stackexchange.com/questions/437744