Amazon Linuxでのソースパッケージの取得がyumdownloaderに変わっていました

2018.01.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
Amazon Linuxでソースパッケージを導入するためには、従来get_reference_sourceというAmazon Linux専用のユーティリティコマンドが存在していました。Amazon Linux 2.0 RCでソースパッケージを取得しようとしてyumdownloaderに変わっていることに気づいたのでシェアします。

2018年1月時点の状況

現時点の状況を以下にまとめます。

Amazon Linux 2017.09以前(通称Amazon Linux 1)

get_reference_sourceyumdownloaderの両方が利用できます。

Amazon Linux 2.0 RC

yumdownloaderのみ利用できます。get_reference_sourceはコマンドを含むget_reference_sourceパッケージはyumリポジトリに存在しません。

$ yum search get_reference_source
読み込んだプラグイン:langpacks, priorities, update-motd
警告: 一致するものが見つかりません: get_reference_source
No matches found
$

EC2のドキュメント

以前はこのページでget_reference_sourceが案内されていたのですが、いつの間にかyumdownloaderの説明にすげ替わっています。ドキュメント履歴に変更の記録がないため、いつ変わったかは不明です。Amazon Linuxのバージョンについての記載はないため、今後も継続してバージョン1,2ともにyumdownloaderが利用できるものと推測します。

使い方

一般的なLinuxディストリビューションと同様、yumdownloader --source <パッケージ名>でSRPMパッケージがダウンロードできます。

$ yumdownloader --source iproute
読み込んだプラグイン:langpacks, priorities, update-motd
Enabling amzn2-core-source repository
amzn2-core                                                                               | 2.0 kB  00:00:00
amzn2-core-source                                                                        | 1.3 kB  00:00:00
iproute-3.10.0-87.amzn2.src.rpm                                                          | 790 kB  00:00:00
$ ls
iproute-3.10.0-87.amzn2.src.rpm

あとはrpmbuildコマンドなどで煮るなり焼くなり活用しましょう。

まとめ

Amazon Linuxでのソースパッケージの取得は、yumdownloaderを使いましょうというお話でした。一般的なディストリビューションと同様になったので、初めての方により優しい仕様になりましたね。