有没有办法像其他发行版一样自动执行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”选项:
- 创建一个新的 apt 配置文件,例如
/etc/apt/apt.conf.d/99custom-conf
- 将以下内容添加到文件中。
# 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
手动。