如何在一个命令行中安装和删除程序,并且只需确认一次?

如何在一个命令行中安装和删除程序,并且只需确认一次?

当我安装 Ubuntu 时,我通常做的第一件事就是删除一些程序并安装一些其他程序。为了完成此操作,我在终端中输入以下内容:

sudo apt-get remove applicationA applicationB applicationC && sudo apt-get install applicationX applicationY applicationZ

这很好用,但问题是我必须确认两次:首先我必须确认删除应用程序,过一段时间我必须确认安装其他应用程序。如果我只需要确认一次就太好了,因为在此期间我不必回到电脑前。有没有什么命令可以做到这一点?

请注意,我不是在寻找 Synaptic Package Manager 等中的解决方法。我想从命令行执行此操作。

谢谢。

答案1

作为选择对于已经发布的答案,您还可以选择使用 命令安装和删除软件包aptitude。使用安装命令-在包名称后添加以将其删除,并使用能力移除命令+在包名称后添加以进行安装。

如果你输入

sudo aptitude install pkg1 pkg2-

第一个包将被安装,而第二个包将被删除。

然而另一方面,如果你使用

sudo aptitude remove pkg1+ pkg2

第二个包将被删除,而第一个包将被安装。

apt来源:有关和的更详细说明aptitude,请参阅Debian 手册

答案2

apt-get手册页中:

安装 [...] 如果在软件包名称后附加连字符(中间没有空格),则已识别的软件包在安装后将被删除。同样,可以使用加号来指定要安装的软件包。后面这些功能可用于覆盖 apt-get 冲突解决系统做出的决定。

您可以在软件包名称后附加一个连字符,然后 apt-get 将删除该软件包。因此,为了删除软件包a并安装b

sudo apt-get install a- b

答案3

使用-y选项apt-get

来自男人

-y, --yes, --assume-yes
      Automatic yes to prompts; assume "yes" as answer to all prompts and
      run non-interactively. If an undesirable situation, such as
      changing a held package, trying to install a unauthenticated
      package or removing an essential package occurs then apt-get will
      abort. Configuration Item: APT::Get::Assume-Yes.

因此对您来说它看起来像sudo apt-get remove -y foo1 foo2 foo3sudo apt-get install -y foo foo1 foo2 foo3

答案4

也许只使用一次调用来执行两个命令sudo

sudo sh -c 'apt-get remove a b c && apt-get install d e f'

相关内容