Amazon Linux Extrasで楽々パッケージ管理

2019/04/16 AWS, 技術系 投稿者:

こんにちは。千本木です。

EC2で使えるAmazon Linuxの新バージョンであるAmazon Linux 2の正式版がリリースされて10ヶ月近く経過しました。

正式版と言えども稼働実績が少ないため、従来のAmazon Linuxからの移行を様子見している方も多いのではないでしょうか。

今回Amazon Linux 2を触ってみたところ便利な機能がありましたので、紹介したいと思います。

Amazon Linux 2の中身

Amazon Linux 2を弄ってみると、systemdが採用されていたり、インストールされているパッケージバージョンからRHEL 7(CentOS 7)系をベースに開発されているようです。

例えばPHPのバージョンを確認するとCentOS 7の標準リポジトリと同じ5.4系が採用されていることがわかります。

ですが、このPHP5.4系は既にPHP公式では開発はもちろんサポート自体も終了してしまっています。

2019年4月11日時点でサポートが終了しているPHPバージョンの一覧が以下のものです。

Unsupported Branches | php.net
https://www.php.net/eol.php

PHP7.0系までがサポート切れになっていることがわかります。

これはPHPに限ったことではなくPostgreSQLなども同様で、RHELベースのディストリビューションでは、開発元のサポートが終了しているバージョンを標準リポジトリで採用しているケースがあります。

十分に枯れているので安定的だと言えば確かにその通りですし、開発元のサポートが切れているとはいえ各ディストリビューションでの公式サポートは続きます。

ただ、セキュリティ面や機能面を考えると、これから構築して数年は動かそうというサーバでは、開発元のサポートが継続しているバージョンを使いたいですよね。

PHPに関して言えばremiリポジトリを使うという手段がありますが、既存パッケージと競合する場合もあり、ちょっと使い勝手が良くないです。

Software Collectionsを使うにしてもサポート期間が短いほか、インストールパスが通常と異なり癖があります。

tarballからインストールするなど他にも手段はありますが、もっと簡単にインストールができる仕組みはないものでしょうか。

Amazon Linux Extras

そんなユーザーの要望に応える仕組みがAmazon Linux 2にありました。
Amazon Linux Extrasです。

AWSの公式サイトから引用するとAmazon Linux Extrasは以下のように説明されています。

簡単に言ってしまうと、Amazonが公式サポートした新バージョンをyumで扱えるようにする仕組みです。

amazon-linux-extrasのコマンド概要

Amazon Linux Extrasを使うためにはamazon-linux-extrasコマンドを使用します。

helpコマンドで見てみると以下のようになります。

大体以下の内容です。トピックというのはamazon-linux-extrasで取り扱いが可能なアプリケーションのことです。

  • amazon-linux-extras help:ヘルプの呼び出し(↑の状況)
  • amazon-linux-extras info トピック名:対象トピックの概要の表示
  • amazon-linux-extras install トピック名:対象トピックのインストール
  • amazon-linux-extras list:トピック一覧の表示

ちなみにアンインストール方法は公開されていません。この場合、yum removeで削除するしかないですね。
ここだけが残念な仕様です。

amazon-linux-extrasを使ってみよう

listオプションを使ってトピック一覧を表示してみます。

多くのアプリケーションの様々なバージョンがありますね。

例えばPHPであれば、7.1 / 7.2 /7.3から選べます。
執筆時点でのPHP7.3の最新版は、7.3.4ですが、2019年3月7日にリリースされた7.3.3が選択できる状態になっていますので、頻繁に更新が行われていることもわかります。

この他にも標準リポジトリではインストールできないnginxも選択できます。

LAMP環境を簡単に使えるlamp-mariadb10.2-php7.2なんていうトピックもあります。

PHP7.3のインストールテスト

ではインストールしてみましょう。インストールは簡単で、以下のコマンドを実行します。

試しにPHP7.3をインストールしてみます。

あっという間にインストール完了です。
ちょっとわかりづらいですが、122行目のPHP7.3がenabledになりました。

なお、この状態でphp-pgsqlをyumでインストールしようとすると以下のようになります。

しっかりPHP7.3系で依存関係を解決してくれますね。

別バージョンのPostgreSQLをインストールした場合の依存関係

ちなみにamazon-linux-extrasでPostgreSQL10をインストールした後で同様にphp-pgsqlをyumでインストールしてみても依存関係の問題は発生しません。

手軽に確実に素早く新バージョンを使うことができます。素晴らしい!

まとめ

インストールアプリケーションのバージョン選択は安定性を重視するのか、新機能やセキュリティを重視するのかで変わりますが、amazon-linux-extrasによって新バージョンも取り扱いが楽になりました。

サーバ管理者にとっては重大な脆弱性が発見された場合に、対応が早い最新版を選択し更新ができるこの仕組みは非常にありがたいのではないでしょうか。

amazon-linux-extrasだけでなく、今後Amazon Linux 2に搭載された新機能を発見したら紹介していきたいと思います。

カレンダー

    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
   1234
567891011
12131415161718
19202122232425
26272829   
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
Wide Netのクラウドバックアップ
クラウド型ファイル共有サービスRushDrive
ワイドオフィス
ネディアのSDGsへの取り組み