Alpine Linux

Alpine Linux (アルパイン・リナックス) は、muslとBusyBoxをベースとしたLinuxディストリビューションである。セキュリティ・シンプルさ・リソース効率を重視するパワーユーザー向けに設計されている。Alpine Linuxではgrsecurity/PaXを適用したLinuxカーネルを使用しており、全てのユーザ空間バイナリが (、SSP) 付きの位置独立実行ファイル (PIE) としてコンパイルされている。

Alpine LinuxはmuslとBusyBoxを利用して構築されており、従来のLinuxディストリビューションと比較してLXCやインストールに必要なストレージ容量が小型化されている。リソース効率が向上しており、起動時間が短縮されている。

postmarketOSはAlpine Linuxからフォークしたモバイルオペレーティングシステムである。

歴史 
Alpine Linuxはからフォークしたプロジェクトである。LEAF Projectでは単一のフロッピーディスクに収まるLinuxディストリビューションの開発を行っていたが、Alpine LinuxではSquidやSambaなどのより重いソフトウェアや、セキュリティ機能や新しいカーネルの追加を行いたいと考えていた。最初の目標の1つは、より大規模なシステム用のフレームワークの開発であった。この目標は既に達成されており、現在では主要な目標ではなくなっている。

バージョン履歴

特徴 
 Alpine Linuxは独自のパッケージ管理システムとしてAPKを採用している。最初の頃はシェルスクリプトによって書かれていたが、現在はC言語によって書き直されている。GNOME・FFmpeg・Mozilla Firefoxなどが利用できる。
 Alpine LinuxはRAMディスクオペレーティングシステムとしてインストールすることができる。このときにlbuを利用することにより、変更した設定ファイルのバックアップを行うことができる。デフォルトの動作では、/etc以下が変更された場合に、tar.gzアーカイブが作成される。
 強化されたカーネルがデフォルトのカーネルに含まれているので、悪用や脆弱性の影響を軽減することができる。全てのユーザ空間バイナリがスタックスマッシング保護付きの位置独立実行ファイルとしてコンパイルされるので、バッファオーバーフローの影響を軽減することができる。
 Alpine LinuxはデフォルトでDMVPNを利用して効率的なメッシュ化VPNが利用可能なパッチを含む唯一のLinuxディストリビューションである。
 Alpine LinuxはXenの最新版に確実に対応しており、商用ディストリビューションで経験した問題は発生しない。また、KVMにも対応している。
 Alpine Linuxのベースシステムは4 - 5 MB (カーネルを除く) に収まるように設計されている。コンテナは8 MB以内に収まるようになっており、最小インストールには130 MBが必要となっている。Linuxカーネルはこれよりも遥かに大きく、カーネル 3.18.16では基本的なx86-64カーネルイメージの3.3 MBに加えて、121 MBのカーネルモジュールが含まれている (主にデバイスドライバ)。
 Alpine Configuration Framework (ACF) はAlpine Linuxデバイスの設定を行うためのアプリケーションである。Debianのdebconfと同じような目標を持っている。Luaをベースとした標準的なフレームワークである。
 Alpine Linuxでは一般的に利用されているGNU Cライブラリではなく、標準CライブラリとしてuClibcを利用していた。uClibcはより軽量だが、GNU Cライブラリとの互換性がないという重大な欠点がある。このことによって、全てのソフトウェアをコンパイルして、uClibcで正常に動作するのかを確認する必要があった。現在では、標準CライブラリはGNU Cライブラリとのバイナリ互換性があるmuslに切り替えられている。
 Alpine Linuxではinitとしてシンプルかつ軽量なOpenRCを利用している。Arch Linux・CentOS・Debian・openSUSE・Ubuntuなどのその他のLinuxディストリビューションとは異なり、systemdは利用していない。

脚注

関連項目 

 Linuxディストリビューションの比較

外部リンク 

 
 
 

Linuxディストリビューション
オープンソースソフトウェア