2010-07-16 20:34:00 +0000 2010-07-16 20:34:00 +0000
382
382

当使用apt-get install

时,自动回答 “是",有没有办法让apt-get install回答 "你想继续[y/N]吗"?

答案 (11)

471
471
471
2010-07-16 20:36:15 +0000

通过 apt-get man page :

apt-get -y install [packagename]
182
182
182
2010-07-16 22:08:11 +0000

问题是:

apt-get --yes install $something

的问题是,如果包里的公钥不在钥匙圈里,或者其他条件,它会要求手动确认。如果你想让这些设置永久化,可以在/etc/apt/apt.conf.d/中创建一个文件,比如/etc/apt/apt.conf.d/90forceyes,内容如下:

apt-get --yes --force-yes install $something
53
53
53
2015-07-12 18:36:26 +0000

注意,如果你也想在互动提示出现时自动按默认答案,你可以使用DEBIAN_FRONTEND=noninteractive

单次安装:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]

E.g. :

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix

所有更新: sudo DEBIAN_FRONTEND=noninteractive apt-get -y update


你可以用-o Dpkg::Options::="--force-confdef"-o Dpkg::Options::="--force-confold"设置更精细的选项。 执行一个无人值守的 Debian 软件包的安装](http://www.microhowto.info/howto/perform_an_unattended_installation_of_a_debian_package.html)

14
14
14
2011-06-07 01:00:02 +0000
APT::Get::Assume-Yes "true";

APT::Get::force-yes "true";

这至少应该在/etc/apt/apt.conf中注明。我担心Ubuntu会采取微软的做法,总是要求许可。

“你确定吗?",我当然确定,我不是一只训练有素的猴子,只是在键盘上打字,高兴地点击。 ” 烤箱会问:"你确定要做饭吗?" 汽车会问:"你确定要刹车吗?" 灭火器会问:"你确定要灭火吗?" 对不起,戴夫,我不能让你这么做。

9
9
9
2010-07-16 20:37:15 +0000

来自 apt-get HOWTO

使用 -y 开关:apt-get -y install packagename

7
7
7
2010-07-16 20:37:01 +0000
apt-get -y update
apt-get -y install [package]
4
4
4
2014-11-17 16:51:42 +0000
apt-get -y --force-yes install package
yes | apt-get -y --force-yes install package

如果不成功,可以尝试使用yes命令。

1
1
1
2018-02-02 12:49:34 +0000

新的apt别名也采取了-y--yes)的开关:

sudo apt -y upgrade
1
1
1
2018-09-10 13:29:06 +0000

我一直在寻找一种在脚本中选择非默认的方法,特别是在安装wireshark的时候,最后用tmux与shell交互,如下所示:

# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
1
1
1
2018-07-31 15:28:56 +0000

如果你总是想要 -y 参数,我建议在你的 .bashrc 中加入

alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands

。正如注释中解释的那样,这将自动将 -y 参数添加到你所有的 apt-get 命令中,从而批准所有的下载。

0
0
0
2020-02-11 11:52:37 +0000

使用yes是独立于软件包管理器的。例如:

yes | apt-get install curl