链接 apt 命令

Squ*_*shy 5 apt

我注意到大多数 Ubuntu 帮助网站都以以下格式提供 apt 命令:

sudo add-apt-repository ppa:[ppa-address]
sudo apt-get update
sudo apt-get install [application-name]
Run Code Online (Sandbox Code Playgroud)

但我知道像这样的 apt 命令也有效:

sudo add-apt-repository ppa:[ppa-address] && sudo apt-get update && sudo apt-get install [application-name]
Run Code Online (Sandbox Code Playgroud)

大多数网站以第一种格式存在是否有特殊原因?使用 && 链接命令是否存在已知问题,或者换句话说,使用这两种方法有什么好处/缺点吗?

此外,除了失去互联网之外,是否有任何情况下 apt 命令可能会失败?

Set*_*eth 8

就个人而言,我认为网站为了清楚起见将它们一一列出。一次运行一个并理解它的作用更容易,然后是一次运行,比如说 3。

我也可能指出,并非所有站点都会一一列出命令。例如,在关于安装 Unity Tweak ToolOMG Ubuntu 文章中,命令被列为:

sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily  
sudo apt-get update && sudo apt-get install unity-tweak-tool  
Run Code Online (Sandbox Code Playgroud)

还值得注意的是,如果命令在返回 exit status 之前,&&只会运行第二个或第三个(等)命令0。换句话说,&& 只有在之前 的命令&&成功完成后才会运行之后的命令。

如果你希望你的命令串一个一个地执行,不管是否有任何失败,你可以用;而不是分隔每个命令&&。例如:

sudo add-apt-repository ppa:[ppa-address] ; sudo apt-get update ; sudo apt-get install [application-name]  
Run Code Online (Sandbox Code Playgroud)

(当然,这在安装软件包时不是一件好事!)

apt命令失败的原因有很多:

  • apt-get install可能会由于多种原因而失败,其中包括依赖性问题、磁盘空间不足、没有互联网连接或sources.list文件陈旧或格式错误。

  • apt-get update可能会因类似原因、格式错误sources.list、没有互联网连接、404 PPA 等原因而失败。

这些只是会导致apt失败,导致命令&&无法运行的一些事情。