如何配置 apt-get 在每次安装后自动清理

如何配置 apt-get 在每次安装后自动清理

有没有办法像其他发行版一样自动执行apt-get clean后续操作?apt-get install

答案1

你只需要在 apt 配置文件中添加它。只需运行:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

每次执行此操作时都会触发自动清理upgrade

让我们从手册页中解释一下这个条目:

Clean

缓存清理模式;该值可以是 always、prompt、auto、pre-auto 和 never 之一。always 和 prompt 将在升级后从缓存中删除所有软件包,prompt(默认)有条件地执行此操作。auto 仅删除那些不再可下载的软件包(例如,替换为新版本)。pre-auto 在下载新软件包之前执行此操作。

更多信息:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ

答案2

据我所知,实现所需效果的最直接方法是使用“keep-downloaded-packages”选项:

  1. 创建一个新的 apt 配置文件,例如

/etc/apt/apt.conf.d/99custom-conf

  1. 将以下内容添加到文件中。
# Remove downloaded .deb files after installation by apt-get
APT::Keep-Downloaded-Packages "false";

文件名以“99”开头表示此配置文件是最后读取的(并将覆盖任何其他配置)。然后通过将“keep-downloaded-packages”选项 BOOL 值设置为 false,apt-get将自动删除包/var/cache/apt/archives/ 中的 .deb 文件安装后立即进入目录(就像‘apt clean’)。

注意易于本身对同一选项使用单独的二进制指令,并且每个apt NEWS 条目,自 2016 年 11 月起(至少 Debian 9 (Stretch) 如此),该条目默认设置为“false”。如果(无论出于何种原因)您的系统并非如此,您可以将以下内容附加到您的配置文件中。

# Remove downloaded .deb files after installation by apt
Binary::apt::APT::keep-downloaded-packages "false";

注意:我不能谈论其他桌面环境,但 KDE Plasma 的发现软件中心不受这两个选项的影响,因此通过 Discover 进行的任何软件包安装或升级都将保留缓存的 .deb 文件,您需要运行apt clean以删除这些文件。

为了方便地索引所有 apt 配置指令/选项,请打开“/usr/share/doc/apt/examples/configure-index.gz 或者仅 configure-index(在更高版本中)”。

答案3

编写一个 shell 脚本!

sudo nano /usr/bin/aptinstaller 

在此文件类型中:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

保存并退出nano并输入:

sudo chmod +x /usr/bin/aptinstaller 

现在每次你输入

sudo aptinstaller <package-name> 

它会安装然后清理。

答案4

黑客似乎正在将以下内容添加到例如/etc/apt/apt.conf.d/clean通过):

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

当 dpkg 被 apt 调用后,这将自动清除缓存。

但是这不会清除缓存apt-get update,钩子APT::Update::Post-Invoke可能会用于此。

最好的方法似乎仍然是手动呼叫apt-get clean/aptitude clean手动。

相关内容