Altlive

Материал из ALT Linux Wiki

Что это

Набор livedvd/liveflash со следующими вариантами загрузки:

  • минимальный консольный образ с systemd, networkd, sshd и основными сетевыми утилитами (включая tshark)
  • образ с openbox/tint2/midori и инструментами, входящими в консольный образ (в т.ч. networkd для управления сетевыми соединениями)
  • образ с mate/firefox и инструментами, входящими в консольный образ (однако уже с NetworkManager)

Все варианты собраны для архитектуры x86_64 в виде iso и img (для записи на usb flash).

Во всех вариантах в системе есть пользователь altlive в группе wheel с пустым паролем, у рута пароль тоже пустой, вход по ssh с паролем всем, кроме рута, разрешен.

Где взять и как использовать

Образы можно загрузить с http://altdev.enp.itx.ru/linux/alt/p10/images/:

  • файлы iso являются гибридными (т.е. их можно перенести на usb flash с помощью dd), но в первую очередь они предназначены для записи на dvd или использования в виртуальных средах
  • файлы img непосредственно предназначены для записи на usb flash

В обоих случаях процедура записи на usb flash выглядит примерно так:

dd oflag=direct if=altlive.img of=/dev/sdX bs=1M status=progress; sync

Как загрузиться с модифицированными настройками

Все изменения на live-носителе при перезагрузке будут потеряны. Чтобы этого избежать, можно настроить автоматическое выполнение определенных действий (изменение сетевой конфигурацию с dhcp на статику, добавление дополнительных репозиториев или даже установка дополнительных пакетов, а может просто изменение параметров ssh и добавление ключей) при каждой загрузке: создать соответствующие скрипты в каталог hooks в корне второго раздела usb-носителя. Также можно выполнить определенные действия при запуске openbox (например запустить браузер) - для этого скрипты нужно будет положить в каталог hooksopenbox.

Имена каталогов со скриптами для автозапуска можно изменить в /boot/grub/grub.cfg, за них отвечают (отсутствующие по дефолту) параметры hooks и hooksopenbox.

Как установить на жесткий диск

Для установки загруженной системы на жесткий диск его нужно сначала разметить самостоятельно с помощью [c|s]fdisk, а затем использовать следующие скрипты:

  • /image/install/system <partition> [<user>] - создает файловую систему на указанном разделе, переносит туда загруженную систему и опционально переименовывает пользователя altlive
  • /image/install/(mbr|efi) <partition> - устанавливает grub в MBR или на EFI-раздел

Разделы, инициализированные с помощью mkswap, будут обнаружены и добавлены в fstab установленной системы автоматически.

Немного о systemd и сетевых настройках

Во всех вариантах загрузки (включая минимальный консольный) в качестве системы инициализации используется systemd (см. также перевод официальной документации). Для протоколирования используется journald.

Для управления сетью используется networkd (исключение - вариант с mate, там networkd по умолчанию выключен, а вместо него включен NetworkManager). Конфигурация сети по умолчанию выглядит так:

# cat /etc/systemd/network/local.network
[Match]
Name=en*
[Network]
DHCP=ipv4
#DNS=8.8.8.8
#Domains=local
#Address=10.0.0.2/24
#Gateway=10.0.0.1

Т.е. для переключения с DHCP на статику нужно в секции Network закомментировать DHCP и раскомментировать остальные параметры, при этом не забыть изменить адреса и сказать systemctl restart systemd-networkd.

Использование VLAN 802.1Q будет выглядеть примерно так:

# cat /etc/systemd/network/trunk.network
[Match]
Name=enp4s0
[Network]
VLAN=enp4s0.10

# cat /etc/systemd/network/local.netdev 
[NetDev]
Name=enp4s0.10
Kind=vlan
[VLAN]
Id=10

# cat /etc/systemd/network/local.network 
[Match]
Name=enp4s0.10
[Network]
DHCP=ipv4

Как собрать самостоятельно

Образы altlive собираются с помощью Mkimage из профиля http://git.altlinux.org/people/enp/packages/mkimage-profile-altlive.git стандартным образом, например:

$ git clone http://git.altlinux.org/people/enp/packages/mkimage-profile-altlive.git
$ cd mkimage-profile-altlive
$ make

В результате сборки в каталоге .work/.out окажутся iso и img с архитектурой x86_64, с тремя вариантами загрузки (console, openbox и mate) и с локалью ru_RU.UTF-8 (только в openbox и mate, в console всегда будет en_EN.UTF-8).