Alpine Linux
muslとBusyBoxをベースとしたLinuxディストリビューション
Alpine Linux (アルパイン・リナックス) は、muslとBusyBoxをベースとしたLinuxディストリビューションである[2]。セキュリティ・シンプルさ・リソース効率を重視するパワーユーザー向けに設計されている[3][4][5][6]。Alpine Linuxではgrsecurity/PaXを適用したLinuxカーネルを使用しており、全てのユーザ空間バイナリがスタックスマッシング保護 (英語: stack-smashing protection、SSP) 付きの位置独立実行ファイル (PIE) としてコンパイルされている[2]。
開発者 | Alpine Linux Development Team |
---|---|
OSの系統 | |
開発状況 | 開発中 |
ソースモデル | オープンソース |
最新安定版 | 3.20.3[1] - 2024年9月6日 |
リポジトリ | |
対象市場 | |
使用できる言語 | 多言語 |
パッケージ管理 | APK |
プラットフォーム | |
カーネル種別 | モノリシックカーネル |
ユーザランド | BusyBox (オプション: GNU Core Utilities) |
既定のUI | コマンドラインインタフェース (CLI) |
ライセンス | フリーソフトウェアライセンス |
ウェブサイト |
www |
Alpine LinuxはmuslとBusyBoxを利用して構築されており、従来のLinuxディストリビューションと比較してLXCやインストールに必要なストレージ容量が小型化されている。リソース効率が向上しており、起動時間が短縮されている[7]。
postmarketOSはAlpine Linuxからフォークしたモバイルオペレーティングシステムである[8]。
歴史
編集Alpine LinuxはLEAF Projectからフォークしたプロジェクトである[9]。LEAF Projectでは単一のフロッピーディスクに収まるLinuxディストリビューションの開発を行っていたが、Alpine LinuxではSquidやSambaなどのより重いソフトウェアや、セキュリティ機能や新しいカーネルの追加を行いたいと考えていた。最初の目標の1つは、より大規模なシステム用のフレームワークの開発であった。この目標は既に達成されており、現在では主要な目標ではなくなっている。
バージョン履歴
編集バージョン | リリース日[10] | サポート期限[11] | カーネルバージョン |
---|---|---|---|
2.0 | 2010年8月16日 | 2012年4月1日 | — |
2.1 | 2010年11月1日 | 2012年11月1日 | — |
2.2 | 2011年5月3日 | 2013年5月1日 | — |
2.3 | 2011年11月1日 | 2013年11月1日 | — |
2.4 | 2012年5月2日 | 2014年5月1日 | — |
2.5 | 2012年11月7日 | 2014年11月1日 | — |
2.6 | 2013年5月17日 | 2015年5月1日 | — |
2.7 | 2013年11月8日 | 2015年11月1日 | — |
3.0 | 2014年6月4日 | 2016年5月1日 | — |
3.1 | 2014年12月10日 | 2016年11月1日 | — |
3.2 | 2015年5月26日 | 2017年5月1日 | 3.18.xx |
3.3 | 2016年1月6日 | 2017年11月1日 | 4.1.xx |
3.4 | 2016年5月31日 | 2018年5月1日 | 4.4.xx |
3.5 | 2016年12月22日 | 2018年11月1日 | 4.4.xx |
3.6 | 2017年5月24日 | 2019年5月1日 | 4.9.xx |
3.7 | 2017年11月30日 | 2019年11月1日 | 4.9.xx |
3.8 | 2018年6月26日 | 2020年5月1日 | 4.14.xx |
3.9 | 2019年1月29日 | 2021年1月1日 | 4.19.xx |
3.10 | 2019年6月19日 | 2021年5月1日 | 4.19.xx |
3.11 | 2019年12月19日 | 2021年11月1日 | 5.4.xx |
3.12 | 2020年5月29日 | 2022年5月1日 | 5.4.xx |
3.13 | 2021年1月14日 | 2022年11月1日 | 5.10.xx |
3.14 | 2021年6月15日 | 2023年5月1日 | 5.10.xx |
3.15 | 2021年11月24日 | 2023年11月1日 | 5.15.xx |
3.16 | 2022年5月23日 | 2024年6月23日 | 5.15.xx |
3.17 | 2022年11月22日 | 2024年11月22日 | 5.15.xx |
3.18 | 2023年5月9日 | 2025年5月9日 | 6.1.xx |
3.19 | 2023年12月7日 | 2025年11月1日 | 6.6.xx |
edge | ローリングリリース | — | — |
凡例 サポート終了 サポート中 現行バージョン 最新プレビュー版 |
特徴
編集- Alpine Linuxは独自のパッケージ管理システムとしてAPKを採用している。最初の頃はシェルスクリプトによって書かれていたが[12]、現在はC言語によって書き直されている[13]。GNOME・FFmpeg・Mozilla Firefoxなどが利用できる[14]。
- Alpine LinuxはRAMディスクオペレーティングシステムとしてインストールすることができる。このときに
lbu
を利用することにより、変更した設定ファイルのバックアップを行うことができる。デフォルトの動作では、/etc
以下が変更された場合に、tar.gzアーカイブが作成される[15]。 - 強化されたカーネルがデフォルトのカーネルに含まれているので、悪用や脆弱性の影響を軽減することができる。全てのユーザ空間バイナリがスタックスマッシング保護付きの位置独立実行ファイルとしてコンパイルされるので、バッファオーバーフローの影響を軽減することができる。
- Alpine LinuxはデフォルトでDMVPNを利用して効率的なメッシュ化VPNが利用可能なパッチを含む唯一のLinuxディストリビューションである。
- Alpine LinuxはXenの最新版に確実に対応しており、商用ディストリビューションで経験した問題は発生しない。また、KVMにも対応している。
- Alpine Linuxのベースシステムは4 - 5 MB (カーネルを除く) に収まるように設計されている。コンテナは8 MB以内に収まるようになっており、最小インストールには130 MBが必要となっている[2]。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に切り替えられている[16][17]。
- Alpine Linuxではinitとしてシンプルかつ軽量なOpenRCを利用している[18]。Arch Linux・CentOS・Debian・openSUSE・Ubuntuなどのその他のLinuxディストリビューションとは異なり、systemdは利用していない。
脚注
編集- ^ "Alpine 3.17.10, 3.18.9, 3.19.4, 3.20.3 released"; 閲覧日: 2024年9月6日; 出版日: 2024年9月6日.
- ^ a b c “about”. alpinelinux.org. 2018年10月17日閲覧。
- ^ Steven Nunez (2017年7月10日). “Review: Alpine Linux is made for Docker”. 2018年10月17日閲覧。
- ^ Marius Nestor (2017年12月4日). “Security-Oriented Alpine Linux 3.7 Has UEFI Support, GRUB Support in Installer”. 2018年10月17日閲覧。
- ^ “10 Most Secure Linux Distros For Complete Privacy & Anonymity | 2017 Edition”. Fossbytes (2017年11月8日). 2018年10月17日閲覧。
- ^ Katherine Noyes (2016年2月9日). “Is Docker ditching Ubuntu Linux? Confusion reigns”. 2018年10月17日閲覧。
- ^ Swapnil Bhartiya (2017年3月28日). “Meet Alpine Linux, Docker’s Distribution of Choice for Containers”. 2018年10月17日閲覧。
- ^ “postmarketOS”. postmarketos.org. 2018年10月17日閲覧。
- ^ “Alpine Linux:Glossary”. alpinelinux.org. 2018年10月17日閲覧。
- ^ “News archive”. alpinelinux.org. 2021年11月25日閲覧。
- ^ “Alpine release branches”. alpinelinux.org. 2021年11月25日閲覧。
- ^ “apk-tools”. SourceForge.net. 2018年10月18日閲覧。
- ^ “apk-tools”. alpinelinux.org. 2018年10月18日閲覧。
- ^ “Alpine Linux packages”. alpinelinux.org. 2018年10月18日閲覧。
- ^ “Alpine local backup”. alpinelinux.org. 2018年10月18日閲覧。
- ^ “Alpine 3.0.0 released”. alpinelinux.org. 2018年10月18日閲覧。
- ^ “musl FAQ”. musl-libc.org. 2018年10月18日閲覧。
- ^ “Alpine Linux Init System”. alpinelinux.org. 2018年10月18日閲覧。