当我安装 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 foo3
和sudo 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'