- Alpine Linux: объяснение облегченного дистрибутива Linux
- Что такое Alpine Linux?
- Установка Alpine Linux
- Настроить Alpine Linux
- Настроить обычного пользователя
- Управление пакетами
- Настройка среды рабочего стола
- Подходит ли вам Alpine Linux?
- Alpine Linux: подробный обзор дистрибутива
- О Alpine Linux
- Впечатления
- Особенности
- Завершение
- Alpine Linux
- Дистрибутив Alpine Linux
- Видео-обзор
- Система инициализации OpenRC
- Использует BusyBox
- Библиотека musl
- История
- Назначение, использование
- Система управления пакетами apk-tools
- Операции утилиты apk
- Репозитории и пакеты
- Установка Alpine Linux
Alpine Linux: объяснение облегченного дистрибутива Linux
Linux – это весело, но иногда вы просто упираетесь в стену с текущими дистрибутивами и хотите чего-то другого. Кроме того, похоже, что размеры файлов ISO и требования к памяти со временем растут. Где-то должен быть дистрибутив поменьше.
Если вы ищете легкий дистрибутив Linux, Alpine Linux может стать для вас глотком свежего горного воздуха!
Что такое Alpine Linux?
Alpine Linux – это дистрибутив Linux, который стремится к минимализму как с точки зрения пространства, так и объема, а также для повышения безопасности. Размер установочного носителя по умолчанию составляет всего 133 МБ. Это впечатляет, учитывая, что некоторые файлы ISO в других дистрибутивах больше предназначены для DVD и флэш-накопителей. Alpine удобно помещается на CD-R, оставляя достаточно места.
Alpine Linux использует метод, называемый независимыми от положения исполняемыми файлами, для рандомизации расположения программ в памяти. Это затрудняет злоумышленнику использование причуд в памяти и захват компьютера.
Дистрибутив также минималистичен по своей конфигурации. Он получил свой небольшой размер за счет использования пакета BusyBox, который предоставляет большинство утилит в одном исполняемом файле.
Небольшой размер Alpine делает его подходящим для людей, работающих с контейнерами, особенно с Docker.
Установка Alpine Linux
Установка Alpine Linux аналогична установке любого другого дистрибутива Linux. Вы берете установочный образ и переносите его на предпочтительный носитель, а затем перезагружаете компьютер.
Минимализм Alpine применим и к процессу установки. Вы попадаете в стандартную текстовую консоль Linux. Здесь нет графической установки.
Что касается установочных образов, у вас есть несколько вариантов на странице загрузки, в зависимости от того, насколько полную систему вы хотите установить.
Стандартный образ рекомендуется для большинства людей и включает наиболее часто используемые пакеты. Купите этот, если вы новичок в Alpine.
Расширенный образ предназначен для специализированных устройств, таких как маршрутизаторы, которые не будут обновляться так часто, поэтому в нем больше пакетов, чем в стандартном.
Если вы хотите установить очень минимальную систему, получите образ Netboot , который включает только минимум для загрузки и подключения к сети. Затем вам нужно будет загрузить любые другие необходимые пакеты. Этот вариант для тех, кто действительно любит адаптировать системы к своим требованиям.
При установке вы входите в загруженную систему как root. Нет системы с меню. Все настройки выполняются из командной строки. Если вы установили Arch Linux, этот процесс будет вам знаком.
Хотя Alpine не очень вас держит за руку, они включили несколько скриптов, которые проведут вас через процесс установки. Самый главный – сетап-альпийский . Сценарий спросит у вас такие вещи, как раскладка клавиатуры и часовой пояс, а также поможет вам разбить диск на разделы. Вы можете просто принять значения по умолчанию.
Вы можете найти более подробную информацию о настройке Alpine на вашем компьютере в документации и вики . Часть информации может быть устаревшей. Вы можете попытаться установить пакет, рекомендованный в документации, только для того, чтобы узнать, что его нет в репозитории.
Настроить Alpine Linux
Когда вы, наконец, загрузитесь в свою новую установку Alpine, она все еще довольно проста, только с текстовой консолью и оболочкой. Вы захотите внести некоторые изменения в систему по умолчанию, чтобы сделать ее действительно полезной.
Настроить обычного пользователя
При первой установке Alpine единственным пользователем является root. Вы не хотите все время работать с правами root. Это угроза безопасности, и вы можете случайно повредить важные системные файлы.
Чтобы добавить еще одного пользователя, просто введите:
Вы замените «username» на имя пользователя, которого хотите использовать для входа в систему. Параметр -h указывает домашний каталог, а параметр -s указывает путь к оболочке, ash, которая является оболочкой по умолчанию для BusyBox и, следовательно, оболочки, установленной в Alpine Linux. Если вы хотите использовать другую оболочку, вы должны изменить этот параметр на путь к предпочитаемой оболочке.
Чтобы установить пароль для пользователя, используйте команду passwd :
Вам будет предложено установить пароль для пользователя. Повторно введите пароль, чтобы подтвердить процесс. Как только это будет сделано, вы можете выйти из учетной записи root и войти в свою учетную запись обычного пользователя.
По умолчанию, если вы хотите запускать команды от имени пользователя root, вы будете использовать команду su :
Параметр – означает запуск оболочки входа в систему, как если бы вы вошли напрямую в систему с правами root. При появлении запроса введите пароль root, после чего вам будет предложено приглашение #, которое указывает, что вы работаете как root. Когда вы закончите выполнение административных команд, лучше всего выйти из корневого сеанса, набрав logout или нажав Ctrl + D, чтобы вернуться к обычному сеансу.
Если вы привыкли использовать sudo, в документации есть информация о том, как его настроить .
Управление пакетами
Как и в любом другом современном дистрибутиве Linux, Alpine использует диспетчер пакетов. Они создали свой собственный, названный Alpine Package Keeper, или APK.
Использовать APK очень просто. Если вы привыкли использовать Apt в Debian или Ubuntu , это еще проще. Неизвестно, было ли это намеренно, но многие команды идентичны.
Чтобы обновить репозиторий, просто введите эту команду:
Чтобы обновить свои пакеты до последних доступных, введите:
Чтобы установить конкретный пакет, в данном случае Vim, введите:
Чтобы удалить пакет, введите:
Если какие-либо пакеты больше не нужны после удаления, APK удалит их автоматически. Это отличается от APT, поскольку вам нужно запустить команду apt autoremove, чтобы сделать то же самое.
Настройка среды рабочего стола
Если вы не планируете устанавливать Alpine в качестве сервера, вы, вероятно, захотите установить графическую среду. К счастью, Alpine поддерживает основные оконные менеджеры и среды рабочего стола.
Для настройки X Alpine предоставляет скрипт setup-xorg-base . Это похоже на процесс установки, когда вы запускаете его и отвечаете на несколько вопросов о вашей настройке. В большинстве случаев настройка выполняется автоматически.
Вам придется самостоятельно установить предпочитаемый оконный менеджер, рабочий стол, файловый менеджер и т. Д. Вы, вероятно, также захотите установить диспетчер дисплея, такой как LightDM. Однако вам придется сказать OpenRC, чтобы он запускался автоматически.
Например, чтобы использовать LXDM;
Подходит ли вам Alpine Linux?
Если вы ищете что-то отличное от обычных дистрибутивов Linux, стоит подумать об Alpine Linux. Если вам нужна облегченная серверная ОС для виртуализации или контейнеров, вам подойдет Alpine.
Хотя в Интернете доступно множество облегченных дистрибутивов Linux, вы должны найти Alpine Linux, подходящий для всех ваших нужд.
Источник
Alpine Linux: подробный обзор дистрибутива
Alpine Linux — это дистрибутив, предназначенный для минимального и безопасного использования ресурсов.
О Alpine Linux
Распределение предназначено для использования в средах, где производительность и безопасность являются главными приоритетами:
- серверы
- брандмауэры
- одноплатные компьютеры.
Дистрибутив предлагает необычный набор функций. Во-первых, использование библиотеки musl C вместо более популярной библиотеки GNU C. Во-вторых, приложение Busybox для инструментов командной строки вместо инструментов GNU. В-третьих, управление службами через OpenRC вместо systemd или SysV init.
Распределение также обеспечивает некоторую дополнительную безопасность через независимые от позиции исполняемые файлы (PIE). Всем известно, как они затрудняют некоторые общие способы атаки на память.
Существует несколько сборок и выпусков Alpine.
Во-первых, специальные загрузки для запуска дистрибутива на физическом оборудовании и в виртуальных средах. Во-вторых, различные сборки в зависимости от того, хотим ли мы полностью работающую серверную операционную систему или более минимальную базу. В-третьих, существует несколько вариантов архитектуры для процессоров x86 (32-разрядных и 64-разрядных), ARM, PPC64 и s390x.
Расширенная версия предлагает большинство инструментов из коробки и загружает себя в оперативную память, чтобы предложить лучшую производительность. Размер файла составляет 398 МБ.
Стоит отметить, что все выпуски дистрибутива довольно минимальны. Соответственно, предназначены для использования на серверах и встроенных устройствах, а не на рабочих станциях. Дистрибутив представляет собой скорее платформу для создания чего-либо, чем готовое решение или устройство.
Live media загружается практически сразу и представляет нам текстовую консоль. Мы можем войти в корневой аккаунт без пароля.
Консоль отображает несколько полезных советов, таких как, где найти документацию Alpine онлайн и что мы можем запустить установщик системы, запустив setup-alpine команда. На живых носителях не так много инструментов.
Впечатления
Локально установленная копия Alpine загружается в текстовую консоль, где мы можем войти в систему как пользователь root. Инструменты пользователя предоставлены Busybox, а программное обеспечение связано с облегченной библиотекой musl C.
Дистрибутив использует OpenRC в качестве менеджера сервисов и работает на версии 4.19 ядра Linux. Здесь нет графического отображения, страниц справочника и компилятора.
Начало работы с текстовой консолью Alpine
Alpine быстро загружается и выключается, время его запуска, вероятно, составляет менее четверти большинства распространенных дистрибутивов. Дистрибутив использует около 33 МБ ОЗУ с установкой по умолчанию расширенной версии и занимает всего 675 МБ дискового пространства. Еще 2 ГБ дискового пространства занимают пространство подкачки дистрибутива.
Подробная инструкция по установке Alpine Linux в данной статье.
Особенности
Alpine Linux отличается в некоторых важных отношениях по сравнению с большинством других дистрибутивов.
Вот основные из них:
- использует разные библиотеки,
- уникальный диспетчер служб
- разные инструменты командной строки
- пользовательский установщик.
Alpine необычайно мал и требует мало ресурсов. Даже для расширенной расширенной версии, требуется менее 100 МБ ОЗУ и менее гигабайта дискового пространства. Следует уточнить, это после того, как все мои службы были включены. Кроме того, дистрибутив поставляется с некоторыми функциями безопасности, такими как PIE. К тому же, отсутствуют службы, которые не нужны дистрибутиву для запуска.
Установка Alpine — это не простая задача, она более ручная и требует небольшого набора текста. Не так много, как установка Arch Linux ,но все же пришлось повозиться дольше, чем обычно. То же касается и настройки сервисов дистрибутива. Дистрибутив работает немного иначе, чем обычные проекты Linux. Все это заставляет обращаться к изучению документации проекта.
Завершение
Для новых пользователей операционная система может показаться минимальной, но она удивительно надежна и предсказуема.
Это может сделать Alpine менее привлекательным для новичков или пользователей настольных компьютеров. Зато, это сильный аргумент в пользу использования Alpine Linux на серверах и встраиваемых устройствах, где надежность важнее, чем удобство.
Источник
Alpine Linux
Дистрибутив Alpine Linux
Alpine Linux — независимый, маленький, быстрый дистрибутив Linux. Используется в Docker контейнерах.
Видео-обзор
Видео-обзор дистрибутива Alpine Linux.
Система инициализации OpenRC
В качестве системы инициализации используется OpenRC.
OpenRC отличается модульной структурой, загрузкой на основе зависимостей, поддержкой ограничения ресурсов, параллельной загрузкой сервисов и т.д.
Изначально OpenRC использовалась в Gentoo (c 2011 года) и была основана на SysVInit.
Использует BusyBox
Alpine Linux использует набор UNIX-утилит BusyBox. BusyBox это реализация классических утилит UNIX, выполненная в виде одного небольшого исполняемого файла.
BusyBox реализует все основные утилиты (GNU fileutils, shellutils и т.д.), которые обычно реализованы как отдельные файлы. Утилиты BusyBox, как правило, более компактные и могут иметь меньше опций, чем GNU аналоги. Не смотря на это, BusyBox предоставляет достаточно полную среду для любой небольшой или встраиваемой системы.
Вызов утилит в BusyBox выполняется путем исполнения файла busybox и указания требуемой команды и аргументов. Например, для вызова команды ls аргументом -l, необходимо выполнить:
Библиотека musl
В качестве реализации стандартной библиотеки языка C (libc) в Alpine Linux используется библиотека musl.
Самой популярной библиотекой языка C является GNU Libc (glibc). glibc обеспечивает реализацию системных вызовов и основные функции, например open, malloc и так далее. Библиотека musl представляет собой более легковесную альтернативу glibc.
musl была разработана с нуля Ричем Фелкером. Ставились цели разработать более чистую и эффективную реализацию, которая будет соответствовать стандартам.
Скомпилированная версия библиотеки представляет собой один динамический объектный файл. При использовании версии musl для статического связывания, можно создавать портативные программы в виде одного исполняемого бинарного файла.
Первый релиз musl появился 11 февраля 2011.
Помимо Alpine Linux библиотека musl также используется в дистрибутивах Gentoo, OpenWrt, Sabotage, Void Linux и других.
История
Изначально Alpine Linux являлся форком LEAF Project (Linux Embedded Appliance Framework Project).
Назначение, использование
- Из-за своего маленького размера Alpine Linux часто применяется в контейнерах.
- Может использоваться во встраиваемых системах. Например, в основе операционной системы для смартфонов postmarketOS лежит Alpine Linux.
- Может быть установлен в качестве «десктоп-системы».
Система управления пакетами apk-tools
Используется собственная система управления пакетами apk-tools.
Изначально apk-tools представляла собой набор shell-скриптов, но потом была полностью переписана на C.
Alpine Linux может быть установлен на диск, либо работать из оперативной памяти. Управление пакетами включает две фазы:
- Установка / Обновление / Удаление пакетов на работающей системе.
- Восстановление системы в ранее сконфигурированное состояние (например, после перезагрузки), включая все ранее установленные пакеты и локально измененные конфигурационные файлы. Данная фаза актуальна только для системы, работающей из RAM (diskless mode).
apk-tools включает две утилиты:
- apk — утилита для установки, обновления и удаления пакетов в работающей системе. (Не путать с apk форматом для Android)
- lbu — утилита для сохранения данных, необходимых для последующего восстановления системы в ранее сконфигурированное состояние. lbu происходит от названия «Alpine local backup»
Операции утилиты apk
Утилита apk поддерживает следующие операции:
Операция | Описание |
---|---|
add | добавление и обновление пакетов. |
del | удаление пакетов. |
fix | выполнить восстановление или обновление, установленных пакетов. |
update | обновить индекс — получить актуальную информацию о пакетах, находящихся в репозиториях. |
info | вывести информацию об установленных или доступных пакетах. |
search | поиск по названию или описанию пакетов. |
upgrade | обновление пакетов. |
cache | управление кешем. |
version | сравнение версий установленных и доступных в репозитории пакетов. |
index | создать индекс на основе списка пакетов. |
fetch | скачать, но не устанавливать пакеты. |
audit | показать изменения в файловой системе после установки пакета. |
verify | проверить подпись. |
dot | создать граф (graphviz) для описания структуры пакета. |
policy | показать репозиторий, из которого пакет был установлен, а также репозитории, в которых также содержится этот пакет. |
stats | отобразить статистику, включая количество установленных и доступных пакетов, количество директорий, файлов и т.д. |
manifest | отобразить контрольные суммы для файлов, содержащихся в пакете. |
Репозитории и пакеты
Пакеты для Alipne Linux представляют собой tar.gz архивы и имеют расширение .apk. В архиве пакета содержатся программы, конфигурационные файлы и метаданные о зависимостях.
Репозиторий представляет собой обычную директорию, в которой находятся .apk файлы. Также в директории размещается специальный индексный файл APKINDEX.tar.gz
Утилита apk может устанавливать пакеты из различных репозиториев. Список репозиториев представлен в файле /etc/apk/repositories
Если система была загружена с USB-носителя или CD-ROM, то файл /etc/apk/repositories может иметь следующее содержимое:
В дополнение к локальным репозиториям, утилита apk может загружать пакеты с внешних репозиториев по HTTP, HTTPS или FTP протоколу. Для загрузки пакетов используется busybox wget. Пример файла /etc/apk/repositories с адресами удаленных (внешних) репозиториев.
Установка Alpine Linux
Система устанавливается в консольном режиме. Для установки используется скрипт setup-alpine
Существует три режима установки, которые влияют на то, как будет работать система:
- Diskless Mode — вся система и все приложения загружаются в RAM.
- Data Disk Mode — система запускается из RAM, но swap и /var монтируются с диска.
- Sys Disk Mode — традиционная установка системы на диск. По умолчанию создается три раздела: /boot, swap и /.
Источник