Linux — Леонид Уханов 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 Linux — Леонид Уханов 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
andLinux: нож в спину или нет? https://leonid.uhanov.org/andlinux-nozh-v-spinu-ili-net/ https://leonid.uhanov.org/andlinux-nozh-v-spinu-ili-net/#respond Sun, 26 May 2019 18:12:45 +0000 https://leonid.uhanov.org/?p=981 Читать дальше…]]> Всем привет! Сегодня мы поговорим об очень интересном дистрибутиве: andLinux. Его навленое можно развать ушедшим в историю, ведь от проекта вестей нет уже десять лет, хоть сайт ещё живой. Этот дистрибутив работает непосредственно в Windows. Поддерживаются только 32-х разрядные версии Windows. andLinux построен на основе Ubuntu 9, использует её репозиторий, но ядро используется от проекта coLinux.

В процессе установки andLinux устанавливается Xming, PulseAudio и непосредственно ядро. Я выбрал установку ядра как службу Windows. Он дает нам возможность запускать приложения Linux в окружении Windows, при этом виртуализацией это не является.

Установка andLinux

Рассмотрим процесс установки andLinux. Он не отличается от установки большинства WIndows приложений. Особенное внимание стоит уделить тому, как Linux приложения будут иметь доступ к данным на Windows системе. Я выбрал Samba, предварительно создав шару на домашний каталог пользователя.

И немного доработать напильником..

Так как Ubuntu 9 ушла в архив, стоит изменить пути для APT для возможности получения обновлений. Сделаем это в Synaptic. После этого мы модем получит обновления и устанавливать приложения.

Общие впечатления

После установки в трее появляется значек KDE, через который я могу запускать приложения из ОС Linux. Стоит особо отметить то, что файловые ассоциации можно назначить Linux приложениям. И из проводника будет открываться Kate вместо стандартного блокнота.

Немного огорчает проблема с отображением кириллических символов, но для Linux того времени эта проблема была повсеместной, но легко решаемой.

Запуск Kword в Windows.

Очень жаль, что проект застыл на ровном месте и не получил продолжения. В некотором роже Microsoft со своим Windows Subsystem for Linux продолжили начатое. Вот только с Xorg там много вопросов.

]]>
https://leonid.uhanov.org/andlinux-nozh-v-spinu-ili-net/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
Моё знакомство с Linux https://leonid.uhanov.org/mojo-znakomstvo-s-linux/ https://leonid.uhanov.org/mojo-znakomstvo-s-linux/#respond Sat, 18 May 2019 14:00:48 +0000 https://leonid.uhanov.org/?p=907 Читать дальше…]]> Моё использование Linux началось с появлением у меня ноутбука. Это был Toshiba L30-134. Да что был — он есть! Я уже дважды менял материнскую плату из-за экспериментов с процессором и иже с ним. Теперь ноутбук живет на даче, крутит семерку на SSD и имеет два гигабайта оперативной памяти.

На дворе был 2007 год. Предустановленная производителем Windows XP Home работала хорошо, но со временем надоела — руки хотели приключений и я вспомнил своё первое знакомство с Linux на Pentium 166 MMX: RedHat 9 загрузиться не смог и я подружился с Damm Small Linux. Этому компьютеру была посвящена серия заметок. Но на новом ноутбуке ресурсов было значительно больше и я полез в эти ваши интернеты в поисках чего-то посолидней DSL Linux. Так я познакомился с Debian. Роутера у меня тогда не было, а так как провайдер подключал абонентов с привязкой в MAC адресам и менять их я тогда не умел то пришлось качать все четыре диска — интернета на ноутбуке не предвиделось, во всяком случае пока. Если в процессе установки чего-либо требовался по зависимостям какой-нибудь пакет, не вошедший на диски, то приходилось скачивать его на компьютере и копировать на ноутбук. Иногда для установки игры требовалось совершить несколько ходок, особенно если требовались более новые версии GCC. Debian, как и другие дистрибутивы того времени был достаточно недружелюбен в то время — автомонтирование USB накопителей отсутствовало, поддержки NTFS не было и с кодировкой имен файлов или папок были определенные трудности. По понятной причине это не доставляло удовольствия и я купил роутер Asus WL500G Premium V2. Он так-же оказался весьма открыт для экспериментов и перепрошивки.

Тот самый диск

Debian Etch был очень стабильным дистрибутивом, но имел схожую для дистрибутивов того периода проблему. Заключалась она в отсутствии драйверов на специфическое оборудование и кодеков на мультимедиа файлы. Последнее побудило меня переконвертировать коллекцию домашней музыки в OGG, что кстати, дало существенную экономию по дисковому пространству. Но несмотря на все его преимущества, я встретил две лютые проблемы:

  • Модуль WI-FI (роутер я таки купил). Драйвера не было, а компилировать модули ядра у меня тогда получалось чуть хуже, чем никак. Я написал письмо на почту одного из разработчиков и в ответ он прислал мне готовый *.deb пакет с необходимым модулем.
  • Видеочип ATI Radeon Xpress 200M — драйвера долго и нудно приходилось компилировать и результат был всегда непредсказуем. Он действительно испортил мне жизнь. На него даже для Windows 7 драйвера трудной найти. Только Windows XP, но в Blood Rayne я на нем в своё время поиграл знатно.

Со временем я пробовал Ubuntu, openSUSE, Fedora и Slackware Linux. Последний задержался на ноутбуке достаточно долго — именно на нем мне удалось нормально скомпилировать Compiz и Beryl. Это было охуенно я вам скажу! В то время, как Microsoft демонстрировал свой Flip3D на Windows Vista, я мог показать однокурсникам гораздо более интересные эффекты.

Flip 3D на Windows Vista

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

Beryl
Compiz

Наигравшись в разные дистрибутивы, я понял, что у меня есть два любимых дистрибутива Linux: Debian и Arch.

Debian я люблю за то, что он работает. Всегда.

Именно он используется во всех моих серверных решениях. В нем я уверен как в себе и ни разу он меня не подвел. На данный момент у меня дома крутится ownCloud именно на Debian и некоторые проекты на работе. И не имеет для меня особого значения, что там пакеты немного устаревшие. Я его настроил и больше туда не лезу. А если лезу, то обновления установить. На нем-же у меня долгие годы работало два сервера Minecraft.

ArchLinux я люблю за то, что он — это идеально настраивается.

В настройке ArchLinux равных я не нашел. Начнем с того, что у него отсутствует инсталятор. Ты загружаешься с носителя и попадаешь в консоль. Что делать дальше решаешь сам. В помощь есть несколько скриптов и подробная Wiki. На снимке ниже вы видите экран ArchLinux после загрузки с установочного носителя.

Скромненько, правда? Но этого вполне достаточно, что-бы начать.

Далее я купил в Линуксцентре EEE-PC 701 с предустановленной Mandriva Linux 2008 Powerpack. Там был ключ продукта для Cedega, что позволяло играть в некоторые Windows игры. В ней мне нравилось всё, кроме медленного пакетного менеджера. Долгое время я её использовал, но потом разработка была прекращена и я перешел на Ubuntu Netbook Remix. Но и она была заброшена, а классическое оказалось слишком тяжеловесным. Так я перешел на ArchLinux с окружением LXDE, от туда я мигрировал на менеджер окон Awesome. Это позволило мне не меньше использовать touchpad. далее я ушел от использования классических приложений в пользу консольных — даже музыку слушал из консольного плеера MOC.

В следующих заметках я расскажу об ArchLinux, его установке и настройке.

]]>
https://leonid.uhanov.org/mojo-znakomstvo-s-linux/feed/ 0