ArchLinux — Леонид Уханов https://leonid.uhanov.org Записки ленивого сисадмина Mon, 01 Mar 2021 20:33:07 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.4.3 https://i0.wp.com/leonid.uhanov.org/wp-content/uploads/2019/03/cropped-photo-1.png?fit=32%2C32&ssl=1 ArchLinux — Леонид Уханов https://leonid.uhanov.org 32 32 ArchLinux: установка системы на subvolume BTRFS https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/ https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/#respond Mon, 01 Mar 2021 20:33:02 +0000 https://leonid.uhanov.org/?p=2901 Читать дальше…]]> Всем привет, на связи Уханов. Давно хотел написать заметку про BTRFS, но тема это огромная и когда-нибудь я её закончу. Сегодня же поговорим об установке ArchLinux на subvolume BTRFS. Почему я выбрал именно связку BTRFS + ArchLinux, а не Debian например? Ведь он мне так нравится, это Debian? Я ведь все проекты делаю именно на нём.

Ответ кроется в установщике — программе, которая даёт нам удобный набор инструментов для установки системы, но одновременно ограничивает наши возможности функционалом этих инструментов.

Файловая система BTRFS обладает огромным функционалом и рассказывать о ней можно очень долго. Меня на стадии установки системы интересуют два механизма: поддержка многодисковых конфигураций (multiple device support) и subvolumes. И вот именно на этом, начальном этапе Debian поставил меня в трудное положение: я могу отформатировать в BTRFS диски по-отдельности и никаких мне subvolume.

Потому я решил использовать ArchLinux — там нет инсталлятора и ничто не ограничит полёт фантазии. Приступим: у меня есть виртуальная машина с 4 дисками: их я использую для создания RAID10.

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

Установку начнём с определения сетевого адаптера и получения ip адреса. В первом поможет команда

ip link

В её выводе мы увидим имя адаптера. В нашем случае это enp0s3. Так и запишем в параметрах dhcpcd

dhcpcd enp0s3

Ура, адрес получили. Настроим время:

timedatectl set-ntp true 

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

До начала разбиения дисков, установка ничем не отличается от обычного сценария. А вот при настройке разделов возникают вопросы и было-бы неплохо понять некоторые моменты.

  • Форматирование диска в BTRFS без создания разделов. Такой сценарий вполне возможен: вы форматировать в BTRFS диск без создания на нём разделов. Монтировать его будете так-же: без указания номера раздела — просто диск. Используя так называемые partitionless диски вы рискуете столкнуться с проблемами установки на них загрузчика.
  • Раздел подкачки использовать необязательно — его можно заменить на файл подкачки. Это обеспечит вам некоторую свободу от отказа диска. В случае, если выйдет из строя диск с разделом подкачки, система завалится с отказом.
  • Постарайтесь не выделять /usr в отдельный раздел — проблем будет меньше.

Создание разделов

Для управления разделами я предпочитаю пользоваться программой cfdisk. Быстро и просто создаём по одному разделу на каждом из четырёх наших дисков

Создание файловой системы

У нас есть четыре раздела по одному на диск и пришло время их отформатировать. Нам предстоит создать файловую систему и настроить RAID10. Нам для этого пригодится всего одна команда:

Начнём с подготовки массива под систему: вводим в консоль команду, которая соберёт первые два диска массив уровня RAID1.

mkfs.btrfs -L Archlinux -d raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Команда возвращает нам результат своей работы. По скриншоту видно, что я использовал ключ -f, что не обязательно в работе. Просто мои диски были ранее уже форматированы в btrfs.

При этом видно, что метаданные в чередовании не участвуют: только зеркалирование.

Создание subvolume

Теперь смонтируем всю эту музыку.

mount /dev/sda1 /mnt

Монтировать BTRFS можно используя любой раздел — участник массива. В нашем случае /dev/sda1.

Перейдём в каталог /mnt

cd /mnt

Создадим subvolume для корня системы, домашнего каталога, каталога var и для снапшотов (об этом потом).

btrfs subvolume create root
btrfs subvolume create var
btrfs subvolume create home
btrfs subvolume create snapshots

Проверим результат командой:

btrfs subvolume list /mnt

Теперь выйдем из каталога mnt и отмонтируем наш массив командой:

cd ..
umount /mnt

Монтирование и подготовка к установке

Нам предстоит смонтировать subvolume, который мы запланировали как корневой каталог, создать на нём точки монтирования и смонтировать туда остальные subvolume. Монтировать будем с опцией сжатия файловой системы zstd.

mount -o noatime,compress=zstd,subvol=root /dev/sda1 /mnt

Корень есть, создадим точки монтирования одной командой:

mkdir /mnt/{var,home,snapshots}

Монтируем оставшиеся:

mount -o noatime,compress=zstd,subvol=var /dev/sdc1 /mnt/var
mount -o noatime,compress=zstd,subvol=home /dev/sdc1 /mnt/home
mount -o noatime,compress=lzo,subvol=snapshots /dev/sda1 /mnt/snapshots

Результат можно посмотреть и командой mount и при помощи df.

Установка

Далее в принципе установка проходит штатно и можно ориентироваться на мою прошлую заметку.

После выполнения pacstrap мы получим предупреждения от mkinitcpio.

Не будем игнорировать предупреждения и установим необходимое командой:

pacman -S btrfs-progs

И добавим hook btrfs в mkinitcpio.conf:

nano /etc/mkinitcpio.conf

Последнее отличие будет в установке загрузчика. Нам потребуется установить загрузчик командой:

pacman -S grub-btrfs

Она потянет за собой и обычный Grub. Загрузчик устанавливаем по очереди на каждый диск — участник массива. Это позволит загрузить систему в случае выхода из строя любого из них.

Вместо заключения

Мы установили Archlinux на многодисковую конфигурацию BTRFS с использованием subvolume и уровнем отказоустойчивости RAID10. Главное отличие subvolume от разделов в том, что у них общее пространство и не будет ситуации с нехваткой места на каком-то разделе.

В следующий раз подробнее поговорим о функционале BTRFS и о том, что с ней можно делать.

]]>
https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/feed/ 0
Установка и настройка ArchLinux https://leonid.uhanov.org/ustanovka-i-nastrojka-archlinux/ https://leonid.uhanov.org/ustanovka-i-nastrojka-archlinux/#respond Mon, 20 May 2019 20:45:28 +0000 https://leonid.uhanov.org/?p=956 Читать дальше…]]> Введение

Arch — это древнее английское слово, означающее «Я не осилил Gentoo».

Здравствуйте дорогие читатели! Я заранее хочу всех предупредить, что ArchLinux не является простым дистрибутивом. Да, он очень хорошо настраивается и может стать абсолютно всем, чем захотите. Но в тоже время, в неумелых руках он легко может превратиться в нерабочий кусок говна. Следует понимать несколько ключевых особенностей ArchLinux:

  • В нем нет инсталлятора. Сложно сказать хорошо это или плохо. С одной стороны, устанавливая операционную систему на компьютер в ручном режиме ты многое начинаешь осознавать. С другой стороны, как только ты попадаешь с нестандартную ситуацию, к которой не привык, понимаешь всю глубину наших глубин. Пример: установка на GPT с UEFI. Если не знать, как оно работает, можно хлебнуть проблем при установке загрузчика. Важным моментом является то, что в процессе установки можно что-то пропустить. Например локализацию, загрузчик, конфигурацию fstab или не создать пользователей. Обидно, но всегда можно загрузиться с дистрибутива, chrootнуться в систему и доделать забытое. Я неоднократно забывал загрузчик.
  • Менеджер пакетов Pacman и его друг AUR. Научитесь и разберитесь в пользовании ими. Главный момент: так как архитектура обновлений Rolling Release, то не спешите чистить кэш пакетов Pacmanа — возможно потребуется откатиться.
  • Всё можно сделать руками. Это хорошо звучит, но правильнее звучит так: почти всё придется сделать самому. И половину из этого руками — просто нет инструментов конфигурирования (см. инсталлятор).

Давайте определим приемы форматирования:

Так будут обозначаться команды, вводимые в консоли

Так будет обозначаться содержимое конфигурационных файлов

Если вы хотите попробовать дистрибутив без установки, то предлагаю скачать шаблон для VirtualBox. Пароль пользователя root: root, пароль позльзователя user: user.

Установка

Мы скачали дистрибутив и создали загрузочный диск. Загружаемся с него и видим консоль.

Это всё, что у нас есть. Нам предстоит:

  • Подключиться к Сети
  • Настроить время
  • Разметить диск
  • Смонтировать разделы
  • Установить базовый комплект пакетов
  • Создать fstab
  • Chrootнуться в систему
  • Настроить время
  • Настроить локализацию
  • Сделать базовые настройки сети
  • Создать Initramfs
  • Задать пароль root
  • Установить GRUB

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

Подключение к Сети

Выполним команду:

ip link

После выполнения команды, смотрим имя устройства. Искомое Я выделил красным. Если устройство не определилось, вам сюда.

Получаем настройки протокола IP:

dhcpcd enp0s3

Проверим результат:

Настройка времени

timedatectl set-ntp true 

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

Я предпочитаю использовать cfdisk. Он позволяет быстро и просто разметить диск.

Созданные разделы требуется отформатировать. Так-же включим swap. Если Вы устанавливаете на UEFI, то не забудьте раздел 250Мб, отформатируйте его в FAT32.

mkfs.reiserfs /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2

Монтирование файловых системы

mount /dev/sda1 /mnt

Отсутствие ответа от команды говорит об успешной операции. Если Вы устанавливаете на UEFI, то не забудьте наш созданный раздел FAT32 смонтировать в /mnt/efi. Подробно тут.

Проверить что у куда смонтировали удобно командой:

df -T -h

Установка базовых пакетов

pacstrap /mnt base linux linux-firmware

Создание fstab

genfstab -U /mnt >> /mnt/etc/fstab

В ответ команда должна задуматься и промолчать. Просмотрим полученный файл (ранее его не было):

cat /mnt/etc/fstab

Chroot в новую систему

arch-chroot /mnt

В ответ как обычно должна быть тишина

Настройка времени

В ответ как обычно тишина. Просмотреть все временные зоны можно командой:

timedatectl list-timezones

Выбираем нужную и продолжаем.

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc 

Локализация

Нам надо раскомментировать нужную кодировку в файле /etc/locale.gen. Нам нужна кодировка ru_RU.UTF-8

Текстовый редактор пока не установлен, установлен его командой

pacman -Syu nano 

и продолжаем:

nano  /etc/locale.gen 

Сохраняем файл и запускаем команду:

locale-gen

Создадим файл:

nano /etc/locale.conf

Со следующим содержимым:

LANG=ru_RU.UTF-8

Установим шрифт, поддерживающий русский язык:

pacman -S terminus-font

Настроим клавиатуру, создав файл:

nano /etc/vconsole.conf

Со следующим содержимым:

LOCALE=ru_RU.UTF-8
KEYMAP=ru
FONT=ter-u16b
CONSOLEMAP=
TIMEZONE=Europe/Moscow
HARDWARECLOCK=UTC
USECOLOR=yes

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

Зададим имя компьютера:

nano /etc/hostname

Отредактируем файл hosts как на снимке ниже

 nano /etc/hosts 

Есть масса вариантов настроить сеть, но я предпочитаю Networkd. Создадим файл настроек:

nano /etc/systemd/network/20-wired.network

[Match]
Name=enp0s3
[Network]
DHCP=ipv4

Командуем:

systemctl enable systemd-networkd
Pacman -Syu dhcpcd
systemctl enable dhcpcd.service

Создание Initramfs

mkinitcpio -p linux

Задание пароля root

passwd

Установка GRUB

Владельцам компьютеров на UEFI лучше почитать тут. У нас всё проще, поэтому командуем:

pacman -S grub
grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg 

Перезапуск

exit
reboot

После перезагрузки создадим обычного пользователя:

useradd -m user
passwd user

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

]]>
https://leonid.uhanov.org/ustanovka-i-nastrojka-archlinux/feed/ 0
The Chakra Project: ArchLinux для самых маленьких https://leonid.uhanov.org/chakra-linux-arch-dlja-samyh-malenkih/ https://leonid.uhanov.org/chakra-linux-arch-dlja-samyh-malenkih/#respond Sun, 19 May 2019 19:56:57 +0000 https://leonid.uhanov.org/?p=924 Читать дальше…]]> Немного истории

Ранее я уже упоминал ArchLinux и обещал о нем рассказать подробнее, но об этом в другой раз. Сегодня поговорим о The Chakra Project. Его история начинается в 2006 году, когда сообщество создало KDEmod — проект, призванный упростить установку KDE на ArchLinux. В 2008 году началась разработка, а в 2010 появился первый самостоятельный релиз The Chakra Project: предварительно сконфигурированного ArchLinux с интегрированным KDE. Это был конец KDEmod и становление нового дистрибутива.

Личный опыт

Я использовал на EEE-PC 701. Если кто не знает, то его конфигурация следующая:

  • Процессор: Intel Celeron M ULV 353. Частота: 630MHz, разгоняется до 900MHz
  • Оперативная память: 512Mb
  • Накопитель: SSD 4Gb

The Chakra Project позволил мне мне испытать все прелести KDE4 на нетбуке. Причем в этом дистрибутиве KDE4 работал быстрее, чем в Debian, Ubuntu, Slackware или ArchLinux. Он определенно был дополнительно оптимизирован и подобных результатов мне не удалось добиться. Работали даже некоторые трехмерные эффекторы оконного менеджера. Современный The Chakra Project построен на базе KDE5 и вряд-ли запустится на нетбуке 2007 года.

Установка

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

На следующем слайдшоу рассмотрен процесс установки The Chakra Project. Лично мне процесс установки напомнил установку Ubuntu. Разница лишь с том, что Ubuntu первым делом выясняет разметку диска и начинает распаковываться пока пользователь отвечает на вопросы локализации и заполняет профиль пользователя. Стоит отметить, что редактор разделов поддерживает следующие файловые системы:

ext2; ext3; ext4; fat16; fat32; ntfs; reiser; xfs; jfs; btrfs; lvm2; f2fs

Это несколько меньше, чем поддерживает ArchLinux, но для большинства случаев более, чем достаточно. Стоит отметить, что поддерживается шифрование LUKS. Лично я отдаю предпочтение файловой системе JFS за её быстродействие и надежность.

Обзор

Я с уверенностью могу сказать, что The Chakra Project является хорошим выбором для пользователей, которым хочется большего, но они не готовы к установке ArchLinux. Напомню, инсталлятора там нет. Стоит отметить потрясающее быстродействие даже на слабом оборудовании. На снимке ниже видно потребление ресурсов системой в простое.

Предустановленный набор софта позволит работать с офисными документами, архивами, мультимедиа файлами и CD/DVD. В случае, если требуется больше, менеджер пакетов Octopi придет на помощь. Невозможно рассказать все преимущества, лучше попробуйте лично. Небольшое слайдшоу показывает некоторые элементы интерфейса.

В следующий раз будет заметка об ArchLinux в чистом виде.

]]>
https://leonid.uhanov.org/chakra-linux-arch-dlja-samyh-malenkih/feed/ 0