- Записки программиста
- Установка
- Как установить Arch без боли??
- Итак, начнём с простого.
- Установка
- Начинаем с запуска
- Проверим соединение с интернетом:
- Разделы диска
- Установка
- Создадим fstab файл
- Настраиваем установленную систему
- Chroot
- Настройка файла локали
- Настраиваем временную зону
- Задаём время
- Имя хоста и адрес
- Сетевой менеджер
- Установка GRUB
- Перезагрузка
- Добавим пользователя и окружение
Записки программиста
В последнее время я стал замечать, что Ubuntu как-то не особо мотивирует меня разбираться в том, как работает система. Я просто кликаю мышкой, и все работает. А почему оно работает — этого я не понимаю. Другое дело FreeBSD. Но в последнее время FreeBSD разочаровывает меня большим количеством багов, проявляющихся на десктопе (список можно найти в конце этого поста). После недолгой консультации с коллегами, я решил попробовать Arch Linux. Этот дистрибутив в чем-то напоминает FreeBSD (минимализмом, наличием как бинарных пакетов, так и своего аналога портов) и вполне заслуженно славится своим прекрасным wiki-сайтом, который регулярно показывается мне в выдаче Google.
Примечание: Как чуть более сложную, но и более гибкую, альтернативу без бинарных пакетов мне предлагали Gentoo. Этот дистрибутив мне тоже нравится, и я даже когда-то его немного использовал. Возможно, когда-нибудь я поставлю его прямо рядом с Arch Linux, для разнообразия. Следует также отметить, что Arch работает только на x86/x64, а Gentoo можно запустить практически на любом CPU. И кстати, говорят, что для особо тяжелых приложений, вроде Chromium, бинарные пакеты в Gentoo все-таки есть.
Установка
Качаем iso-образ системы, проверяем его контрольные суммы, записываем на установочную флешку, загружаемся с нее — тут все как обычно. После загрузки попадаем в обычную консоль (используется zsh), никакого инсталлятора не предусмотрено. Ethernet-сеть подключилась и настроилась по DHCP сама, тут мне ничего настраивать не пришлось.
Закатываем рукава. Первым делом нужно разбить диск, на который мы поставим систему. Находим нужный диск — в моем случае это был /dev/sda:
Создаем новые разделы, используя таблицу разделов GPT:
Введите ? для вывода списка доступных команд, затем n для создания нового раздела, p для вывода текущего списка разделов, w для записи таблицы разделов и q для выхода. Не бойтесь, тот все и вправду очень просто!
В Arch Wiki приводятся некоторые рекомендации по размеру разделов. Кстати, зачем так заморчиваться по поводу разделов? Почему нельзя просто свалить все в один большое корень? В принципе, можно, но лучше не стоит. В случае с серверами разделы можно раскидать по разным физическим дискам, распределив нагрузку по IO. На десктопе разделы гарантируют, что из-за пользователя, накачавшего слишком много торрентов, система не встанет колом. И так далее.
В моем случае размер диска составляет 238.5 Гб (речь о «правильных» гигабайтах, на самом диске написано, что это 250 Гб). Я выделил 300 Мб под /boot, как рекомендует Wiki, 200 Гб под /home, мне этого должно более чем хватить, еще 20 Гб отдал под корень, а оставшиеся ошметки (18.2 Гб) достались /var. На swap я забил, в будущем при жалении можно будет отжать немного у /var.
Важно! Забегая вперед, хочу заметить, что может иметь смысл зарезервировать несколько мегабайт для нужд загрузчика. См пример установки GRUB далее.
На созданных разделах создаем файловые системы и монтируем их в /mnt. Я использовал старую-добрую ext4, но кто-то предпочитает xfs. Помимо них в Arch также доступна btrfs, reiserfs и другие.
mkfs.ext4 / dev / sda1
mkfs.ext4 / dev / sda2
mkfs.ext4 / dev / sda3
mkfs.ext4 / dev / sda4
mount / dev / sda3 / mnt
cd / mnt
mkdir boot home var
mount / dev / sda1 / mnt / boot
mount / dev / sda2 / mnt / home
mount / dev / sda4 / mnt / var
Ставим группу пакетов base в /mnt:
Как установить Arch без боли??
Слышал, что некоторые считают Arch сложным в установке. Отчасти они правы, но для любого человека, который способен разобраться в установке и настройке linux, установка Arch довольно проста. Также это самый гибкий дистрибутив, поэтому настроить под себя его получится лучше других дистрибутивов.
Данный гайд является сборной солянкой из всех гайдов, что я прочитал (как русскоязычные, так и иноязычные). Его цель просто и без лишней технической информации показать пошаговую установку Arch и сделать это на русском языке. Главное, что статья написана от непонимающего для непонимающих. Заранее скажу, что некоторые скрины будут уже с установленного Arch, но это никак не меняет работу команд и то, что вы увидите при их использование.
Итак, начнём с простого.
Идём на сайт и качаём ISO-файл:
Там ищем зеркало(скорее всего русское) и скачиваем образ:
Для упрощения дальнейшей жизни лучше скачать Etcher, прямо на сайте есть довольно понятная инструкция в картинках, так что справятся все.
Установка
// начну с настройки VirtualBox, если вы используете её, то выполните следующие действия
2.Во вкладке система ставим галочку около пункта »Включить EFI»:
3.Далее идём во вкладку носители, там добавляем контроллер IDE и выбираем наш дистрибутив
Далее установка будет для всех одинакова.
Начинаем с запуска
Выбираем первую строку и жмём Enter
Проверим соединение с интернетом:
Это нужно, потому что Arch требует интернет для своей установки.
Такой командой можно проверить своё соединение и увидеть время ответа сайта.
Если вы используете wifi на своём ПК, то используйте утилиту :
Разделы диска
Для того, чтоб разбить наш диск на разделы, можно сначала узнать какие диски подключены. Скорее всего у вас будет USB флешка и HDD\SSD вашего ПК.
Команда для просмотра разделов (понадобится нам ещё много раз):
Если у вас несколько дисков, а вы хотите установить на какой-то конкретный, то можно посмотреть диски по размерам.
Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.
Используя стрелочки создаём 3 раздела на диске:
- /dev/sda1 # размером 1G места под UEFI
- /dev/sda2 # размером примерно 10-15 GB под root
- /dev/sda3 # всё оставшееся место под директорию home
PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы
Для проверки используем lsblk снова. Если всё норм, что /dev/sda будет содежать в себе 3 раздела.
Далее форматируем наши разделы.
- Форматируем тот раздел, который мы выделили под UEFi
Монтируем root и создаём папку home:
mount /dev/sda2 /mnt mkdir /mnt/home mount /dev/sda3 /mnt/home
И снова lsblk для проверки
Установка
Начинается самая долгая часть, потому что нужно будет много скачать. Устанавливаем все основные пакеты, а также nano, чтоб редачить файлы системы. Если вдруг вы знакомы с vim можете скачать и его (дописать в конец).
pacstrap -i /mnt base linux linux-firmware sudo nano
Вам предложат что установить выбирайте all и далее yes. Встречался с проблемой, что можно было скачать первый или второй вариант, можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.
Создадим fstab файл
genfstab -U -p /mnt >> /mnt/etc/fstab
Настраиваем установленную систему
Chroot
Chroot (change root) нужен нам, чтобы мы могли сменить root пользователя (как и сказано в названии команды).
Настройка файла локали
Для начала идём в файл локали, чтоб настроить язык
Находим там #en_US.UTF-8 и стираем #, с русским языком так же. PS: можно использовать Ctrl + W для поиска языка в файле.
Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter
Далее пишем команды, которые сгенерируют локаль и создаём locale.conf с нужными настройками языка.
locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf
Настраиваем временную зону
Далее жмём 2 раза на Tab и видим список регионов, после городов.
ln -sf /usr/share/zoneinfo/Europe/Kaliningrad /etc/localtime
Задаём время
Тут 2 команды. Одна ставит время для системы, а другая его показывает.
Имя хоста и адрес
Я решил назвать ПК ArchMe, поэтому используем следующую команду:
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.
nano /etc/hosts 127.0.1.1 localhost.localdomain ArchMe
Сетевой менеджер
pacman -S networkmanager systemctl enable NetworkManager
Установка GRUB
Для начала сменим пароль root пользователя :
GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.
pacman -S grub efibootmgr mkdir /boot/efi mount /dev/sda1 /boot/efi lsblk # для проверки всё ли норм смонтировано grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузка
Чтобы без потерь перезагрузить нашу систему используем эти команды:
После перезагрузки вы увидите следующее. Если это так, то наш GRUB установился правильно
Входим в root аккаунт и создаём swapfile (что-то вроде доп оперативки) и задаём ему размер как у вашей ОЗУ
Далее выполняем следующие команды:
chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab
И проверяем, работает ли swap:
Добавим пользователя и окружение
useradd -m -g users -G wheel -s /bin/bash username passwd username
username замените на то имя, что хотите вы)
Также нужно дать ему права суперюзера:
там ищем и убираем #, а дальше Ctrl + O, затем Enter и Ctrl + X, затем Enter
Дрова
pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server
Вам будет предложен выбор, выбирайте исходя из своей графики.
Окружение
Вначале покажу как поставить довольно простое — XFCE
pacman -S xfce4 lightdm lightdm-gtk-greeter echo "exec startxfce4" > ~/.xinitrc systemctl enable lightdm
И моё любимое i3, там выбираем пакеты 2 4 5. Возможно вы увидите квадраты вместо символов, но это нормально, вам просто нужно будет скачать шрифт dejavu ( pacman -S ttf-dejavu ). Cписок горячих клавиш можно посмотреть тут
echo "exec i3" > ~/.xinitrc sudo pacman -S i3
Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Для запуска вашего окружения используйте