Установка и первичная настройка Arch Linux + Xfce, часть 1

6 минут

Последнее обновление 26.12.2019 в 01:15

В этом цикле статей я хочу подробно показать как устанавливать и настраивать Arch Linux с оболочкой Xfce. Это будет полезно тем, кто хочет попробовать Arch Linux, но так и не решится взяться за это. Также эти статьи можно использовать как шпаргалки по установке в будущем.

Настройка дистрибутива будет ориентирована на обычное использование. Я хочу показать что нужно сделать, чтобы в будущем использовании системы было минимум проблем. Также я порекомендую те пакеты, которые я бы порекомендовал иметь в системе. Я буду ориентироваться на архитектуру x86_64, так как считаю её более современной. Но разницы, с точки зрения пользователя, вы практически не ощутите, так как все пакеты в Arch Linux поддерживают эту архитектуру.

Подготовка🔗︎

Скачать последний срез дистрибутива можно на официальной странице загрузки: https://www.archlinux.org/download/

После скачки нужно записать образ на внешнее устройство, такое как CD или USB Flash drive. Записать образ на CD можно программой wodim из набора cdrkit.

$ wodim -v dev=/dev/cdrw archlinux-2013.02.01-dual.iso

А записать образ на USB Flash drive можно программой dd следующим образом:

# dd bs=4M if=archlinux-2013.02.01-dual.iso of=/dev/sdx status=progress && sync

где /dev/sdx - это USB накопитель, на который вы хотите записать образ(обычно /dev/sdb).

После записи образа на внешнее устройство вам необходимо настроить загрузку компьютера(в BIOS или EFI) в режим загрузки с вашего дисковода или USB Flash и запустить компьютер с подключенным устройством. Теперь можно приступить к установке.

Установка🔗︎

Первым делом мы увидим меню загрузки

меню загрузки

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

Русский язык🔗︎

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

Установим русскую раскладку:

# loadkeys ru

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

# setfont cyr-sun16

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

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

# nano /etc/locale.gen

(закрыть файл: Ctrl + X)

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

# locale-gen
# export LANG=ru_RU.UTF-8

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

Сейчас при установке дистрибутива наличие сети обязательно, поэтому её настройка необходима.

Проверить подключение к сети можно так:

ping -c 3 google.com

Результатом должно быть что-то вроде этого:

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

Если подключения нет, то приступим к настройке.

Для беспроводного подключения используйте программу iwctl

Для PPPoE: используйте для настройки программу pppoe-setup, для запуска - pppoe-start

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

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

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

  • 100 Мб с флагом Загрузочный(Boot) - для загрузчика (для MBR).
  • Раздел, на 1 Гб больше, чем объем оперативной памяти - для раздела подкачки(swap), если он вам нужен.
  • 15 Гб (15360 Мб) для корневого раздела системы.
  • И всё оставшееся для домашнего раздела.

Жмём кнопку Запись.

В итоге должно получиться что-то вроде этого:

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

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

Для загрузочного раздела будем использовать файловую систему ext2. Также мы будем использовать метки для удобства.

# mkfs.ext2 /dev/sda1 -L boot

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

# mkswap /dev/sda2 -L swap

Для корневого раздела используем ext4:

# mkfs.ext4 /dev/sda3 -L root

Для домашнего раздела также используем ext4:

# mkfs.ext4 /dev/sda4 -L home

В итоге получим это(cfdisk):

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

Монтирование разделов🔗︎

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

# mount /dev/sda3 /mnt

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

# mkdir /mnt/{boot,home}

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

# mount /dev/sda1 /mnt/boot

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

# mount /dev/sda4 /mnt/home

Подключим раздел подкачки(swap)

# swapon /dev/sda2

Выбор зеркал для pacman🔗︎

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

# nano /etc/pacman.d/mirrorlist

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

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

Для закрытия нажмите Ctrl + X и согласитесь на изменения.

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

Установим базовые пакеты системы. В этот список вы можете добавить какие-нибудь нужные вам пакеты для установки.

# pacstrap -i /mnt base base-devel linux linux-headers nano dhcpcd grub

После выполнения команды и выбора всех пакетов, скачаются(около 150 Мб) и установятся(около 130) последние версии необходимых пакетов.

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

# pacstrap -i /mnt netctl dialog wpa_supplicant

Важно: если вы ведёте установку используя pppoe, то вам необходимо установить пакет rp-pppoe:

# pacstrap -i /mnt rp-pppoe

Установка пакета GRUB в устанавливаемую систему🔗︎

# arch-chroot /mnt pacman -S grub

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

# arch-chroot /mnt pacman -S efibootmgr

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

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

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

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

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

# arch-chroot /mnt /bin/bash

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

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

# nano /etc/locale.gen

(закрыть файл: Ctrl + X)

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

# locale-gen

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

Откройте файл /etc/mkinitcpio.conf:

# nano /etc/mkinitcpio.conf

В разделе HOOKS, должен быть прописан хук keymap.

В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia. Пример, как это может выглядеть:

/etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES="piix ide_disk reiserfs"
MODULES="i915"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS="base"
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS="base udev autodetect block filesystems"
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS="base udev block filesystems"
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS="base udev block mdadm encrypt filesystems"
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev block lvm2 filesystems"
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block resume shutdown filesystems keyboard fsck keymap"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""

(закрыть файл: Ctrl + X)

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

# mkinitcpio -p linux

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

# grub-install /dev/sda

Установим загрузчик (для 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.

Установим root пароль:

# passwd

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

# exit

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

# umount /mnt/{boot,home,}

Сейчас следует перезагрузить систему.

# reboot

И нужно зайти в root пользователя с помощью ранее введённого пароля.

Изменим имя компьютера(замените myhostname на своё):

# 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

Внимание: если возникли какие-то проблемы при загрузке пакетов, попробуйте создать файл /etc/sysctl.d/40-ipv6.conf и записать в него это: net.ipv6.conf.all.disable_ipv6 = 1

Добавим пользователя (замените myusername на своё) и сразу поместим его в нужные группы:

# 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

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

# iwctl

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

# pacman -Syy

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

# pacman -Su

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

# pacman -S sudo

В файле /etc/sudoers раскомментируем строку # %wheel ALL=(ALL) ALL

Теперь мы можем использовать sudo для выполнения команд администратора.

Теперь выйдите из root пользователя с помощью команды exit и зайдите в пользователя, которого вы создали.

Графическое окружение🔗︎

Установим X:

sudo pacman -S xorg-server xorg-xinit xorg-apps mesa-libgl xterm

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

Для x86_64 необходимо установить пакет lib32-mesa-libgl:

sudo pacman -S lib32-mesa-libgl

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

Intel:

sudo pacman -S xf86-video-intel

Nvidia:

sudo pacman -S xf86-video-nouveau

AMD:

sudo pacman -S xf86-video-ati

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

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

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

После перезагрузки и первом входе в систему, выберите пункт настроек по умолчанию, затем я советую зайти в Меню приложений -> Настройки -> Внешний вид -> Шрифты и выбрать любимый шрифт, я предпочитаю Liberation Sans, размера 10. После этого добавьте на панель элемент раскладки клавиатуры и настройте его(смените комбинацию клавиш, модель клавиатуры).

Другие статьи об установке🔗︎