Установка и первоначальная настройка ArchLinux

Установка, сборка и первоначальная настройка Arch Linux в качестве десктопа

Вот и добрался я наконец-то до Arch Linux. Система для меня нова, но не думаю, что будет чем-то сильно отличаться от себе подобных. Поскольку нельзя просто так взять и поставить Arch с первого раза, то я подготовил рабочий мануал непосредственно под себя. Сразу хочу предупредить, что любителям EFI придется несладко. Манипуляции с GRUB на EFI вызывали во мне приступы истерического смеха. На сервер с обычным BIOS все установилось с первого раза.

Подготовка образа

Загрузим образ дистрибутива c официального сайта разработчика и запишем его на флешку:

sudo dd if=archlinux-2016.01.01-dual.iso of=/dev/disk1

После записи образа необходимо загрузиться с USB-накопителя (настройки в BIOS или EFI).

Установка Arch

В меню загрузки выбираем архитектуру и ждём пока система загрузится.

image

Локализация

После загрузки настроим русский язык для удобства работы.
Выполняется это следующей командой:

loadkeys ru

А также изменим консольный шрифт на тот, который поддерживает кириллицу:

setfont cyr-sun16

Добавим русскую локаль в систему установки:

В файле /etc/locale.gen раскоментируем строку #ru_RU.UTF-8 UTF-8

nano /etc/locale.gen

Обновим текущую локаль системы:

locale-gen
export LANG=ru_RU.UTF-8

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

При установке системы наличие подключения к интернету обязательно.
Служба DHCP уже запущена при загрузке для найденных Ethernet-адаптеров. Для беспроводных сетевых адаптеров запустите wifi-menu. Если необходимо настроить статический IP или использовать другие средства настройки сети, остановите службу DHCP командой systemctl stop dhcpcd.service и используйте netctl.

Создание разделов на жестком диске

Для управления разделами на жестком диске в процессе установки рекомендую использовать программу fdisk. Также настоятельно рекомендую удалить MBR или GPT таблицы командой sgdisk --zap-all /dev/sdX

Создаем разделы на диске:

  • (1) 512Mb под /boot; (dev/sdX1)
  • (2) SWAP под файл подкачки; (dev/sdX2)
  • (3) FREE_SPACE под корень; (dev/sdX3)

Создаем пустую таблицу разделов

Command (m for help): o ↵

Создаем 1 раздел (boot)

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (1-3, default 1): ↵
First sector: ↵
Last sector: +512M ↵

Создаем 2 раздел (swap)

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2-3, default 2): ↵
First sector: ↵
Last sector: +16G ↵
Command (m for help): t ↵
Partition number (1,2, default 2): ↵
Hex code (type L to list all codes): 82 ↵

Создаем основной раздел

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2,3, default 3): ↵
First sector: ↵
Last sector: ↵

Добавляем флаг загрузки для первого раздела:

Command (m for help): a ↵
Partition number (3,4, default 1): 1 ↵

Проверяем таблицу разделов ключиком p, и записываем w.

Форматирование разделов

Форматируем /boot раздел в FAT32:
Также мы будем использовать метки для удобства.

mkfs.vfat -F32 /dev/sdX1

Для раздела подкачки (swap):

mkswap /dev/sdX2 -L swap

Форматируем корень в ext4:

mkfs.ext4 /dev/sdX3 -L root

Если решили использовать LVM - этот подраздел для вас, для прочих читаем дальше

  • (1) 512Mb под /boot; (dev/sdX1)
  • (2) FREE_SPACE под корень; (dev/sdX2)

Форматируем /boot раздел в FAT32:

mkfs.vfat -F32 /dev/sdX1

Для корневого раздела используем зашифрованный LVM:

cryptsetup -c aes-xts-plain64 -y --use-random luksFormat /dev/sdX2
cryptsetup luksOpen /dev/sdX2 luks

Создаем разделы:

pvcreate /dev/mapper/luks
vgcreate vg0 /dev/mapper/luks
lvcreate --size 16G vg0 --name swap
lvcreate -l +100%FREE vg0 --name root

Задаем формат для созданных разделов:

mkfs.ext4 /dev/mapper/vg0-root
mkswap /dev/mapper/vg0-swap

Монтируем разделы:

mount /dev/mapper/vg0-root /mnt
swapon /dev/mapper/vg0-swap
mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot

Монтирование разделов (продолжение)

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

mount /dev/sda3 /mnt

Создадим каталог для монтирования boot раздела:

mkdir /mnt/boot

Смонтируем загрузочный раздел:

mount /dev/sda1 /mnt/boot

Подключим swap

swapon /dev/sda2

Выбираем зеркало для pacman

Для более быстрой загрузки пакетов настроим зеркала. Поставим российское зеркало Яндекса выше всех остальных:

nano /etc/pacman.d/mirrorlist

И впишем эту строку вверх:

Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch

Установка пакетов

Установим базовые пакеты системы.
Дополнительно сюда можем включить необходимые пакеты для установки.

pacstrap -i /mnt base base-devel grub zsh vim git

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

Важно: если ведется установка по Wi-Fi, то необходимо установить пакеты netctl, dialog и wpa_supplicant:

pacstrap -i /mnt netctl dialog wpa_supplicant

Установка пакета GRUB в систему

arch-chroot /mnt pacman -S grub

Если используется EFI, то установим efibootmgr:

arch-chroot /mnt pacman -S efibootmgr grub-efi-x86_64

Если устанавливаем 32-х битную систему, то используем пакет grub-efi-i386.

Первичная настройка системы

Сгенерируем fstab, для этого используем следующую команду

genfstab -p /mnt >> /mnt/etc/fstab

И добавим в файл запись для временного файлового хранилища tmpfs (Предназначена для монтирования файловой системы, но размещается в ОЗУ вместо физического диска. Подобная конструкция является RAM диском.):

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Перейдём в установленную систему

arch-chroot /mnt /bin/bash

Добавим русскую локаль в систему

В файле /etc/locale.gen раскомментируем строку #en_US.UTF-8 UTF-8 и строку #ru_RU.UTF-8 UTF-8

nano /etc/locale.gen

Обновим текущую локаль системы

locale-gen

Настроим часы

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

Зададим хостнейм

echo MYHOSTNAME > /etc/hostname

Изменим пароль root

passwd

Добавим нового пользователя

useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash MYUSERNAME
passwd MYUSERNAME

Если планируется использовать zsh, то заменим /bin/bash на /bin/zsh
Если терзают сомнения на этот счет, то почитать подробнее можно на хабре.

Добавим русскую локаль в консоль

В /etc/mkinitcpio.conf, в разделе HOOKS, должен быть прописан хук keymap.
В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia.

Если производили установку LVM с шифрованием, то также добавим ext4 в MODULES и encrypt и lvm2 в HOOKS до filesystems.

Создадим загрузочный RAM диск

mkinitcpio -p linux

Установим загрузчик (для BIOS)

grub-install /dev/sda

Если действовали по мануаула с LVM и шифрованием, то необходимо отредактировать строчку GRUB_CMDLINE_LINUX в файле /etc/default/grub:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX2:luks:allow-discards"
grub-mkconfig -o /boot/grub/grub.cfg

Установим загрузчик (для EFI)

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

Обновим grub.cfg

grub-mkconfig -o /boot/grub/grub.cfg

Внимание: если при создании grub.cfg были ошибки, то попробуйте добавить GRUB_DISABLE_SUBMENU=y в /etc/default/grub.

В случае если посыпятся ошибки вида “failed to connect to lvmetad arch”, можно сильно не пугаться, работать все будет, но для достижения полного дзена я попробую найти решение позже.

Выйдем из установленной системы:

exit

Отмонтируем ранее монтируемые разделы:

umount -R /mnt

И перезагрузим систему.

reboot

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

Входим в систему под root-пользователем и выполняем необходимые действия по настройке, если они не были выполнены ранее.

Изменим хостнейм

hostnamectl set-hostname myhostname

Установим время

timedatectl set-timezone Europe/Moscow

Выполняем локализацию системы

localectl set-keymap ru
setfont cyr-sun16
localectl set-locale LANG="ru_RU.UTF-8"
export LANG=ru_RU.UTF-8

Добавим строку FONT=cyr-sun16 в /etc/vconsole.conf.

Обновим загрузочный RAM диск

mkinitcpio -p linux

Обновим grub.cfg (для локализации):

grub-mkconfig -o /boot/grub/grub.cfg

Настроим pacman (только для x86_64):

nano /etc/pacman.conf

Для работы 32-битных приложений в 64-битной системе необходимо раскомментировать репозиторий multilib:

[multilib]
Include = /etc/pacman.d/mirrorlist

Отключаем IPv6

Для этого создадим новый файл /etc/sysctl.d/10-ipv6.conf с содержимым:

net.ipv6.conf.all.disable_ipv6 = 1

Добавим пользователя (если это не было выполнено ранее) и сразу поместим его в необходимые нам группы:

useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash myusername

Установим ему пароль

passwd myusername

Изменим ему информацию GECOS

chfn myusername

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

Для проводной сети

Добавим службу в автозапуск:

systemctl enable dhcpcd

Запустим службу:

systemctl start dhcpcd

Для беспроводной сети

wifi-menu

Обновим базы данных пакетов:

pacman -Syy

Обновим все пакеты:

pacman -Su

Поставим и настроим sudo

pacman -S sudo

В файле /etc/sudoers раскомментируем строку # %wheel ALL=(ALL) ALL
Теперь мы можем использовать sudo для выполнения команд администратора.
Теперь выйдем из root пользователя с помощью команды exit и авторизуемся под пользователем, которого создали.

Установка графического окружение

Установим Х (иксы)

sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xterm

(если используется тачпад или тачскрин, то установим xf86-input-synaptics)

Установим драйвер для видеокарты:

Пакеты lib32-* нужно устанавливать только на x86_64 системы.

Intel:

sudo pacman -S xf86-video-intel lib32-intel-dri

Nvidia:

sudo pacman -S xf86-video-nouveau lib32-nouveau-dri

AMD:

sudo pacman -S xf86-video-ati lib32-ati-dri

Если вы устанавливаете систему на виртуальную машину:

sudo pacman -S xf86-video-vesa

Xfce + SDDM

Приступим к установке и настройке графического окружения Xfce с менеджером входа SDDM:

sudo pacman -S xfce4 xfce4-goodies sddm

Добавим SDDM в демоны

sudo systemctl enable sddm.service

Шрифты

Рекомендую установить следующие шрифты:

sudo pacman -S ttf-liberation ttf-dejavu opendesktop-fonts ttf-bitstream-vera ttf-arphic-ukai ttf-arphic-uming ttf-hanazono

Теперь можно перезагрузить систему командой

sudo systemctl reboot

Если все было выполнено правильно и без ошибок, то получаем готовую рабочую систему Arch Linux с Xfce на борту.

Важно: если у вас не вводятся символы в поле ввода, то попробуйте изменить раскладку с помощью комбинации клавиш: левый shift + правый shift. Чтобы установить английскую раскладку по умолчанию откройте файл /etc/X11/xorg.conf.d/00-keyboard.conf и в строке Option «XkbLayout» «ru,us» поменяйте ru и us местами.
После перезагрузки и первом входе в систему, выберите пункт настроек по умолчанию, затем я советую зайти в Меню приложений -> Настройки -> Внешний вид -> Шрифты и выбрать любимый шрифт, я предпочитаю Helvetica. После этого добавьте на панель элемент раскладки клавиатуры и настройте его.

Установим необходимые пакеты для работы

Pacman — это отличный пакетный менеджер, который намного удобнее apt-get из семейства Debian систем. Начнем с того что он безо всяких aptitude может самостоятельно заниматься поиском, установкой, удалением пакетов, удовлетворением зависимостей, синхронизацией репозиториев и обновлением системы, имея при этом довольно простой и логичны консольный интерфейс. Пример нескольких команд:

pacman -S foo # установить пакет foo
pacman -S --asdeps foo # установить пакет foo как зависимость
pacman -Sy # синхронизировать репозитории
pacman -Su # обновить систему
pacman -Syu # синхронизировать репозитории и обновить систему.
pacman -Syu foo # синхронизировать репозитории, обновить систему и установить пакет foo

Для Archlinux вы можете найти любой софт, который вы можете найти вообще для linux. Если вы не найдете какой-то пакет в официальном репозитории, вы наверняка это сделаете в Arch User Repository. Там находятся пакеты опубликованные и сопровождаемые пользователями Archlinux. Там находятся 53 тысячи пакетов против 37,5 тысяч у Debian.

Пакет, с помощью которого GRUB сможет определять все установленные ОС при генерации конфига:

sudo pacman -S os-prober

Браузеры:

sudo pacman -S firefox firefox-i18n-ru chromium opera

Мессенджеры:

sudo pacman -S pidgin skype

Торрент-клиент:

sudo pacman -S transmission-gtk transmission-cli

Графика:

sudo pacman -S gimp pinta gpicview djview4

Офис:

sudo pacman -S libreoffice libreoffice-ru

Мультимедиа:

sudo pacman -S audacity deadbeef smplayer

FTP-клиент:

sudo pacman -S filezilla

Разработка:

sudo pacman -S geany apache mariadb phpmyadmin php php-apache php-pgsql php-sqlite php-mcrypt php-gd

Система:

sudo pacman -S gparted unetbootin

Инструменты:

sudo pacman -S p7zip unrar

Игры:

sudo pacman -S steam mari0

Мышь в терминале

Иногда приходится работать в терминале, а не его эмуляторе. И с некоторыми программами, например Midnight Commander, там будет удобнее работать с мышью. Чтобы использовать мышь в терминале достаточно установить пакет gpm.

sudo pacman -S gpm

Автодополнение

Автодополнение — это очень удобная фича терминала bash. Кнопкой Tab можно существенно облегчить и ускорить ввод команд. Однако такая возможность не предоставляется для таких программ как sudo, pacman и некоторых других. Чтобы исправить эту несправедливость достаточно установить пакет bash-completion.

sudo pacman -S bash-completion
Поделиться Комментарии