Русская Википедия:Alpine Linux

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

  • свежие (актуальные) версии ядра Linux и других пакетов, например iptables, openssl;
  • применение патчей, увеличивающих безопасность, на все компоненты системы, помимо ядра;
  • довольно частый релизный цикл, поддерживающий актуальность дистрибутива на высоком уровне.

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

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

История

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

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

Особенности

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

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

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

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

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Дистрибутивы Linux Шаблон:Linux

  1. 1,0 1,1 Шаблон:Cite web
  2. Шаблон:Cite web
  3. Шаблон:Cite web
  4. Ошибка цитирования Неверный тег <ref>; для сносок softpedia не указан текст
  5. Ошибка цитирования Неверный тег <ref>; для сносок fossbytes не указан текст
  6. Ошибка цитирования Неверный тег <ref>; для сносок networkworld не указан текст
  7. Шаблон:Cite web
  8. Шаблон:Cite web
  9. Шаблон:Cite web
  10. Шаблон:Cite web
  11. Шаблон:Cite web
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. Шаблон:Cite web
  18. Шаблон:Cite web
  19. Шаблон:Cite web