Alpine Linux
Изображение логотипа
Последняя версия 3.19.0[1] (7 декабря 2023; 3 месяца назад (2023-12-07))
Менеджеры пакетов Alpine package manager[d]
Поддерживаемые платформы x86, x86-64, ARM, IBM System/390, ppc64[d] и RISC-V
Лицензия GNU GPL 2[2], лицензия MIT[2] и 2-пунктная лицензия BSD[d][2]
Репозиторий исходного кода gitlab.alpinelinux.org
Веб-сайт alpinelinux.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Alpine Linux — дистрибутив Linux, ориентированный на безопасность, легковесность и нетребовательность к ресурсам. В основном используется во встраиваемых системах[3][4][5][6][7][8], стал основой PostmarketOS[9], также хорошо подходит для создания Docker-контейнеров[10][11][12][13]. Основан на musl и BusyBox, использует PaX и grsec по умолчанию в ядре и компилирует все пакеты с защитой стека от переполнения[14].

Для обеспечения безопасности в дистрибутиве применяются:

Размер базовой системы Alpine Linux составляет всего лишь 4-5 Мбайт (исключая ядро). Контейнер требует не более 8 МБ, а для минимальной установки на диск требуется около 130 МБ.[3]

С целью повышения безопасности все программы пространства пользователя компилируются как position-independent executable с защитой от повреждения стека.

История

Первоначально был ответвлением проекта LEAF[en][15]: большинство разработчиков проекта LEAF хотели продолжать разрабатывать дистрибутив Linux, который мог поместиться на одной дискете, тогда как разработчики Alpine Linux желали включить ещё несколько тяжёлых пакетов, таких как Squid и Samba, а также дополнительные функции безопасности и новое ядро. Одна из первоначальных целей заключалась в создании основы для большой системы, сейчас это не является главной целью проекта[16].

До выпуска 3.7 дистрибутив поставлялся с hardened-ядром (патчи PaX и grsec) с целью уменьшения возможного вреда от уязвимостей.[17]

Особенности

В дистрибутиве реализована собственная система управления пакетами apk-tools, которая изначально была частью коллекции сценариев (shell scripts), но позже была переписана разработчиками на Си. Alpine на данный момент включает в себя такие пакеты как KDE, GNOME, Xfce, Firefox, и другие.

По умолчанию, Alpine Linux во время запуска полностью загружается в оперативную память.

Первоначально в дистрибутиве в качестве стандартной библиотеки языка Си использовалась uClibc вместо традиционной библиотеки glibc, несмотря на лёгкий вес, у неё есть существенный недостаток — она бинарно несовместима с glibc, таким образом, всё программное обеспечение было скомпилировано с использованием uClibc для корректной работы. Однако с 9 апреля 2014 года[18], Alpine Linux стала использовать библиотеку musl[19], которая является частично бинарно совместимой с glibc[20].

Инициализация системы, по сравнению с другими дистрибутивами, такими как Debian, Ubuntu, Arch Linux и CentOS, не использует systemd[21].

Примечания

  1. Alpine 3.18.4 released (англ.). Дата обращения: 9 мая 2023. Архивировано 7 декабря 2023 года.
  2. 1 2 3 Shiz ... Alpine License information — 2017.
  3. 1 2 About | Alpine Linux.About (англ.). Дата обращения: 17 апреля 2012. Архивировано 30 апреля 2012 года.
  4. Review: Alpine Linux is made for Docker | InfoWorld. Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
  5. Alpine Linux 2 review | LinuxBSDos.com. Дата обращения: 26 августа 2015. Архивировано 5 сентября 2015 года.
  6. Security-Oriented Alpine Linux 3.7 Has UEFI Support, GRUB Support in Installer. Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
  7. 10 Most Secure Linux Distros For Complete Privacy & Anonymity | 2017 Edition. Дата обращения: 15 июня 2018. Архивировано 15 июня 2018 года.
  8. Is Docker ditching Ubuntu Linux? Confusion reigns | Network World. Дата обращения: 15 июня 2018. Архивировано 16 июня 2018 года.
  9. Aiming for a 10 year life-cycle for smartphones (англ.). postmarketos.org. Дата обращения: 19 марта 2022. Архивировано 2 октября 2017 года.
  10. Nunez, Steven Review: Alpine Linux is made for Docker (англ.). InfoWorld (10 июля 2017). Дата обращения: 26 июня 2018. Архивировано 15 июня 2018 года.
  11. Nunez, Steven Review: The best Linux distros for Docker and containers (англ.). InfoWorld (30 октября 2017). Дата обращения: 26 июня 2018. Архивировано 25 июня 2018 года.
  12. Noyes, Katherine Is Docker ditching Ubuntu Linux? Confusion reigns (англ.). InfoWorld (10 февраля 2016). Дата обращения: 26 июня 2018. Архивировано 27 июня 2018 года.
  13. Alpine Linux Goes All In for Docker (англ.). eWEEK. Дата обращения: 26 июня 2018.
  14. about | Alpine Linux (англ.). www.alpinelinux.org. Дата обращения: 19 января 2016. Архивировано 15 января 2016 года.
  15. The Search Engine that Does at InfoWeb.net (англ.). Архивировано 14 мая 2016 года.
  16. Alpine 2.2.0 — Linux-дистрибутив для роутеров и брандмауэров — Новости (nixp.ru). Дата обращения: 3 мая 2022. Архивировано 12 мая 2014 года.
  17. Alpine 3.8.0 released | Alpine Linux. alpinelinux.org. Дата обращения: 27 апреля 2022. Архивировано 3 июля 2022 года.
  18. Alpine 3.0.0 released | Alpine Linux (англ.). Дата обращения: 15 июня 2018. Архивировано 28 января 2021 года.
  19. Alpine Linux has switched to musl libc | Alpine Linux (англ.). Дата обращения: 10 февраля 2015. Архивировано 10 февраля 2015 года.
  20. musl FAQ (англ.). Дата обращения: 10 февраля 2015. Архивировано 20 февраля 2015 года.
  21. Alpine Linux Init System — Alpine Linux (англ.). Дата обращения: 15 июня 2018. Архивировано 16 ноября 2020 года.

Ссылки