apt-get 安装 software-properties-common 必须先于 ppa:X 吗?

2 upgrade apt ppa scripts syntax

这就是我目前在我的 Ubuntu 18.04 服务器环境中安装一些基本软件的方式。恐怕我这里可能有一些冗余:

apt-get update -y
apt-get install software-properties-common
add-apt-repository ppa:ansible/ansible ppa:certbot/certbot

apt-get upgrade unattended-upgrades sshguard curl wget git ansible zip unzip tree mc lamp-server^ python-certbot-apache
Run Code Online (Sandbox Code Playgroud)

必须在apt-get install software-properties-common两个ppas 之前吗?

des*_*ert 5

两者ansiblepython-certbot-apache可以从官方来源获得,您只需执行第 3 步即可安装它们。不过 PPA 有较新版本的软件,所以我假设您仍然想使用它们。

\n\n

apt处理依赖关系本身,您通常不需要对此执行任何操作,这包括来自 PPA 的软件。您需要做的就是:

\n\n
    \n
  1. 添加您的 PPA:

    \n\n
    sudo add-apt-repository ppa:ansible/ansible ppa:certbot/certbot\n
    Run Code Online (Sandbox Code Playgroud)
  2. \n
  3. 更新软件源以便apt了解新软件:

    \n\n
    sudo apt update\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
  5. 安装你想要的软件:

    \n\n
    sudo apt install ansible python-certbot-apache\n
    Run Code Online (Sandbox Code Playgroud)
  6. \n
\n\n

apt如果还需要其他软件会告诉你,第三步直接安装。

\n\n
\n\n

add-apt-repository可能存在(预安装的)命令在您的系统上不可用情况,在这种情况下,第一步将引发错误。只有这样,您才需要software-properties-common在执行上述步骤之前安装该软件包(一次):

\n\n
sudo apt install software-properties-common\n
Run Code Online (Sandbox Code Playgroud)\n