Как установить 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 поддерживает следующие операции:

Читайте также:  Какие параметры компьютера нужны для windows 10
Операция Описание
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 и /.

Источник

Post Installation Recommendations

Now that your installation of Alpine Linux is up and running, you can start working with it. The following sections will provide a list of general recommendations to ease your interactive experience — they are all optional. The remaining sections will describe how to use (on a user level) various Alpine-native solutions, such as the package manager, firewall, and so on.

Creating a Normal User

Now that you are up and running, you will want a normal, non-root user to perform most daily tasks with. You can either use the built-in busybox utility adduser , or the utility available in the shadow package named useradd .

Here are examples for creating a user (named «john» and «jane» respectively) using the utilities adduser and useradd respectively.

1
Both the -h /home/john and -s /bin/ash sections may be optional. However, it is recommended to specify both, as the defaults may not be desirable.
1
The options are, as in the previous example, optional. However, they are still highly recommended, as shown.

Once your user has been created, if the utility you used has not asked you to set a password, you should do so now, using passwd foo , where «foo» is the username in question.

Granting Your User Administrative Access

Sometimes, you’ll want to do something that does require administrative powers. While you may switch to a different tty and log in as root, this is often inconvenient. You may gain root privileges ad-hoc using either the built-in busybox utility su , or the common external utility sudo , available in the package named the same way. sudo , unlike su , will require additional configuration. The visudo utility that comes with it allows you to safely edit the sudoers file which configures it. The difference between sudo and su comes down to which side the permissions come from — su allows you to temporarily log-in as another user (and thus requires that you enter the password of the user you wish to log in as), while sudo allows you to perform commands (including login shells) as the target user, assuming the configuration gives you that right (meaning that your password is the one used for authentication). Here are examples on how to use su , and how to configure and use sudo (in a shortened form) respectively:

12
-l means to run a login shell.
A mere — implies -l , and if no user is mentioned, root is implied — this is equivalent to the example in
12345
Sudo is not installed by default.
By default, sudo only provides permissions to root. This translates as «people in the group wheel are allowed to perform any command, as any user, and any group.»
The wheel group mentioned above is the common «administrator» group, and since we’re using it, we need to add our user to said group.
You may need to log out and log back in for the group listing to update. sudo -i is the equivalent of su — otherwise.
This will run «command with arguments» as the default sudo user — root.

Getting a Graphical Environment

Most people will often want something more than just a raw tty. This section describes how to get a supported graphical interface, as well as some additional notes (for example, how to use a different type of GUI).

You should not follow this if your system is intended to be used as a server, gateway, or similar device — those do not and should not require graphical interfaces. You can see the section acf if you absolutely require something more visual.

First, it is necessary to prepare the system — drivers are built into the linux kernel, but they are not accessible to the X Server — the windowing system provider. On most hardware, you can do this quickly by running setup-xorg-base . This will automatically detect what kind of gpu is installed, and install the appropriate xorg driver accelerator.

If this does not work for you, or you encounter other issues, as per usual, feel free to ask for help in the official support channels.

Once that is done, you can install the recommended and supported graphical setup by installing (and thus running) apk add alpine-desktop . This will install several system-related utilities, as well as the lxdm Desktop Manager and xfce4 Desktop Environment. In case you want a different DE or DM, you should install those now.

Once this is done, you should enable your chosen Desktop Manager as a service. For lxdm this looks like so: rc-update add lxdm and rc-service lxdm start . The first one makes it start on boot, and the last one will start it up immediately.

Copyright © 2019 Alpine Linux Development Team. All rights reserved.

Источник

Установка Alpine Linux

Итак, что же мы знаем об Alpine Linux и зачем его устанавливать? Во-первых, он базируется на musl и BusyBox, во-вторых, это единственный независимый дистрибутив Linux предоставляющий безопасность в общих целях. Его разработка была предопределена концепцией обеспечения безопасности, а для защиты от вредоносного кода было решено использовать PaX и SSP.

Стоит отметить его необычно неприхотливые требования к ресурсам системы. Пакеты используются apk, но некоторые придется установить самостоятельно. Руководство, конечно же, присутствует на сайте дистрибутива, которому необходимо не более 8 МБ, а минимальная установка на диск требует не более 130 МБ свободного места. Для управления пакетами в Alpine используется apk. И некоторых пакетов, которые Вам будут нужны, по умолчанию не будет в Alpine.

Установка Alpine Linux

Шаг 1. Загрузка образа

Переходим по этой ссылке https://www.alpinelinux.org/downloads/ и качаем образ:

Нам нужен STANDARD.

Шаг 2. Запись образа

Все как обычно, — если у вас Linux, то качаем Unebootin; если у вас Windows, то качаем Rufus. Ссылки предоставил.

Шаг 3. Настройка BIOS

Перезагружаем компьютер и заходим в BIOS. Нам надо зайти во вкладку Boot и указать в пункте 1 st Boot Device вашу флешку. Затем сохраните настройки и перезагрузите компьютер.

Шаг 4. Начало установки

Заранее говорю, что все делается через командную строку.

Пишем для входа в командную оболочку:

Далее выполняем команду:

Таким образом мы запускаем процесс установки

Шаг 5. Раскладка клавиатуры

Выбираем раскладку из списка. В моем случае это:

Жмем далее и снова пишем:

Шаг 6. Имя компьютера

При указании имени компьютера обратите внимание на то, что следует использовать числа и символы нижнего регистра. Например, имя Noma я не смог указать, зато имя noma вполне проходит по параметрам.

Шаг 7. Настройка сети

Сразу же после указания имени хоста нам предложат настройки, связанные с интернетом. Если у вас проводной интернет по DHCP, их просто пропускаем нажатием Enter. Все это можно настроить уже потом непосредственно в установленной системе.

Шаг 8. Пароль пользователя

Указываем пароль для суперпользователя. Если он 6-значный, например, то вы получите предупреждение о том, что пароль слишком слабый, но это не мешает установке.

Шаг 9. Настройка прокси

Далее вы можете установить прокси или просто пропустить. В моем случае я просто нажал Enter и пропустил этот пункт, так как все это тоже можно будет потом настроить, при необходимости.

Шаг 10. Выбор зеркала репозиториев

Вам дадут список зеркал, если вы этого не сделаете, то система будет проверять каждое и самостоятельно выберет наиболее подходящее.

Примечание для жителей Украины. Если вы не укажите зеркало, то рискуете попасть на Yandex, а с ним установка не получится, так как компания под санкциями. В вашем случае просто выберете любое другое.

Шаг 11. Настройка SSH

Если вы хотите, то можете установить и ssh сервер. И снова, на данном этапе это не является необходимым, и вы всегда сможете его поднять позже.

Шаг 12. Выбор места установки

Система предложит выбрать любой из доступных дисков для установки ОС. Я указываю следующее:

Далее вам надо выбрать для чего будет использоваться этот диск. Так как это системный диск, то я выбираю:

Получаем предупреждение о том, что все данные с выбранного диска будут удалены. Впрочем, ничего удивительного. Пишем:

Шаг 13. Завершение установки

Когда установка Alpine Linux завершится, система попросит о перезагрузке. Для этого извлекаем носитель на котором система и перезагружаемся командой:

Шаг 14. Вход в систему

Далее пишем пароль, который ранее задавали.

Шаг 15. Установка редактора nano

Так как у нас нет редактора, то мы установим. Это будет редактор Nano. Сделаем это с помощью команды:

Шаг 16. Редактирование файла с репозиториями и обновление

Теперь нам надо отредактировать файл репозиториев. Это позволит нам обновить систему и продолжить установку. Пишем:

Чтобы получить доступ к репозиторию сообщества надо раскомментиовать третью строку:

Для этого удалите # перед ней. После жмем ctrl+o -> Enter -> ctrl+x. После всего пишем команду:

Источник

Читайте также:  Unable to start program c windows
Оцените статью