Официальное руководство по установке Arch Linux рассчитано на все случаи жизни, конфигурации оборудования, намерения и подготовку пользователей, и потому неизбежно содержит множество избыточной для новичка информации (кроме того, есть ещё более подробное руководство для новичков). Наша цель — познакомиться с Arch, почувствовать как работать в этой системе. Самый простой способ достичь этой цели — установить Arch на виртуальную машину, где мы вольны сами выбирать конфигурацию оборудования. Чтобы быстрее установить систему и приступить к работе, создадим виртуальную машину под управлением VirtualBox с одной операционной системой (Arch Linux) и одним жёстким диском.
Кроме того, предполагается, что на хост-машине подключен Интернет.
Подготовка к установке
Скачать дистрибутив можно по адресу: [руководстве](http://www.archlinux.org/download/]].
Загрузка
- Создадим в VirtualBox новую виртуальную машину.
- В настройках машины загрузим iso-образ Arch в привод CD и укажем этот привод первым в списке загрузки.
- Запустим виртуальную машину и выберем архитектуру Arch. Выбирать лучше 64-битный вариант, так как рано или поздно поддержка 32-битных пакетов будет прекращена.
После загрузки вы попадёте в консоль суперпользователя root
.
Подключение к Интернет
В случае VirtualBox сеть поднимается сама и уже готова к использованию.
Подготовка жёсткого диска
В первый раз Arch лучше всего ставить на один раздел. Раздел /boot
, упоминаемый в [[https://wiki.archlinux.org/index.php/Partitioning), не нужен, поскольку у нас будет всего одна операционная система. Раздел под swap
также не нужен. Вместо него разместим swap
в файле, как в Windows. Это даст возможность изменять размер swap
или вовсе удалить его. Если у вас достаточно оперативной памяти, то swap
можно не создавать или создать, но не подключать. Тогда, даже если память закончится, то система просто "подумает" несколько минут, а затем убьет самый "прожорливый" процесс.
Разметка
Для разметки диска можно использовать классический fdisk
или более простой cfdisk
. Поскольку раздел у нас предполагается всего один, возможностей cfdisk
будет достаточно:
# cfdisk /dev/sda
Добавим новый раздел. Он будет первичным (Primary), загрузочным (Bootable) и занимать весь диск. Запишем сделанные нами изменения.
Проверить разметку можно повторно запустив cfdisk
.
Форматирование
Размеченный диск нужно отформатировать, то есть создать на нем файловую систему. В качестве последней выберем ext4:
mkfs.ext4 /dev/sda1
Установка базовых пакетов
Создание основных каталогов
Перед тем как ставить пакеты, нам нужно смонтировать подготовленный на предыдущем шаге раздел диска, создать в нём основные каталоги и пробросить в устанавливаемую систему /dev
, /proc
и /sys
:
mount /dev/sda1 /mnt
mkdir /mnt/{dev,proc,sys,etc,run,tmp}
mkdir -p /mnt/var/lib/pacman
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
Опция --bind
позволяет связать один каталог с другим. Связывать /dev
и другие каталоги необходимо для того, чтобы устанавливаемая система могла получить доступ к устройствам и другой информации. Системе это понадобится для установки некоторых пакетов, а нам — для установки и настройки загрузчика из chroot-а (этим мы займёмся чуть позже).
Загрузка пакетов
Команды для установки пакетов при инсталляции отличаются от обычных только тем, что пакетному менеджеру pacman
дополнительно указывается корневой каталог устанавливаемой системы. Его мы, если помните, смонтировали в /mnt
.
Обязательными для установки являются базовые пакеты и загрузчик:
pacman -r /mnt -Sy base grub
Вообще говоря, на этом этапе можно устанавливать любые пакеты, но лучше ограничиться этим минимальным набором. Так будет меньше возни, если в ходе дальнейшей установки вы что-нибудь сломаете и придется все начинать сначала.
Настройка зеркал для новой системы
После окончания загрузки пакетов имеет смысл скопировать список зеркал с установочного образа в нашу новую систему:
cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist
Если вы не сделаете этого сейчас, то не забудьте отредактировать список позже, потому что в новой системе все зеркала закомментированы.
Настройка устанавливаемой системы
Переключение
Переключаемся в устанавливаемую систему:
chroot /mnt bash
Дальнейшие действия производятся в устанавливаемой системе. Выходить из chroot
нужно будет только после завершения настройки — для перезагрузки.
В дальнейшем, если какого-либо конфигурационного файла нет, и не написано, что он генерируется определенной командой, то его нужно создать.
Имя хоста
Открываем /etc/hostname
(например, с помощью nano
), пишем туда имя хоста, например arch
.
Локаль
Открываем файл /etc/locale.gen
и стираем решетку перед локалью ru_RU.UTF-8 UTF-8
.
Запускаем генератор локалей:
locale-gen
Теперь открываем файл /etc/locale.conf
и пишем туда следующее:
LANG=ru_RU.UTF-8
Не пугайтесь, если введя после этого команду locale
вы не увидите изменений. Так и должно быть.
Виртуальная консоль
Открываем файл /etc/vconsole.conf
и пишем туда:
KEYMAP=us
FONT=UniCyr_8x16
Часы
Переводим аппаратные часы на "локальное" время и отображаем это в конфигурационном файле /etc/adjtime
:
hwclock -w --localtime
localtime
указывается для совместимости с Windows.
Указываем свой часовой пояс:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Если у вас другой часовой пояс, то ищите свой файл в /usr/share/zoneinfo/
и командуйте аналогичным образом.
Автомонтирование
Теперь открываем файл /etc/fstab
и прописываем туда наш корневой раздел. Есть несколько способов указания нужного раздела, самый простой — использовать для указания имя устройства:
/dev/sda1 / ext4 defaults 0 1
Напомню, что разделителем в /etc/fstab
служит табуляция.
Установка загрузчика
Ставим загрузчик:
grub-install /dev/sda
Если вы хотите видеть как проходит процесс загрузки, то откройте файл /etc/default/grub
и закомментируйте quiet
из параметров ядра.
Запускаем автоматическую настройку:
grub-mkconfig -o /boot/grub/grub.cfg
grub-mkconfig
может ругаться на lvmetad. Это предупреждение можно проигнорировать, а можно удалить пакет lvm2
и перегенерировать конфиг.
Инициализация хранилища ключей
Установка практически выполнена, но прежде чем перезагружать систему, инициализируем и "населим" хранилище ключей для pacman
:
pacman-key --init
pacman-key --populate archlinux
Перезагрузка
После этого нужно ещё раз проверить правильность всех настроек, выйти из устанавливаемой системы и перезагрузиться:
exit
reboot
При установке в VirtualBox новая система иногда ведёт себя странным образом: сначала вроде бы нормально загружается, а потом на экране появляется ругань вида upgrade bios or use force_addr=0xaddr
и приглашение консоли не появляется. В этом случае нужно просто перейти в другую консоль, нажав HOST + F2. Хост-клавишей обычно выступает правый Ctrl.
Жизнь в новой системе
Если установленная система смогла загрузиться, значит всё в порядке — базовая система у нас теперь есть, осталось только войти в неё под root
-ом.
Первым делом защищаем root
паролем:
passwd
Создаём файл подкачки
При достаточном объёме оперативной памяти делать это не обязательно. Однако на всякий случай лучше научиться создавать и подключать swap
сейчас. Делается это так:
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
Файл готов. Чтобы подключить его достаточно ввести команду:
swapon /swapfile
Чтобы подключение происходило автоматически, swap
нужно прописать в /etc/fstab
:
/swapfile none swap defaults 0 0
Снова поднимаем сеть
Наша задача: выяснить, как в Arch называется наш старый добрый сетевой интерфейс eth0. Для этого ищем интерфейс вида enp0s3 в выдаче
ip link
Затем запускаем для этого интерфейса DHCP:
systemctl start dhcpcd@enp0s3.service
и добавляем всё это в автозагрузку:
systemctl enable dhcpcd@enp0s3.service
Создаём пользователя
useradd -m -g users -s /bin/bash имя_пользователя
passwd имя_пользователя
Добавим пользователя в группу wheel
с помощью команды
# gpasswd -a имя_пользователя wheel
Поставим и настроим sudo
для выполнения команд администратора
# pacman -S sudo
В файле /etc/sudoers
раскомментируем строку # %wheel ALL=(ALL) ALL
. Теперь мы можем использовать команду sudo
.
Базовая настройка системы завершена. Дальнейшую настройку и установку дополнительных пакетов (иксов, драйверов, графических оболочек и т. п.) каждый выполняет по своему вкусу.
Комментарии
comments powered by Disqus