- Базовая установка Alpine Linux
- Необходимые требования
- Пару слов об Alpine Linux
- Подготовка
- Работа с ISO образом
- Работа с Дисками
- Установка
- Раскладка клавиатуры
- Hostname
- Настройка сети
- Root user + TimeZone + Proxy
- Выбор основного репозитория
- Добавление нового пользователя
- Выбор ssh сервера
- Разметка диска
- Первоначальная настройка
- Добавляем community репозиторий
- Работа с менеджером пакетов
- Опционально: добавляем QEMU Agent
- setup-alpine
- setup-alpine -q
- Full setup-alpine
- Answer Files
- Changing passwords for ACF
- Changing ACF password using command line
- Set ACF-password on Alpine Linux 1.9 and newer
- Set ACF-password on Alpine Linux 1.8 and older
- To change passwords from the ACF Interface
- Save changes
Базовая установка Alpine Linux
Этот дистрибутив долгое время попадал в поле моего внимания. Я попробовал его и не пожалел. Сегодня расскажу об установке базовой версии Alpine linux в качестве custom iso на виртуальном хостинге.
Необходимые требования
рекомендуется: 2048 MB RAM
Пару слов об Alpine Linux
Дистрибутива Alpine Linux обладает несколькими сильными преимуществами:
- Во первых он основан на Musl и BusyBox, что в свою очередь сильно повлияло на итоговый размер дистрибутива.
- За счёт своего небольшого размера и подхода разработчиков дистрибутив славится более продвинутой безопасностью. Чем меньше bloated кода, тем меньше векторов для атаки.
- В третьих, опять таки за счёт размера и других отличий таких как инит OpenRC вместо systemd этот дистрибутив является более шустрым для более слабого железа.
Учитывая все эти особенности, Alpine Linux прекрасно подходит для размещения на нём Docker контейнеров.
Минусы конечно тоже присутствуют.
- Например эта система не такая популярная и я пока нигде не встречал возможность установки этого дистрибутива нативно у хостеров, её придётся устанавливать из своёго iso, это не сложно и я опишу этот процесс ниже.
- Также опять таки из за небольшой популярности по сравнению с другими дистрибутивами, придётся погуглить некоторые моменты, но когда это нас останавливало?
Подготовка
Работа с ISO образом
Я опишу процесс установки Alpine на хостинге firstbyte, если у вас другой хостинг действуйте по такому же принципу что и в посте, поидее должно сработать везде где есть возможно ставить со своего ISO.
Первым делом отправляемся панельку управления впс серверами. В раздел ISO-образы
Добавляем наш новый Alpine Linux ISO
Дожидаемся окончания загрузки.
В результате успешной загрузки образ отобразится в списке доступных образов
Работа с Дисками
Отправляемся в главный раздел управления впс и останавливаем ту впску на которую хотим поставить Alpine. После этого снова выделяем её в списке и переходим в пункт диски
Нас интересует раздел ISO нажимаем на него, после чего выбираем из списка загруженную ранее alpine-standard-3.17.2-x86_64 (у вас скорее всего будет уже другое название). И делаем все как на картинке
Соглашаемся, нажав «ok». В результате раздел будет иметь вид
Отлично, всё готово для установки.
Установка
Для того чтобы начать установку сначала стартуем впс и после этого кликаем по иконке VNC
В открывшемся окне мы увидим уже знакомую многим картину. Первым делом нам необходимо авторизоваться, вводим имя пользователя root
После ввода пользователя root, пароль у нас никто не запрашивает и мы успешно авторизуемся под админской учёткой. Это сделано для облегчения процесса установки, разумеется позже мы сами зададим пароль для root.
Чтобы приступить к установке вписываем команду
Вся установка текстовая и сводится к тому что мы просто вдумчиво отвечаем на вопросы инсталлятора, приступаем.
Раскладка клавиатуры
Первое о чём нас спрашивают это раскладка клавиатуры. Я отвечаю US и далее опять уточняю US. Вписывайте свою или просто повторяйте за мной
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
Root user + TimeZone + Proxy
Задаём пароль руту. А также устанавливаем часовой пояс. Те, кому это надо, вписывают настройки прокси, у меня сеть работает без прокси, поэтому тут я просто нажимаю ENTER.
Выбор основного репозитория
Теперь нам предлагают выбрать главный репозиторий. Чтобы пролистать сразу весь список нажимаем пробел и выбираем номер репозитория. Я выбираю пункт F: Detect and add fastest mirror from above list, название говорит само за себя. (Чтобы пролистнуть список репозиториев, вместо того чтобы постоянно нажимать ENTER — можно 1 раз нажать Q)
Добавление нового пользователя
Придумываем и вписываем имя пользователя. А также задаём ему пароль.
Выбор ssh сервера
Можем выбрать openssh или dropbear в зависимости от вашей конфигурации. Рекомендовано выбирать openssh.
Разметка диска
Нам предлагают на выбор несколько вариантов разметки диска. Sys, Data, Crypt или lvm. Для того чтобы узнать больше можно выбрать пункт ?. На этом шаге я выбираю самый распространённый вариант разметки Sys.
Этот шаг является финальным. После успешной разметки диска и копирования фаилов видим что нам предлагают ребутнуться, но мы поступаем немного иначе, вписываем команду
Переходим обратно в панель управления впс и в меню диски — отключаем наш подключенный ранее iso. И теперь уже можем загружаться в свежеустановленную систему. Для этого просто стартуем впс.
Т.к. установка завершена, то можем уже подключатся через привычный нам ssh клиент, вкладка с VNC уже не нужна.
Первоначальная настройка
Добавляем community репозиторий
Мы попали в нашу новую систему. Рекомендуется обновить инфу о репозиториях и сами пакеты в системе. Но перед этим сначала раскомментируем community репозиторий, чтобы увеличить количество пакетов.
И раскомментируем репозиторий community
Работа с менеджером пакетов
Для того чтобы обновить информацию о репозиториях выполняем команду
Для того чтобы обновить пакеты в системе выполняем
Я советую сразу поставить такой набор
Для того чтобы удалить какой то пакет пишем
Опционально: добавляем QEMU Agent
Для правильного отображения ресурсов впс, некоторые пользователи захотят поставить себе QEMU Agent, для этого сначала устанавливаем его
Добавляем службу в автозагрузку
Можем сразу запустить службу
setup-alpine
Now that you are booted in, you can log-in without a password as the root user. Alpine has a script called setup-alpine , which performs basic installation procedures. This section of the handbook describes its operation modes, as well as how to use it. However, no script is perfect, so it is recommended that if your use-case is not so simple, or you run into issues using it, to proceed to the next section which covers manual setup. For example, if you have no access to a wired network, you will need to configure Networking yourself.
setup-alpine -q
The q, or «quick» mode of the setup-alpine script allows one to get a trivial system configuration running quickly, to then proceed with other installation tasks, possibly remotely.
Under quick mode, setup-alpine will:
- Setup your Keyboard Layout
- Initialize your Hostname to the default «alpine» value
- Set your primary (autodetected) interface to use DHCP, and start networking
- Enable various relevant system services, and start them
- Generate a valid /etc/hosts file
- Enable the default repository
`setup-alpine’s networking set-up will not work by itself for wifi. If you have no access to an ethernet port and cable, refer to the section on configuring networking manually.
Quick mode is useful to get a system online and operational very quickly (thus the name) to then go on to use it manually.
The steps quick mode skips are, in order:
- Setting a root password
- Setting the timezone
- Setting up an optional proxy
- Enabling SSH
- Enabling NTP synchronization
- Configuring the disk, if any
- Configuring lbu
- Configuring apk’s caching mechanism
Full setup-alpine
setup-alpine in normal mode will do all of the abovementioned steps, under some conditions, and will rely much less on default values.
It is recommended to use this mode directly if your scenario is trivial. A trivial scenario is defined as such:
- You have a single (currently) physical disk and you want to install to it
- Your primary network connection is wired, and it is DHCP-compatible
- You do not significantly care about what bootloader or filesystem you use
If all of these apply, you can simply run setup-alpine and follow the prompts to set up your system. If they do not, it may still be appropriate, but you will need to customize its behavior with an answer file and/or environment variables.
Answer Files
You can preprogram various answers to setup-alpine ‘s questions. setup-alpine -f ANSWER_FILE will use settings from the file ANSWER_FILE instead of asking questions interactively. setup-alpine -c ANSWER_FILE will create a new answer file with the following default values. You can edit this file and use it with setup-alpine -f .
# Example answer file for setup-alpine script # If you don't want to use a certain option, then comment it out # Use US layout with US variant KEYMAPOPTS="us us" # Set hostname to alpine-test HOSTNAMEOPTS="-n alpine-test" # Contents of /etc/network/interfaces INTERFACESOPTS="auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp hostname alpine-test " # Search domain of example.com, Google public nameserver DNSOPTS="-d example.com 8.8.8.8" # Set timezone to UTC TIMEZONEOPTS="-z UTC" # set http/ftp proxy PROXYOPTS="http://webproxy:8080" # Add a random mirror APKREPOSOPTS="-r" # Install Openssh SSHDOPTS="-c openssh" # Use openntpd NTPOPTS="-c openntpd" # Use /dev/sda as a data disk DISKOPTS="-m data /dev/sda" # Setup in /media/sdb1 LBUOPTS="/media/sdb1" APKCACHEOPTS="/media/sdb1/cache"
You can also add extra environment variables to configure the behavior of any given utility. For more details on those, see the next section of the user handbook, or the developer handbook on the technical details of those utilities.
Copyright © 2019 Alpine Linux Development Team. All rights reserved.
Changing passwords for ACF
This provides documentation for beginner Alpine Linux users on how to change passwords for the console login as well as the ACF. It is pretty simple.
Changing ACF password using command line
Setting ACF password is done in various ways depending on how old your system is.
Set ACF-password on Alpine Linux 1.9 and newer
Set the ACF-password for a specific user (where ‘username‘ could be a system user, such as ‘root‘):
You will be prompted to enter a new password for this user.
Tip: You can set the ACF password to reflect the system user’s password. In that case, the command looks like this:
(The ‘-s‘ flag tells the system to copy the system user’s password into ACF-password database.)
Set ACF-password on Alpine Linux 1.8 and older
The logins and passwords for the ACF users are stored in a separate location: ‘/etc/acf/passwd‘.
The syntax for the ‘/etc/acf/passwd‘ file is as follows:
username:md5sumpassword::ROLE
For example, change the ACF user ‘Alpine‘ as follows:
- Generate a md5sum hash of the password ‘testing123‘, and send it to the passwd file: echo -n «testing123» | md5sum >> /etc/acf/passwd
- Edit the passwd file to put the hash in the correct place as shown below, deleting the existing hash:
Alpine:92707c3c2766ce04133e0f85681add8b::ADMIN
To change passwords from the ACF Interface
Log on as a user with the Admin role, which has rights to change user passwords other than it’s own.
Browse to System >> User Management
Under the Existing Account section, click [Edit this account] under the user whose password you want to change.
Enter the new password in the ‘Password‘ and ‘Password (Confirm)‘ fields.
Click [Save] to save the changes.
Save changes
Remember to commit all changes (if you are running from ‘tmpfs’):