Разработчик | Команда разработчиков Alpine Linux |
---|---|
Семейство ОС | Linux ( подобный Unix ) |
Рабочее состояние | Активный |
Исходная модель | С открытым исходным кодом |
Первоначальный выпуск | Август 2005 г ( 2005-08 ) | [1]
Последний релиз | 3.21.2 [2] / 8 января 2025 г. ( 8 января 2025 г. ) |
Репозиторий |
|
Маркетинговая цель | Общего назначения. Безопасность, встроенные системы и другие системы с ограниченными ресурсами, такие как контейнеры. [3] |
Доступно в | Многоязычный |
Менеджер пакетов | apk-инструменты |
Платформы | |
Тип ядра | Монолитный ( Linux ) |
Пользовательская земля | BusyBox |
Пользовательский интерфейс по умолчанию | Пепел |
Официальный сайт | alpinelinux.org |
Alpine Linux — это дистрибутив Linux, разработанный с целью быть небольшим, простым и безопасным. [3] Он использует musl , BusyBox и OpenRC вместо более распространенных glibc , GNU Core Utilities и systemd . [4] [5] [6] [7] [8] Это делает Alpine одним из немногих дистрибутивов Linux, которые не основаны на GNU Core Utilities или glibc. [9]
В целях безопасности Alpine компилирует все двоичные файлы пользовательского пространства как позиционно-независимые исполняемые файлы с защитой от повреждения стека . [10]
Благодаря небольшому размеру и быстрому запуску он обычно используется в контейнерах, обеспечивая быструю загрузку, [11] [12] на виртуальных машинах , а также на реальном оборудовании во встроенных устройствах , таких как маршрутизаторы , серверы и NAS . [ требуется ссылка ]
Первоначально Alpine Linux начинался как дистрибутив для встраиваемых устройств, таких как беспроводные маршрутизаторы , на основе Gentoo Linux , [13] вдохновленный GNAP и ответвлением Bering-uClibc проекта LEAF . [1] Основатель Натанаэль Копа сказал, что название было выбрано в качестве бэкронима для «A Linux-Powered Network Engine» или какой-то похожей фразы, но точная фраза с тех пор забыта. [14]
Система управления пакетами Alpine , Alpine Package Keeper, [15] изначально представляла собой набор сценариев оболочки [16], но позже была переписана на языке C. [17] Целью этого менеджера пакетов является достижение высокой скорости установки и обновления, что достигается путем записи новых данных непосредственно на месте в файловую систему операционной системы , а не путем использования кэширования или сжатия . [14]
В 2014 году Alpine Linux перешла с uClibc на musl в качестве стандартной библиотеки C. [ 18]
В дистрибутив по умолчанию было включено защищенное ядро PaX , чтобы помочь снизить влияние эксплойтов и уязвимостей, [19] но разработчики Alpine решили прекратить эту поддержку, поскольку исправление PaX больше не доступно публично. [20] Alpine по-прежнему использует защищенную цепочку инструментов и позиционно-независимые исполняемые файлы, чтобы минимизировать потенциальные стековые атаки , [14] но теперь он основан на стандартном долгосрочном стабильном дистрибутиве ядра Linux.
Главной особенностью Alpine является его небольшой размер, что позволяет ему быстро запускаться и работать в средах с очень небольшим объемом памяти и хранилища, таких как контейнеры или встроенные устройства .
Alpine Linux может быть опционально установлен как операционная система , запускаемая из оперативной памяти . Это позволяет Alpine надежно работать в требовательных встроенных средах или (временно) выживать при частичных сбоях диска, которые иногда случаются в публичных облачных средах. По умолчанию Alpine, работающая в этом режиме, будет загружать только несколько ключевых пакетов, но инструмент под названием LBU (Alpine Local Backup) [21] доступен, что позволяет записывать изменения в этой конфигурации загрузки в специальный файл, называемый файлом наложения APK (обычно сокращается до apkovl ), файл tar.gz , который по умолчанию хранит копию всех файлов в /etc, которые были изменены по сравнению с конфигурацией по умолчанию, с возможностью отслеживания большего количества каталогов по мере необходимости.
Alpine предлагает ряд предустановленных скриптов конфигурации, которые проводят пользователя через начальную настройку системы для выполнения общих вычислительных задач. [22] Кроме того, Alpine также предлагает инструмент на основе веб-сервера , известный как Alpine Configuration Framework, который позволяет пользователям, менее знакомым с Alpine или командной строкой, настраивать операционную систему способом, аналогичным тому, который позволяет утилита Debian debconf . Скрипты конфигурации Alpine написаны полностью как скрипты оболочки UNIX , которые вызывают небольшую утилиту анализа образа ISO , написанную на языке C и распространяемую в Alpine. Alpine Configuration Framework написан на языке Lua . [23]
Благодаря своей надежности и компактности Alpine Linux тесно интегрирован с популярными средами и наборами инструментов разработчиков и системных администраторов.
postmarketOS , дистрибутив Linux для мобильных устройств , основан на Alpine Linux. [27]