在“ apt-get upgrade”中绕过是/否提示


64

为了避免在更新计算机时键入所有apt-get命令,我做了一个简单的别名命令来执行此操作。但是我真的希望能够只输入我的别名并让它完成它的任务,而不必等待是/否提示键入“ y”。有没有简单的方法可以绕过此提示,或者在某处的别名中添​​加“是”?

Answers:


93

当然,尽管我从未尝试过将其用作别名,但它应该可以工作:

sudo apt-get update && sudo apt-get -y upgrade

如果困扰您一个零,我将编辑-y并将其从更新中删除。:)
wojox 2012年

这在Trusty中不起作用。
Cerin

不适用于grub覆盖conf问题。
WaldemarWosiński17年

1
对于grub Override conf问题,您必须将其设置在它前面sudo DEBIAN_FRONTEND=noninteractive apt-get...
saitam '18

@saitam-谢谢。...DEBIAN_FRONTEND变量正是想要的!科多斯。
休·本图

7
apt-get -o Dpkg::Options::='--force-confold' --force-yes -fuy dist-upgrade"

16
你可以再详细一点吗?该命令有什么作用,如何工作?
赛斯

感谢Vadim,很高兴看到这个问题的更深入的答案。
亚历克斯·北基

0

apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean

这将更新软件包,升级软件包,删除未使用的软件包,然后删除软件包的旧版本。

您可以复制粘贴到

nano -w yourscript.sh

然后

chmod 777 yourscript.sh

然后

./yourscript.sh

只要您su在所有这些步骤之前都使用,我将始终这样做。


4
这个答案太过分了。他可能不想删除旧的/未使用的软件包。另外,如果可以避免的话,我不建议您使用chmod 777。我相信在Ubuntu中,推荐的方法是使用apt-get而不是apt。
Andreas Hartmann

同意,回​​答实际问题很重要,不要走远了。
乔纳森

1
@AndreasHartmann同意。如果放在777上,该脚本将带来安全风险。请改用chmod u + x(仅为文件所有者设置可执行位)
520

0

您也可以安静地执行此操作,然后在完成后收到通知。不利的一面是,您只会看到报告的错误,而不会看到更新的内容。

sudo apt-get update -qq && sudo apt-get dist-upgrade -qq && echo "All up to date now!" && notify-send "All up to date now!"

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.