no-style

Базовая установка Alpine Linux

Базовая установка alpine linux
Этот дистрибутив долгое время попадал в поле моего внимания. Я попробовал его и не пожалел. Сегодня расскажу об установке базовой версии Alpine linux в качестве custom iso на vps/vds хостинге.


Необходимые требования

Минимальные: 256 MB RAM

рекомендуется: 2048 MB RAM







Пару слов об Alpine Linux

Дистрибутива Alpine Linux обладает несколькими сильными преимуществами:

  • Во первых он основан на Musl и BusyBox, что в свою очередь сильно повлияло на итоговый размер дистрибутива.
  • За счёт своего небольшого размера и подхода разработчиков дистрибутив славится более продвинутой безопасностью. Чем меньше bloated кода, тем меньше векторов для атаки.
  • В третьих, опять таки за счёт размера и других отличий таких как инит OpenRC вместо systemd этот дистрибутив является более шустрым для более слабого железа.

Учитывая все эти особенности, Alpine Linux прекрасно подходит для размещения на нём Docker контейнеров.

Минусы конечно тоже присутствуют.

  • Например эта система не такая популярная и я пока нигде не встречал возможность установки этого дистрибутива нативно у хостеров, её придётся устанавливать из своёго iso, это не сложно и я опишу этот процесс ниже.
  • Также опять таки из за небольшой популярности по сравнению с другими дистрибутивами, придётся погуглить некоторые моменты, но когда это нас останавливало?






Подготовка

Работа с ISO образом

Качаем ISO отсюда https://www.alpinelinux.org/downloads/

Я опишу процесс установки Alpine на хостинге firstbyte, если у вас другой хостинг действуйте по такому же принципу что и в посте, поидее должно сработать везде где есть возможно ставить со своего ISO.

Первым делом отправляемся панельку управления впс серверами. В раздел ISO-образы

upload alpine iso 1

Добавляем наш новый Alpine Linux ISO

upload alpine iso 2

Дожидаемся окончания загрузки.



В результате успешной загрузки образ отобразится в списке доступных образов

upload alpine iso 3





Работа с Дисками

Отправляемся в главный раздел управления впс и останавливаем ту впску на которую хотим поставить Alpine. После этого снова выделяем её в списке и переходим в пункт диски

upload alpine iso 4

Нас интересует раздел ISO нажимаем на него, после чего выбираем из списка загруженную ранее alpine-standard-3.17.2-x86_64 (у вас скорее всего будет уже другое название). И делаем все как на картинке

upload alpine iso 5

Соглашаемся, нажав "ok". В результате раздел будет иметь вид

upload alpine iso 6

Отлично, всё готово для установки.







Установка

Для того чтобы начать установку сначала стартуем впс и после этого кликаем по иконке VNC

vps settings 1


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

install alpine 1

После ввода пользователя root, пароль у нас никто не запрашивает и мы успешно авторизуемся под админской учёткой. Это сделано для облегчения процесса установки, разумеется позже мы сами зададим пароль для root.

install alpine 2

Чтобы приступить к установке вписываем команду

setup-alpine

Вся установка текстовая и сводится к тому что мы просто вдумчиво отвечаем на вопросы инсталлятора, приступаем...







Раскладка клавиатуры

Первое о чём нас спрашивают это раскладка клавиатуры. Я отвечаю US и далее опять уточняю US. Вписывайте свою или просто повторяйте за мной

install alpine 3





Hostname

В качестве хостнейма вписываю fb-node-02. Впишите своё название или просто согласитесь с дефолтным localhost







Настройка сети

Далее у нас идёт настройка сети, если у вас все параметры получаются по DHCP то просто нажмите ENTER. В моём случае мне необходимо было вручную указать сетевые настройки. Зачастую их можно посмотреть в самой панельке в разделе ip-адрес.

Либо на каком нибудь уже установленном дистре линукса:
для ip адреса вписать hostname --ip-address
для gateway вписать sudo route -n
и взять значения оттуда.

Просто отвечаем по порядку, вписывая ip адрес, маску подсети и gateway. После того как впишем, нам вновь отобразят настройки и спросят хотим ли мы ещё что то поменять. Мне тут больше ничего не нужно отвечаю n.

Также у нас спросят дефолтный домен, если нет домена или пока не определились можно вписать example.com

DNS сервера вписал такие 1.1.1.1 8.8.8.8

install alpine 4





Root user + TimeZone + Proxy

Задаём пароль руту. А также устанавливаем часовой пояс. Те, кому это надо, вписывают настройки прокси, у меня сеть работает без прокси, поэтому тут я просто нажимаю ENTER.

install alpine 5





Выбор основного репозитория

Теперь нам предлагают выбрать главный репозиторий. Чтобы пролистать сразу весь список нажимаем пробел и выбираем номер репозитория. Я выбираю пункт F: Detect and add fastest mirror from above list, название говорит само за себя. (Чтобы пролистнуть список репозиториев, вместо того чтобы постоянно нажимать ENTER - можно 1 раз нажать Q)

install alpine 6





Добавление нового пользователя

Придумываем и вписываем имя пользователя. А также задаём ему пароль.

install alpine 7





Выбор ssh сервера

Можем выбрать openssh или dropbear в зависимости от вашей конфигурации. Рекомендовано выбирать openssh.

install alpine 8





Разметка диска

Нам предлагают на выбор несколько вариантов разметки диска. Sys, Data, Crypt или lvm. Для того чтобы узнать больше можно выбрать пункт ?. На этом шаге я выбираю самый распространённый вариант разметки Sys.

install alpine 9

Этот шаг является финальным. После успешной разметки диска и копирования фаилов видим что нам предлагают ребутнуться, но мы поступаем немного иначе, вписываем команду

poweroff


Переходим обратно в панель управления впс и в меню диски - отключаем наш подключенный ранее iso. И теперь уже можем загружаться в свежеустановленную систему. Для этого просто стартуем впс.

Т.к. установка завершена, то можем уже подключатся через привычный нам ssh клиент, вкладка с VNC уже не нужна.







Первоначальная настройка

Добавляем community репозиторий

Мы попали в нашу новую систему. Рекомендуется обновить инфу о репозиториях и сами пакеты в системе. Но перед этим сначала раскомментируем community репозиторий, чтобы увеличить количество пакетов.

vi /etc/apk/repositories


И раскомментируем репозиторий community

install alpine 10





Добавляем testing репозиторий

В некоторых случаях пакеты находятся в репозитории testing. Для того чтобы его добавить нужно выполнить пару простых шагов:

Шаг 1: добавляем его в наш лист репозиториев

echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories


Шаг 2: Теперь для того чтобы поставить какой то пакет из репозитория testing необходимо явно его упомянуть вот так

apk add package-name@testing

Например вот так

apk add icewm@testing






Работа с менеджером пакетов

Для того чтобы обновить информацию о репозиториях выполняем команду

apk update

Для того чтобы обновить пакеты в системе выполняем

apk upgrade


Я советую сразу поставить такой набор

apk add nano htop speedtest-cli bmon nload pwgen ncdu curl wget mc coreutils bash-completion


Для того чтобы удалить какой то пакет пишем

apk del пакет


install alpine 11





Опционально: добавляем QEMU Agent

Для правильного отображения ресурсов впс, некоторые пользователи захотят поставить себе QEMU Agent, для этого сначала устанавливаем его

apk add qemu-guest-agent


Добавляем службу в автозагрузку

rc-update add qemu-guest-agent boot


Можем сразу запустить службу

service qemu-guest-agent start






Опционально: Добавляем sudo

Устанавливаем sudo

apk add sudo


Делаем конфиг для группы wheel

nano /etc/sudoers.d/wheel


Заполняем таким содержанием если хотим выполнять sudo без ввода пароля

%wheel ALL=(ALL:ALL) NOPASSWD: ALL

Либо таким если хотим каждый раз вписывать пароль для sudo

%wheel ALL=(ALL) ALL


Добавляем желаемого пользователя в группу wheel

adduser worker wheel






Опционально: Добавляем doas

Устанавливаем doas

apk add doas


Редактируем конфиг для группы wheel

nano /etc/doas.d/doas.conf


Заполняем таким содержанием если хотим выполнять doas без ввода пароля

permit nopass :wheel

Либо таким если хотим каждый раз вписывать пароль для doas

permit persist :wheel


Добавляем желаемого пользователя в группу wheel

adduser worker wheel






Опционально: Установка Docker

Наконец то мы подошли к самому интересному, установке докера. В дистрибутиве Alpine Linux это делается очень просто, ставим пакеты

sudo apk add docker docker-compose


Разрешаем запуск службы Docker при старте системы

sudo rc-update add docker boot


Опционально: Стартуем службу Docker

sudo service docker start


Добавляем нашего пользователя в группу Docker

sudo adduser worker docker


После этого рекомендуется перезагрузить систему.







Заключение

На редкость миниатюрный и шустрый дистрибутив. Шикарно подходит в качестве основы под docker контейнеризацию. Просто взгляните на это смешное использования ресурсов с запущенным докером.

install alpine 12

Комментарии