Alpine Linux
Alpine Linux | |
---|---|
![]() | |
![]() | |
Первый выпуск | 2006[2] |
Последняя версия | 3.20.2[1] (22 июля 2024; 40 дней назад (2024-07-22)) |
Менеджеры пакетов | Alpine package manager[вд] |
Поддерживаемые платформы | x86, x86-64, ARM, IBM System/390, ppc64[вд] и RISC-V |
Лицензия | GNU GPL 2[3], лицензия MIT[3] и 2-пунктная лицензия BSD[вд][3] |
Репозиторий исходного кода | gitlab.alpinelinux.org |
Веб-сайт | alpinelinux.org (англ.) |
![]() |
Alpine Linux — дистрибутив Linux, ориентированный на безопасность, легковесность и нетребовательность к ресурсам. В основном используется во встраиваемых системах[4][5][6][7][8][9], стал основой PostmarketOS[10], также хорошо подходит для создания Docker-контейнеров[11][12][13][14]. Основан на musl и BusyBox, использует PaX и grsec по умолчанию в ядре и компилирует все пакеты с защитой стека от переполнения[15].
Для обеспечения безопасности в дистрибутиве применяются:
- свежие (актуальные) версии ядра Linux и других пакетов, например iptables, openssl;
- применение патчей, увеличивающих безопасность, на все компоненты системы, помимо ядра;
- довольно частый релизный цикл, поддерживающий актуальность дистрибутива на высоком уровне.
Размер базовой системы Alpine Linux составляет всего лишь 4-5 Мбайт (исключая ядро). Контейнер требует не более 8 МБ, а для минимальной установки на диск требуется около 130 МБ.[4]
С целью повышения безопасности все программы пространства пользователя компилируются как position-independent executable с защитой от повреждения стека.
История
Первоначально был ответвлением проекта LEAF[англ.][16]: большинство разработчиков проекта LEAF хотели продолжать разрабатывать дистрибутив Linux, который мог поместиться на одной дискете, тогда как разработчики Alpine Linux желали включить ещё несколько тяжёлых пакетов, таких как Squid и Samba, а также дополнительные функции безопасности и новое ядро. Одна из первоначальных целей заключалась в создании основы для большой системы, сейчас это не является главной целью проекта[17].
До выпуска 3.7 дистрибутив поставлялся с hardened-ядром (патчи PaX и grsec) с целью уменьшения возможного вреда от уязвимостей.[18]
Особенности
В дистрибутиве реализована собственная система управления пакетами apk-tools, которая изначально была частью коллекции сценариев (shell scripts), но позже была переписана разработчиками на Си. Alpine на данный момент включает в себя такие пакеты как KDE, GNOME, Xfce, Firefox, и другие.
По умолчанию, Alpine Linux во время запуска полностью загружается в оперативную память.
Первоначально в дистрибутиве в качестве стандартной библиотеки языка Си использовалась uClibc вместо традиционной библиотеки glibc, несмотря на лёгкий вес, у неё есть существенный недостаток — она бинарно несовместима с glibc, таким образом, всё программное обеспечение было скомпилировано с использованием uClibc для корректной работы. Однако с 9 апреля 2014 года[19], Alpine Linux стала использовать библиотеку musl[20], которая является частично бинарно совместимой с glibc[21].
Инициализация системы, по сравнению с другими дистрибутивами, такими как Debian, Ubuntu, Arch Linux и CentOS, не использует systemd[22].
Примечания
- ↑ Alpine 3.20.2 released (англ.). Дата обращения: 7 августа 2024. Архивировано 7 августа 2024 года.
- ↑ Crunchbase (англ.) — 2007.
- ↑ 1 2 3 Shiz ... Alpine License information — 2017.
- ↑ 1 2 About | Alpine Linux.About (англ.). Дата обращения: 17 апреля 2012. Архивировано 30 апреля 2012 года.
- ↑ Review: Alpine Linux is made for Docker | InfoWorld (неопр.). Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
- ↑ Alpine Linux 2 review | LinuxBSDos.com (неопр.). Дата обращения: 26 августа 2015. Архивировано 5 сентября 2015 года.
- ↑ Security-Oriented Alpine Linux 3.7 Has UEFI Support, GRUB Support in Installer (неопр.). Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
- ↑ 10 Most Secure Linux Distros For Complete Privacy & Anonymity | 2017 Edition (неопр.). Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
- ↑ Is Docker ditching Ubuntu Linux? Confusion reigns | Network World (неопр.). Дата обращения: 15 июня 2018. Архивировано 16 июня 2018 года.
- ↑ Aiming for a 10 year life-cycle for smartphones (англ.). postmarketos.org. Дата обращения: 19 марта 2022. Архивировано 2 октября 2017 года.
- ↑ Nunez, Steven Review: Alpine Linux is made for Docker (англ.). InfoWorld (10 июля 2017). Дата обращения: 26 июня 2018. Архивировано 15 июня 2018 года.
- ↑ Nunez, Steven Review: The best Linux distros for Docker and containers (англ.). InfoWorld (30 октября 2017). Дата обращения: 26 июня 2018. Архивировано 25 июня 2018 года.
- ↑ Noyes, Katherine Is Docker ditching Ubuntu Linux? Confusion reigns (англ.). InfoWorld (10 февраля 2016). Дата обращения: 26 июня 2018. Архивировано 27 июня 2018 года.
- ↑ Alpine Linux Goes All In for Docker (англ.). eWEEK. Дата обращения: 26 июня 2018.
- ↑ about | Alpine Linux (англ.). www.alpinelinux.org. Дата обращения: 19 января 2016. Архивировано 15 января 2016 года.
- ↑ The Search Engine that Does at InfoWeb.net (англ.). Архивировано 14 мая 2016 года.
- ↑ Alpine 2.2.0 — Linux-дистрибутив для роутеров и брандмауэров — Новости (nixp.ru) (неопр.). Дата обращения: 3 мая 2022. Архивировано 12 мая 2014 года.
- ↑ Alpine 3.8.0 released | Alpine Linux (неопр.). alpinelinux.org. Дата обращения: 27 апреля 2022. Архивировано 3 июля 2022 года.
- ↑ Alpine 3.0.0 released | Alpine Linux (англ.). Дата обращения: 15 июня 2018. Архивировано 28 января 2021 года.
- ↑ Alpine Linux has switched to musl libc | Alpine Linux (англ.). Дата обращения: 10 февраля 2015. Архивировано 10 февраля 2015 года.
- ↑ musl FAQ (англ.). Дата обращения: 10 февраля 2015. Архивировано 20 февраля 2015 года.
- ↑ Alpine Linux Init System — Alpine Linux (англ.). Дата обращения: 15 июня 2018. Архивировано 16 ноября 2020 года.
Ссылки
- alpinelinux.org — официальный сайт Alpine Linux
- Jesse Smith. Exploring Alpine Linux 3.2.0 (англ.). DistroWatch.com (6 июня 2015). Дата обращения: 26 августа 2015.
- Alpine Linux 2 review (англ.). LinuxBSDos.com (23 августа 2010). Дата обращения: 26 августа 2015.