Установка, сборка и первоначальная настройка Arch Linux в качестве десктопа
Вот и добрался я наконец-то до Arch Linux. Система для меня нова, но не думаю, что будет чем-то сильно отличаться от себе подобных. Поскольку нельзя просто так взять и поставить Arch с первого раза, то я подготовил рабочий мануал непосредственно под себя. Сразу хочу предупредить, что любителям EFI придется несладко. Манипуляции с GRUB на EFI вызывали во мне приступы истерического смеха. На сервер с обычным BIOS все установилось с первого раза.
После записи образа необходимо загрузиться с USB-накопителя (настройки в BIOS или EFI).
Установка Arch
В меню загрузки выбираем архитектуру и ждём пока система загрузится.
Локализация
После загрузки настроим русский язык для удобства работы. Выполняется это следующей командой:
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 forhelp): o ↵
Создаем 1 раздел (boot)
Command (m forhelp): n ↵ Partition type (default p): ↵ Partition number (1-3, default 1): ↵ First sector: ↵ Last sector: +512M ↵
Создаем 2 раздел (swap)
Command (m forhelp): n ↵ Partition type (default p): ↵ Partition number (2-3, default 2): ↵ First sector: ↵ Last sector: +16G ↵ Command (m forhelp): t ↵ Partition number (1,2, default 2): ↵ Hex code (type L to list all codes): 82 ↵
Создаем основной раздел
Command (m forhelp): n ↵ Partition type (default p): ↵ Partition number (2,3, default 3): ↵ First sector: ↵ Last sector: ↵
Добавляем флаг загрузки для первого раздела:
Command (m forhelp): 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:
Если устанавливаем 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
Если планируется использовать 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.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
Добавим пользователя (если это не было выполнено ранее) и сразу поместим его в необходимые нам группы:
В файле /etc/sudoers раскомментируем строку # %wheel ALL=(ALL) ALL Теперь мы можем использовать sudo для выполнения команд администратора. Теперь выйдем из root пользователя с помощью команды exit и авторизуемся под пользователем, которого создали.
Если все было выполнено правильно и без ошибок, то получаем готовую рабочую систему 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
Иногда приходится работать в терминале, а не его эмуляторе. И с некоторыми программами, например Midnight Commander, там будет удобнее работать с мышью. Чтобы использовать мышь в терминале достаточно установить пакет gpm.
sudo pacman -S gpm
Автодополнение
Автодополнение — это очень удобная фича терминала bash. Кнопкой Tab можно существенно облегчить и ускорить ввод команд. Однако такая возможность не предоставляется для таких программ как sudo, pacman и некоторых других. Чтобы исправить эту несправедливость достаточно установить пакет bash-completion.