如何在运行 Amazon Linux 2 的 EC2 实例上安装来自 Extras 库的软件包?

上次更新日期:2020 年 10 月 7 日

如何在运行 Amazon Linux 2 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上安装来自 amazon-linux-extras 存储库的软件包(称为主题)?

简短描述

要安装来自 Extras 库的软件包,请首先确认您的实例上已经安装了 amazon-linux-extras 存储库。然后列出可用的软件包,启用您需要的软件包,再使用 yum 命令安装该软件包。

注意:此解决方法适用于 Amazon Linux 2。这些步骤不适用于 Amazon Linux 1 2018.03。

解决方法

1.使用 SSH 连接到 EC2 Linux 实例。

2.使用 which 命令确认已经安装了 amazon-linux-extras 软件包:

$ which amazon-linux-extras
/usr/bin/amazon-linux-extras

如果尚未安装 amazon-linux-extras 软件包,则使用 yum 命令进行安装:

$ sudo yum install -y amazon-linux-extras

3.列出可用的主题。

注意:存储库会定期更新,因此您看到的主题和版本可能与以下列表中显示的不同。

$ amazon-linux-extras
0  ansible2                 available    
2  httpd_modules            available    
3  memcached1.5             available    
4  nginx1.12                available    
5  postgresql9.6            available    
6  postgresql10             available    
8  redis4.0                 available    
9  R3.4                     available    
10  rust1                   available    
11  vim                     available    
13  ruby2.4                 available    
15  php7.2                  available    
16  php7.1                  available    
17  lamp-mariadb10.2-php7.2 available    
18  libreoffice             available    
19  gimp                    available    
20  docker=latest           available    
21  mate-desktop1.x         available    
22  GraphicsMagick1.3       available    
23  tomcat8.5               available    
24  epel                    available    
25  testing                 available    
26  ecs                     available    
27  corretto8               available    
28  firecracker             available    
29  golang1.11              available    
30  squid4                  available    
31  php7.3                  available    
32  lustre2.10              available    
33  java-openjdk11          available    
34  lynis                   available    

4.启用需要的主题。输出将显示安装所需的命令。例如,要启用 PHP 7.2 主题,请使用以下命令:

$ sudo amazon-linux-extras enable php7.2
0  ansible2                 available    
2  httpd_modules            available    
3  memcached1.5             available    
4  nginx1.12                available    
5  postgresql9.6            available    
6  postgresql10             available    
8  redis4.0                 available    
9  R3.4                     available    
10  rust1                   available    
11  vim                     available    
13  ruby2.4                 available    
15  php7.2=latest           enabled      
_   php7.1                  available    
17  lamp-mariadb10.2-php7.2 available    
18  libreoffice             available    
19  gimp                    available    
20  docker=latest           available    
21  mate-desktop1.x         available    
22  GraphicsMagick1.3       available    
23  tomcat8.5               available    
24  epel                    available    
25  testing                 available    
26  ecs                     available    
27  corretto8               available    
28  firecracker             available    
29  golang1.11              available    
30  squid4                  available    
_   php7.3                  available    
32  lustre2.10              available    
33  java-openjdk11          available    
34  lynis                   available    

Now you can install:
 # yum clean metadata
 # yum install php-cli php-pdo php-fpm php-json php-mysqlnd

5.使用 yum 命令安装主题。例如,要安装 PHP 7.2 主题,请使用以下命令:

$ sudo yum clean metadata && sudo yum install php-cli php-pdo php-fpm php-json php-mysqlnd

6.使用以下命令来验证安装,并确认软件版本:

$ yum list installed php-cli php-pdo php-fpm php-json php-mysqlnd
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
php-cli.x86_64                                                   7.2.16-1.amzn2.0.1                                                @amzn2extra-php7.2
php-fpm.x86_64                                                   7.2.16-1.amzn2.0.1                                                @amzn2extra-php7.2
php-json.x86_64                                                  7.2.16-1.amzn2.0.1                                                @amzn2extra-php7.2
php-mysqlnd.x86_64                                               7.2.16-1.amzn2.0.1                                                @amzn2extra-php7.2
php-pdo.x86_64                                                   7.2.16-1.amzn2.0.1                                                @amzn2extra-php7.2
        
$ which php
/usr/bin/php        

$ php --version
PHP 7.2.16 (cli) (built: Apr  3 2019 18:39:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies