Установка Arch Linux
Инструкция актуальна на сентябрь 2014 года.
13 октября 2012 года в истории Arch Linux произошло весьма значительное событие: дистрибутив полностью перешел на использование systemd. Несколькими месяцами ранее из установочного образа был удалён псевдографический установщик AIF. Процесс установки изменился в корне, поэтому я решил написать эту инструкцию.
На момент публикации летом 2012 года это была единственная актуальная инструкция на русском языке, даже wiki тогда ещё не успели исправить. Актуальность инструкция не теряет и сегодня.
Ставить систему мы будем полностью вручную, без использования установочных скриптов pacstrap , genfstab и arch-chroot .
Сразу оговорюсь, что для установки понадобится подключение к Интернету. Чем проще оно будет - тем лучше. Идеальным вариантом будет подключение через роутер, настроенный для автоматического подключения к сети и раздачи оной всем желающим.
Подготовка к установке
Если кто не знает, дистрибутив лежит тут - http://www.archlinux.org/download/.
Самый простой и надёжный способ записать его на флешку - команда dd (и под Windows тоже, правда, в этом случае команда будет немного отличаться, читайте ман):
dd if=archlinux-YYYY.MM.DD-dual.iso of=/dev/sdX
где X - буквенное обозначение девайса флешки, например sdb . Будьте внимательны! Ошибётесь буквой - можете затереть данные на винчестере!
В качестве альтернативного варианта могу предложить Mate Live CD. Это не официальный инсталляционный образ, но процесс установки с него аналогичен нижеописанному. Разница лишь в том, что на Mate Live CD есть графика, т.е. помимо прочего вы будете иметь возможность использовать Gedit, Network Manager, GParted и, главное, Firefox. Одно плохо - установить с него 64-битную систему не удастся.
Загрузка
Тут всё элементарно - вставляете флешку, выбираете архитектуру и загружаетесь. После загрузки попадёте в рутовую консоль.
Если система не загружается, а на экране появляются некие надписи про Syslinux - проверьте, не подключена ли к компьютеру другая флешка. Если да, её нужно вынуть.
Если у вас есть выбор между 32 и 64-битным вариантом, выбирать лучше 64-битный, т.к. ходят слухи о будущем прекращении поддержки 32-битных пакетов. Если в процессе установки вам понадобится отображение кириллических символов, командуйте
setfont UniCyr_8x16
в каждом используемом терминале (tty1 , tty2 , ...).
Подключение к интернету
Тут я вам не большой помощник, потому что подключение у каждого своё. Не стоит бояться поднимать интернет из консоли, это не так сложно, как кажется. Читайте wiki или меня: PPPoE в Arch Linux, 3G модем в Arch Linux.
Если же у вас упомянутый выше "идеальный вариант" или установка идёт в VirtualBox, можете вздохнуть с облегчением, потому что в этом случае сеть поднимается сама и наверняка уже готова к использованию.
Подготовка жёсткого диска
На первый раз Arch лучше всего ставить на один раздел. Никаких отдельных /boot , /home и прочего. Раздел подswap тоже не нужен, потому что swap удобнее размещать в файле (да, как в Windows). Размещение в файле даёт возможность изменить размер swap или вовсе удалить его, освободив несколько ценных гигабайт на винчестере. Если у вас достаточно оперативной памяти, swap можно не создавать вообще или создать, но оставить неподключенным. Даже если память внезапно закончится, система просто подумает несколько минут, а потом убьёт самый прожорливый процесс.
Разметка
Разбить диск можно разными способами, например об стену, но лучше всё-таки воспользоваться fdisk . Процесс подробно описан в отдельной статье. А вот cfdisk -ом пользоваться нежелательно, хотя для проверки правильности разметки он довольно удобен.
Ещё раз повторю, создавать отдельный /boot надо только в том случае, когда вы точно знаете, зачем это нужно, и будете этим пользоваться.
Форматирование
Разбить диск мало, его ещё отформатировать надо. Рекомендую не изобретать велосипед и форматировать в ext4 :
mkfs.ext4 /dev/sda1
Если есть сомнения в состоянии здоровья диска, в команду можно добавить параметр -c , который заставит систему чтением проверить раздел на сбойные сектора. Если c удвоить, будет произведена медленная проверка чтением и записью. Имейте в виду, что проверка занимает достаточно много времени.
Установка базовых пакетов
Создание основных каталогов
Перед тем как ставить пакеты, нам нужно смонтировать подготовленный в предыдущем шаге раздел диска, создать на нём основные каталоги и пробросить в устанавливаемую систему /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-а (этим займёмся чуть позже).
Выбор зеркала
При установке это делать не обязательно, но если скорость текущего зеркала вас не устраивает, можно вручную убрать лишние зеркала из файла /etc/pacman.d/mirrorlist или выполнить команду, которая оставит в файле только зеркало Яндекса:
sed -n "/yandex/p" -i /etc/pacman.d/mirrorlist
Загрузка пакетов
Команды для установки пакетов при инсталляции отличаются от обычных только тем, что пакетному менеджеру дополнительно указывается корневая директория устанавливаемой системы. Мы её, если помните, смонтировали в /mnt .
Обязательными для установки являются базовые пакеты и загрузчик (os-prober нужен для автоматического обнаружения систем на других разделах):
pacman -r /mnt -Sy base grub os-prober
Если у вас достаточно быстрый интернет и загрузка дополнительных пятидесяти мегабайт вас не пугает, не лишним будет включить в список установки пакет linux-lts . В стандартном ядре что-то ломают не так уж часто, но, как говорится, "запас карман не трёт".
В принципе, на этом этапе можно установить любые пакеты: хоть Midnight Commander, хоть погодный информер для KDE. Однако, я рекомендую ограничиться минимальным набором пакетов, т.к. не исключено, что в процессе дальнейшей установки вы что-нибудь сломаете и будете всё устанавливать заново.
При загрузке пакетов убедитесь, что вы устанавливаете всё необходимое, чтобы иметь возможность поднять интернет из устанавливаемой системы. Особенно это касается тех, кто использует "сложные" методы подключения (VPN, Wi-Fi, USB-модемы) или скрипты для автоматической настройки сети, такие как pptpsetup .
Настройка зеркал для новой системы
После окончания загрузки пакетов имеет смысл скопировать список зеркал с установочного образа в нашу новую систему (если вы не хотите этого делать, то не забудьте отредактировать список позже, потому что в новой системе все зеркала закомментированы):
cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist
Переключение в устанавливаемую систему
Переключаемся:
chroot /mnt bash
Дальнейшие действия производятся в устанавливаемой системе. Выходить из chroot-а нужно будет только после завершения всех настроек - для перезагрузки. Если какого-либо конфигурационного файла нет, и не написано, что он генерируется определённой командой, его надо создать.
Основные настройки
Локаль
Открываем файл /etc/locale.gen и стираем решетку перед локалью ru_RU.UTF-8 UTF-8 .
Запускаем генератор локалей:
locale-gen
Теперь открываем файл /etc/locale.conf и пишем туда следующее:
LANG=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8
LC_COLLATE=C
Не пугайтесь, если введя после этого команду locale вы не увидите изменений. Так и должно быть.
Часы
Указываем свой часовой пояс (доступные пояса можно найти в /usr/share/zoneinfo/ ):
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Если вы ставите Arch рядом с Windows, выполните следующую команду, чтобы перевести аппаратные часы на "локальное" время и указать это в конфигурационном файле /etc/adjtime :
hwclock -w --localtime
Установка загрузчика
Ставим загрузчик:
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
Дополнительные настройки
Автомонтирование
Если вы не послушали доброго совета и насоздавали себе кучу разделов на винчестере, прописывайте их теперь в /etc/fstab . Если же раздел только один, и вы не собираетесь менять опции его монтирования, этот шаг можно пропустить.
Есть несколько способов указания нужного раздела, самый простой - по имени девайса:
/dev/sda1 / ext4 defaults 0 1
При наличии нескольких жёстких дисков целесообразно использовать UUID:
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 / ext4 defaults 0 1
Узнать UUID раздела можно командой blkid , причём выполнить её удобнее непосредственно из vi :
export SHELL=/bin/bash
vi /etc/fstab
:read !blkid
Имя хоста
Желающие поменять localhost на что-то другое могут это сделать, прописав новое имя хоста в /etc/hostname .
Виртуальная консоль
Если вы планируете иногда пользоваться "железным" терминалом, имеет смысл прописать в /etc/vconsole.conf следующее:
KEYMAP=us
FONT=UniCyr_8x16
Любители экстрима могут прописать русский кеймап, но лучше этого не делать, если вы не пользуетесь железной консолью постоянно.
Перезагрузка
После этого нужно ещё раз проверить правильность всех настроек, выйти из устанавливаемой системы и перезагрузиться:
exit
reboot
При установке в VirtualBox новая система иногда ведёт себя странным образом: сначала вроде бы нормально загружается, а потом на экране появляется ругань вида upgrade bios or use force_addr=0xaddr и приглашение консоли не появляется. В этом случае нужно просто перейти в другую консоль, нажав HOST + F2 . Хост-клавишей обычно выступает правый Ctrl .
Если в процессе перезагрузки GRUB ругался на потерянный файл, выполните команду:
cp /boot/grub/locale/en\@quot.mo /boot/grub/locale/en.mo
Жизнь в новой системе
Если установленная система смогла загрузиться, значит всё в порядке - базовая система у нас теперь есть, осталось только войти в неё под рутом.
Первым делом защищаем наш рут паролем (при вводе не отображается, если кто не знает):
passwd
Теперь можно заняться конфигурацией системы и установкой дополнительных пакетов: иксов, драйверов, всяческих "кед", "гномов" и прочего. Проделать это вам предстоит самостоятельно, приведу лишь несколько полезных ссылок и указаний.
Создаём файл подкачки
Как я уже говорил, при достаточном объёме оперативной памяти делать это не обязательно. Но на всякий случай лучше научиться создавать и подключать swap сейчас. Делается это достаточно просто:
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
Файл готов. Чтобы подключить его достаточно ввести команду:
swapon /swapfile
Чтобы подключение происходило автоматически, swap нужно прописать в /etc/fstab :
/swapfile none swap defaults 0 0
Снова поднимаем сеть
С некоторых пор systemd взял именование сетевых интерфейсов в свои руки, и, по своей любимой привычке, сделал всё "не как у людей". Почему так, написано здесь: http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames. Наша задача - выяснить, как же теперь называется наш старый добрый eth0 . Для этого ищем интерфейс вида enp4s1 в выдаче
ip link
После счастливого обретения имени интерфейса запускаем на нём DHCP:
systemctl start dhcpcd@enp4s1.service
и добавляем всё это в автозагрузку:
systemctl enable dhcpcd@enp4s1.service
Создаём пользователя
Удобный скрипт adduser в базовой системе не нашелся (его почему-то дропнули в AUR), поэтому используем Ъ-метод:
useradd -m -g users -s /bin/bash имя_пользователя
passwd имя_пользователя
На этом инструкция заканчивается, остальную настройку каждый делает по своему вкусу.
Благодарности
Как поётся в песне:
Вокруг меня корреспонденты бесятся,
Мне помогли, - им отвечаю я, -
Взобраться по крутой спортивной лестнице
Мой коллектив, мой тренер и моя семья.
Отдельное спасибо arcanis-у за его советы и предложения.
Спасибо всем, кто находил и продолжает находить опечатки и неточности.
http://lampslave.ru/install-arch-linux-systemd/
|