Altlive

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 3: Строка 3:
Набор livedvd/liveflash со следующими вариантами загрузки:
Набор livedvd/liveflash со следующими вариантами загрузки:
-
* минимальный консольный образ с systemd, systemd-networkd, sshd и основными сетевыми утилитами (включая tshark)
+
* минимальный консольный образ с systemd, networkd, sshd и основными сетевыми утилитами (включая tshark)
-
* образ с openbox/tint2 и инструментами, входящими в консольный образ (в т.ч. systemd-networkd для управления сетевыми соединениями)
+
* образ с openbox/tint2 и инструментами, входящими в консольный образ (в т.ч. networkd для управления сетевыми соединениями)
* образ с xfce, firefox, libreoffice, gimp, vlc и инструментами, входящими в консольный образ (однако уже с NetworkManager)
* образ с xfce, firefox, libreoffice, gimp, vlc и инструментами, входящими в консольный образ (однако уже с NetworkManager)
Строка 13: Строка 13:
=== Где взять и как использовать ===
=== Где взять и как использовать ===
-
Образы можно загрузить с http://enp.itx.ru/linux/alt/p8/images/. Файлы iso предназначены для записи на dvd или использования в виртуальных средах, гибридными они не являются (т.е. перенести их на usb flash с помощью dd невозможно, однако можно сделать образы гибридными самостоятельно с помощью ...). Файлы tar предназначены для записи на usb flash, процедура записи выглядит примерно так:
+
Образы можно загрузить с http://enp.itx.ru/linux/alt/p8/images/. Файлы iso предназначены для записи на dvd или использования в виртуальных средах, гибридными они не являются (т.е. перенести их на usb flash с помощью dd невозможно, однако можно сделать образы гибридными самостоятельно с помощью isohybrid). Файлы tar предназначены для записи на usb flash, процедура записи выглядит примерно так:
-
<source lang="bash">
+
<pre>
-
blkid                        # узнаем имя целевого носителя
+
# blkid                        # узнаем имя целевого носителя
-
...                          
+
...
-
cfdisk /dev/...             # создаем на нем загрузочный раздел
+
/dev/sdb1: LABEL="altlive" UUID="E034-195F" TYPE="vfat"                       
-
tar -xf altlive-x86_64.tar  # распаковываем архив
+
# cfdisk /dev/sdb             # создаем на нем загрузочный раздел /dev/sdb1
-
cd altlive-x86_64            # переходим в него
+
# tar -xf altlive-x86_64.tar  # распаковываем архив
-
./install.sh /dev/...        # переносим altlive на носитель (создаем файловую систему, копируем файлы и устанавливаем загрузчик)
+
# cd altlive-x86_64            # переходим в него
-
</source>
+
# ./install.sh /dev/sdb1      # переносим altlive на носитель (создаем файловую систему, копируем файлы и устанавливаем загрузчик)
 +
</pre>
=== Как загрузиться с модифицированными настройками ===
=== Как загрузиться с модифицированными настройками ===
-
Все изменения на live-носителе при перезагрузке будут потеряны. Чтобы этого избежать, можно настроить автоматическое выполнение определенных действий (изменение сетевой конфигурацию с dhcp на статику, добавление дополнительных репозиториев или даже установка дополнительных пакетов, а может просто изменение параметров ssh и добавление ключей) при каждой загрузке: создать соответствующие скрипты в каталог hooks в корне usb-носителя. Также можно выполнить определенные действия при запуске openbox (например запустить браузер) - для этого скрипты нужно будет положить в каталог openboxhooks.
+
Все изменения на live-носителе при перезагрузке будут потеряны. Чтобы этого избежать, можно настроить автоматическое выполнение определенных действий (изменение сетевой конфигурацию с dhcp на статику, добавление дополнительных репозиториев или даже установка дополнительных пакетов, а может просто изменение параметров ssh и добавление ключей) при каждой загрузке: создать соответствующие скрипты в каталог hooks в корне usb-носителя. Также можно выполнить определенные действия при запуске openbox (например запустить браузер) - для этого скрипты нужно будет положить в каталог hooksopenbox.
-
Имена каталогов со скриптами для автозапуска можно изменить в syslinux.cfg, за них отвечают (отсутствующие по дефолту) параметры ...
+
Имена каталогов со скриптами для автозапуска можно изменить в syslinux.cfg, за них отвечают (отсутствующие по дефолту) параметры hooks и hooksopenbox.
=== Как установить на жесткий диск ===
=== Как установить на жесткий диск ===
Строка 34: Строка 35:
Для установки загруженной системы на жесткий диск можно использовать скрипт live-install, принимающий следующие параметры:
Для установки загруженной системы на жесткий диск можно использовать скрипт live-install, принимающий следующие параметры:
-
<source lang="bash">
+
<pre>
-
live-install help  
+
# live-install help
-
...                            
+
ERROR : Run live-install [$ROOT_LABEL] [$LOADER] [$NEW_USER] to copy running system to fixed disk                            
-
</source>
+
</pre>
Чуть подробнее о параметрах по порядку:
Чуть подробнее о параметрах по порядку:
-
# Метка раздела, на который предполагается переносить корень системы (по умолчанию system). На разделе должна быть заранее создана файловая система (ext4 или btrfs).
+
* ROOT_LABEL - метка раздела, на который предполагается переносить корень системы (по умолчанию system). На разделе должна быть заранее создана файловая система (ext4 или btrfs)
-
# Загрузчик (по умолчанию осуществляется автоподбор: syslinux для ext4 и grub для btrfs). Для syslinux необходимо, чтобы раздел с корнем был загрузочным.
+
* LOADER - загрузчик (по умолчанию осуществляется автоподбор: syslinux для ext4 и grub для btrfs). Для syslinux необходимо, чтобы раздел с корнем был загрузочным
-
# Имя пользователя (в него будет переименован пользователь altlive, по умолчанию переименования не произойдет).
+
* NEW_USER - имя пользователя (в него будет переименован пользователь altlive, по умолчанию переименования не произойдет)
Разделы, инициализированные с помощью mkswap, будут обнаружены и добавлены в fstab установленной системы автоматически.
Разделы, инициализированные с помощью mkswap, будут обнаружены и добавлены в fstab установленной системы автоматически.
Строка 49: Строка 50:
Возможна установка на softraid, который нужно предварительно создать, например:
Возможна установка на softraid, который нужно предварительно создать, например:
-
<source lang="bash">
+
<pre>
-
mdadm /dev/md0
+
# cfdisk /dev/sda                                                                        # размечаем первый диск и помечаем раздел для корня как загрузочный
-
mkfs.ext4 -l system /dev/md0 ...
+
# sfdisk -d /dev/sda | sfdisk /dev/sdb                                                  # переносим разметку на второй диск
-
live-install
+
# mdadm --create /dev/md0 --level=1 --metadata=0.9 --raid-devices=2 /dev/sda2 /dev/sdb2  # создаем raid1 с использованием старого формата метаданных для поддержки syslinux
-
</source>
+
# mkfs.ext4 -L system /dev/md0                                                           # создаем файловую систему ext4
 +
# live-install                                                                           # устанавливаем altlive
 +
</pre>
или:
или:
-
<source lang="bash">
+
<pre>
-
mkfs.btrfs -l system ...
+
# cfdisk /dev/sda                                                                        # размечаем первый диск
-
live-install
+
# sfdisk -d /dev/sda | sfdisk /dev/sdb                                                  # переносим разметку на второй диск
-
</source>
+
# mkfs.btrfs -L system -m raid1 -d raid1 /dev/sda2 /dev/sdb2                            # создаем файловую систему btrfs с зеркалированием данных и метаданных
 +
# live-install                                                                           # устанавливаем altlive
 +
</pre>
-
Поддержки UEFI пока нет, однако при необходимости систему можно установить на UEFI-only железо вручную: разметить диск в формате GPT, создать отдельные разделы для загрузчика и для корня, в корень установиться с помощью live-install, в загрузочный раздел вручную скопировать любой UEFI-совместимый загрузчик и настроить его самостоятельно.
+
Поддержки UEFI пока нет, однако систему можно установить на UEFI-only железо вручную: создать отдельные GPT-разделы для загрузчика и для корня, в корень установиться с помощью live-install, в загрузочный раздел вручную скопировать любой UEFI-совместимый загрузчик и настроить его самостоятельно.
=== Немного о systemd, сетевых настройках и контейнерах ===
=== Немного о systemd, сетевых настройках и контейнерах ===
-
Во всех вариантах загрузки (включая минимальный консольный) в качестве системы инициализации используется systemd (краткая инструкция по командам). Для протоколирования используется journald, постоянное хранение журналов на диске по умолчанию в нем выключено (Storage=volatile в /etc/systemd/journald.conf).
+
Во всех вариантах загрузки (включая минимальный консольный) в качестве системы инициализации используется [https://www.freedesktop.org/wiki/Software/systemd/ systemd] (см. также [http://www2.kangran.su/~nnz/pub/s4a/s4a_latest.pdf перевод официальной документации]). Для протоколирования используется [https://www.freedesktop.org/software/systemd/man/systemd-journald.html journald], постоянное хранение журналов на диске по умолчанию в нем выключено (Storage=volatile в /etc/systemd/journald.conf).
-
Для управления сетью используется systemd-networkd (исключение - вариант с xfce, там systemd-networkd по умолчанию выключен, а вместо него включен NetworkManager). Конфигурация сети по умолчанию выглядит так:
+
Для управления сетью используется [https://www.freedesktop.org/software/systemd/man/systemd-networkd.html networkd] (исключение - вариант с xfce, там networkd по умолчанию выключен, а вместо него включен NetworkManager). Конфигурация сети по умолчанию выглядит так:
-
<source lang="bash">
+
<pre>
-
cat /etc/systemd/network/local.network
+
# cat /etc/systemd/network/local.network
[Match]
[Match]
Name=en*
Name=en*
Строка 80: Строка 85:
#Address=10.0.0.2/24
#Address=10.0.0.2/24
#Gateway=10.0.0.1
#Gateway=10.0.0.1
-
</source>
+
</pre>
-
Т.е. для переключения с DHCP на статику нужно в секции Network закомментировать DHCP и раскомментировать остальные параметры, при этом не забыть изменить адреса и сказать systemctl restart systemd-networkd. Использование VLAN (dot1q) будет выглядеть примерно так:
+
Т.е. для переключения с DHCP на статику нужно в секции Network закомментировать DHCP и раскомментировать остальные параметры, при этом не забыть изменить адреса и сказать systemctl restart systemd-networkd.  
-
<source lang="bash">
+
Использование VLAN 802.1Q будет выглядеть примерно так:
-
cat /etc/systemd/network/trunk.network
+
 
-
...
+
<pre>
-
</source>
+
# 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
 +
</pre>
В systemd есть поддержка легковесных контейнеров, которая использует те же ядерные механизмы, что и проекты lxc и docker (и возникшие благодаря проекту OpenVZ). Создание, запуск, остановка и уничтожение контейнера выглядит так:
В systemd есть поддержка легковесных контейнеров, которая использует те же ядерные механизмы, что и проекты lxc и docker (и возникшие благодаря проекту OpenVZ). Создание, запуск, остановка и уничтожение контейнера выглядит так:
-
<source lang="bash">
+
<pre>
machinectl import ...
machinectl import ...
machinectl start
machinectl start
Строка 98: Строка 121:
machinectl poweroff
machinectl poweroff
machinectl remove
machinectl remove
-
</source>
+
</pre>
Утилита machinectl создает контейнеры на btrfs
Утилита machinectl создает контейнеры на btrfs

Версия 07:20, 4 мая 2016

Содержание

Что это

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

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

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

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

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

Образы можно загрузить с http://enp.itx.ru/linux/alt/p8/images/. Файлы iso предназначены для записи на dvd или использования в виртуальных средах, гибридными они не являются (т.е. перенести их на usb flash с помощью dd невозможно, однако можно сделать образы гибридными самостоятельно с помощью isohybrid). Файлы tar предназначены для записи на usb flash, процедура записи выглядит примерно так:

# blkid                        # узнаем имя целевого носителя
...
/dev/sdb1: LABEL="altlive" UUID="E034-195F" TYPE="vfat"                         
# cfdisk /dev/sdb              # создаем на нем загрузочный раздел /dev/sdb1
# tar -xf altlive-x86_64.tar   # распаковываем архив
# cd altlive-x86_64            # переходим в него
# ./install.sh /dev/sdb1       # переносим altlive на носитель (создаем файловую систему, копируем файлы и устанавливаем загрузчик)

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

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

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

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

Для установки загруженной системы на жесткий диск можно использовать скрипт live-install, принимающий следующие параметры:

# live-install help
ERROR : Run live-install [$ROOT_LABEL] [$LOADER] [$NEW_USER] to copy running system to fixed disk                            

Чуть подробнее о параметрах по порядку:

  • ROOT_LABEL - метка раздела, на который предполагается переносить корень системы (по умолчанию system). На разделе должна быть заранее создана файловая система (ext4 или btrfs)
  • LOADER - загрузчик (по умолчанию осуществляется автоподбор: syslinux для ext4 и grub для btrfs). Для syslinux необходимо, чтобы раздел с корнем был загрузочным
  • NEW_USER - имя пользователя (в него будет переименован пользователь altlive, по умолчанию переименования не произойдет)

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

Возможна установка на softraid, который нужно предварительно создать, например:

# cfdisk /dev/sda                                                                        # размечаем первый диск и помечаем раздел для корня как загрузочный
# sfdisk -d /dev/sda | sfdisk /dev/sdb                                                   # переносим разметку на второй диск
# mdadm --create /dev/md0 --level=1 --metadata=0.9 --raid-devices=2 /dev/sda2 /dev/sdb2  # создаем raid1 с использованием старого формата метаданных для поддержки syslinux
# mkfs.ext4 -L system /dev/md0                                                           # создаем файловую систему ext4
# live-install                                                                           # устанавливаем altlive

или:

# cfdisk /dev/sda                                                                        # размечаем первый диск
# sfdisk -d /dev/sda | sfdisk /dev/sdb                                                   # переносим разметку на второй диск
# mkfs.btrfs -L system -m raid1 -d raid1 /dev/sda2 /dev/sdb2                             # создаем файловую систему btrfs с зеркалированием данных и метаданных
# live-install                                                                           # устанавливаем altlive

Поддержки UEFI пока нет, однако систему можно установить на UEFI-only железо вручную: создать отдельные GPT-разделы для загрузчика и для корня, в корень установиться с помощью live-install, в загрузочный раздел вручную скопировать любой UEFI-совместимый загрузчик и настроить его самостоятельно.

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

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

Для управления сетью используется networkd (исключение - вариант с xfce, там 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

В systemd есть поддержка легковесных контейнеров, которая использует те же ядерные механизмы, что и проекты lxc и docker (и возникшие благодаря проекту OpenVZ). Создание, запуск, остановка и уничтожение контейнера выглядит так:

machinectl import ...
machinectl start
machinectl status
machinectl login
machinectl poweroff
machinectl remove

Утилита machinectl создает контейнеры на btrfs

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

 
Личные инструменты