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


12

有没有办法做apt-get cleanapt-get install自动,像其他的发行版?


感谢@Braiam,我在Ubuntu中发现了一个错误,我将予以报告。在Debian Braiam的解决方案中工作正常。
Tiago Carrondo


1
@TiagoCarrondo您可以分享错误链接吗?
肯·夏普

在Xenial中,我所有的机器都会自行清洁。我不知道它在哪里配置,但它可以工作。
肯·夏普

Answers:


13

您只需要在apt配置文件中添加它即可。赶紧跑:

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

每次您执行此操作都会触发自动清洁upgrade

让我们从手册页中解释此条目:

Clean

缓存清理模式;此值可以是“始终”,“提示”,“自动”,“自动”和“从不”之一。总而言之,提示会在升级后从缓存中删除所有软件包,提示(默认)是有条件的。自动仅删除不再可下载的那些软件包(例如,用新版本替换)。pre-auto在下载新软件包之前执行此操作。

更多信息:

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


我想最后应该用分号;!因此应该是sudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
2013年

@Braiam我已经尝试过了,但是没有用。我什至像其他文件一样尝试了APT :: Get :: Clean“总是”,但是没有运气。有什么线索吗?
Tiago Carrondo

@布赖厄姆不走运
Tiago Carrondo 2013年

@TiagoCarrondo现在怎么样?此Usenet消息说是赢家。
Braiam 2013年

在您发表第一篇文章后,我已经尝试过了。要更改文件位置...等待
Tiago Carrondo 2013年

2

写一个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> 

它会先安装然后清洁。


我更喜欢一种选择,但听起来像是一个不错的好计划B,谢谢
Tiago Carrondo

2
/usr/local/bin/似乎更正确。
肯·夏普

0

尽管不是真正的解决方案,但我的解决方法是将archives目录设置为/tmp。安装后不会自动清除它,但会在重新启动时清除它。

我创建/etc/apt/apt.conf.d/99clean并添加了:

Dir::Cache::archives /tmp;

另外,您可以挂载/var/cache/apt/archivesusing tmpfs,尽管显然会用完RAM,我不建议您使用该选项。

在中/etc/fstab,例如:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0

0

黑客似乎在/etc/apt/apt.conf.d/clean通过)中添加了以下内容:

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

在apt调用dpkg之后,这将自动清除缓存。

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

最好的方法仍然是手动调用apt-get clean/ aptitude clean

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.