Установка и первичная настройка Arch Linux + Xfce, часть 1
Последнее обновление 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. После этого добавьте на панель элемент раскладки клавиатуры и настройте его(смените комбинацию клавиш, модель клавиатуры).