如何强制 apt 在每次安装时给出“您想继续吗?[Y/n]”

如何强制 apt 在每次安装时给出“您想继续吗?[Y/n]”

我了解,运行代码时sudo apt-get install <packagename>它只会给我以下内容:

Do you want to continue? [Y/n]

如果该方案将安装附加软件包apt。但是,每次安装软件包时,无论是否还会安装其他软件包,我如何强制显示该确认对话框?


操作系统信息:

Description:    Ubuntu 14.10
Release:    14.10

封装信息:

apt:
  Installed: 1.0.9.2ubuntu2
  Candidate: 1.0.9.2ubuntu2
  Version table:
 *** 1.0.9.2ubuntu2 0
        500 http://gb.archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages
        100 /var/lib/dpkg/status

答案1

一个简单的解决方案是编写一个先检查然后启动的脚本。例如:

#!/usr/bin/env bash

## Do a test run of the apt-get command, printing the relevant details
sudo apt-get -s install "$@" | 
  perl -ne '$a=1 if /Reading state information/; if($a==1 && /:$/ || /^\s/){print}'

read -p "Do you want to continue? [YN] " response

[[ $response =~ ^[Yy] ]] && sudo apt-get install "$@"

如果你将该脚本保存在路径中的某个位置,例如~/bin/apt-nanny并使其可执行(chmod +x ~/bin/apt-nanny),则可以使用它来安装软件包(使用nedit作为示例):

$ apt-nanny nedit
The following packages were automatically installed and are no longer required:
  liblightdm-gobject-1-0 lightdm-gtk-greeter
The following extra packages will be installed:
  libmotif-common libmrm4 libuil4 libxm4
The following NEW packages will be installed:
  libmotif-common libmrm4 libuil4 libxm4 nedit
Do you want to continue? [YN] 

如果您输入yY,脚本将继续并安装软件包。


注意事项:

  • 如果您无论如何都需要确认,脚本将会向您显示两次相同的信息。
  • 我还没有对此进行广泛的测试,可能会出现显示比您需要的多/少的信息的情况。
  • 它很丑,而且还会运行apt-get两次。

相关内容