Установка Arch Linux для самых маленьких. Установка ArchLinux для новичков

Когда пользуешься другими сборками Linux, рано или поздно возникает тот момент, когда захочется ее поменять на что-то лучшее.

Так было и у меня. Наигравшись вдоволь с Ubuntu, Debian, Suse и прочими, я понял что они перегружены лишними пакетами и работают не так как хотелось.

Да и после установки приходилось постоянно что-то «допиливать» под себя. Тут и созрела мысль использовать Arch Linux.

И я ни разу не пожалел об этом. Система просто «летает», по сравнению с другими.

Единственный минус на мой взгляд - это обновления, которые могут убить систему наглухо. И что-бы обновиться без падений системы надо залезать на официальный сайт и читать там.

Сам инсталлятор системы позволят поставить только Arch, а среду рабочего стола вам придется выбирать и ставить самостоятельно. Это позволяет отсеять малоопытных и ленивых юзеров. Консоль рулит брат!

Запомнить все шаги не реально, поэтому решил сделать небольшую инструкцию.

После записи образа на съемный носитель, вам необходимо будет загрузиться с него.
Для вас это тоже не составит труда. Ибо, если вы решили поставить Arch linux, то знаете как загрузиться с внешнего носителя.

Если все-таки не знаете - пишите в комментариях, напишу отдельную статью.

После загрузки видим следующее окно с выбором вариантов установки.

Я выбираю самый первый вариант - x86_64. Все зависит от вашего железа. Второй вариант подойдет для слабых компов, если в него хотите вдохнуть «вторую жизнь».

После загрузки попадаем в консоль с правами рута. Остальное придется набирать руками.

Ставим русскую раскладку

# loadkeys ru

Добавим в консоль шрифт, поддерживающий кириллицу

# setfont cyr-sun16

Добавляем русскую локаль

# nano /etc/locale.gen

В этом файле нужно раскоментировать (удалить знак #) строку #ru_RU.UTF-8 UTF-8

После изменения просто жмем Ctrl + X и соглашаемся сохранить файл клавишей Y.

# locale-gen # export LANG=ru_RU.UTF-8

Проверка работы сети

Так как сейчас без интернет никуда, проверяем его наличие. Ведь пакеты для установки придется тянуть из сети.

Проверяем так:

Ping -c 3 google.com

Вы должны получить примерно такой отклик, как на скриншоте. Обратите внимание на надпись «0% packet loss». Это значит что все пакеты приходят без ошибок.

Не советую ставить через wi-fi (если не хотите плясок с настройкой вайфая), лучше подключите ваш ноутбук к стандартному сетевому порту с помощью кабеля.

Вайфай можно настроить и после установки.

Если же вы все-таки решили «плясать» с вайфаем - используйте программу wifi-menu.

Примечание: Если вы получаете сообщение, что интерфейс wlan0 не найден, то узнайте как называется ваш сетевой интерфейс с помощью ifconfig и введите wifi-menu <интерфейс>

Если Arch пишет, что нет такой команды ifconfig, поставьте пакет net-tools.

Если у вас соединение PPPoE: вы можете использовать для настройки pppoe-setup, а для запуска - pppoe-start
Я использую кабельное соединение (LAN) на стационарном компьютере, поэтому описывать настройку выйфая и PPPoE не буду.

Разбиваем жесткий диск

Для создания разделов на жестком диске используем программу cfdisk.

Создаем следующие разделы:

  • Загрузочный размером 100 мб
  • Раздел подкачки (swap), по рекомендациям - на 1 гигабайт больше оперативной памяти. Из личного опыта - если памяти больше 4 гб, то 3 гб подкачки мне хватает за глаза.
  • Для корневого раздела системы - 15 гигабайт. Если жесткий диск большого размера, можно задать 20 гигабайт
  • Для домашнего раздела задаем все оставшееся место на диске

В итоге у вас получится примерно так.


Выбираем запись и сохраняем изменения.

Для загрузочного раздела будем использовать файловую систему ext2

# mkfs.ext2 /dev/sda1 -L boot

Форматируем раздел под swap

# mkswap /dev/sda2 -L swap

Используем ext4 для корневого раздела

# mkfs.ext4 /dev/sda3 -L root

Используем ext4 для домашнего (home) раздела

# mount /dev/sda3 /mnt # mkdir /mnt/{boot,home} # mount /dev/sda1 /mnt/boot # mount /dev/sda4 /mnt/home # swapon /dev/sda2

Выбираем ближайшее зеркало для pacman

Чтобы pacman быстрее загружал пакеты прописываем самый ближний сервер в верху списка.
В нашем случае российский сервер. Действие не обязательное, можно оставить как есть.

# nano /etc/pacman.d/mirrorlist

Вписываем эту строку вверху списка

Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch


Установим базовые пакеты системы.

# pacstrap -i /mnt base base-devel

После закачки и установки всех выбранных пакетов (около 150 мегабайт), мы можем приступить к установке загрузчика.

Для тех, кто устанавливает систему через Wi-Fi необходимо также установить пакеты netctl, dialog и wpa_supplicant

# pacstrap -i /mnt netctl dialog wpa_supplicant

Установка загрузчика Grub

# arch-chroot /mnt pacman -S grub-bios

# arch-chroot /mnt pacman -S grub-efi-x86_64

Если вы ставите 32-х битную систему c EFI, то вам нужно использовать пакет 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

Добавим русскую локаль в консоль:

Открываем файл mkinitcpio.conf (# nano /etc/mkinitcpio.conf) и прописываем хук keymap в разделе HOOKS. В разделе MODULES прописываем драйвер видеокарты:

  • Для Nvidia – nouveau
  • Для Intel – i915
  • Для AMD – radeon

Создадаем RAM диск следующей командой:

# mkinitcpio -p linux

Установливаем загрузчик:

# grub-install /dev/sda

Обновляем grub.cfg:

Внимание: если у вас возникли ошибки при создании grub.cfg, добавьте в файл /etc/default/grub строку GRUB_DISABLE_SUBMENU=y

Устанавливаем пароль для root:

# passwd

# 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.

# nano /etc/vconsole.conf

Обновляем загрузочный диск RAM:

# mkinitcpio -p linux

Обновляем grub.cfg:

# grub-mkconfig -o /boot/grub/grub.cfg

Настроим pacman (только для x86_64):

# nano /etc/pacman.conf

Для того чтобы у вас работали 32 битные программы - раскомментруем (убираем #) две строки, чтобы был доступен репозиторий multilib:

# #Include = /etc/pacman.d/mirrorlist

Внимание: если не загружается ни один пакет, создайте файл /etc/sysctl.d/40-ipv6.conf и запишите в него: net.ipv6.conf.all.disable_ipv6 = 1

Помимо root, необходимо чтобы был хотя бы еще один пользователь в системе с обычными правами. Под рутом постоянно сидеть в линуксе не принято.

Добавим своего пользователя (меняем username на свое) и добавляем его в нужные группы:

# useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash username

Установим пароль для нашего юзера:

# passwd username

Добавим ему информацию GECOS:

# chfn username

Настраиваем сеть

Если у вас проводное подключение

# systemctl enable dhcpcd # systemctl start dhcpcd

Если у вас беспроводное подключение

# wifi-menu

Обновляем все пакеты в системе

# pacman -Syy # pacman -Su

Устанавливаем и настраиваем sudo

# pacman -S sudo

В файле /etc/sudoers снимаем комментарий со строки # %wheel ALL=(ALL) ALL

# EDITOR=nano visudo

Это позволит обычному пользователю использовать команду sudo.
Выходим из сеанса root следующей командой

И заходим под обычным пользователем, которого мы создали.

Установка графической среды.

$ sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xterm

Для тачпада или тачскрина установите дополнительно xf86-input-synaptics

Установка драйверов для видеокарты

Пакеты lib32-* устанавливаем только на x86_64 системы.

Sudo pacman -S xf86-video-nouveau lib32-nouveau-dri

Sudo pacman -S xf86-video-intel lib32-intel-dri

Sudo pacman -S xf86-video-ati lib32-ati-dri

Для виртуальной машины:

Sudo pacman -S xf86-video-vesa

Xfce + SLiM

Устанавливаем менеджер входа - Slim и графическое окружение XFCE.
XFCE очень легкий и шустрый, по сравнению с GNOME 3 или KDE.

Sudo pacman -S xfce4 xfce4-goodies slim archlinux-themes-slim

Теперь нужно сделать так, чтобы по команде startx запускался не устаревший twm, а Xfce.

Cp /etc/X11/xinit/xinitrc ~/.xinitrc

Этой командой мы копируем файл.xinitrc если его нет. У меня его никогда не было.
Следующей командой открываем его и редактируем так как на скриншоте.

Nano ~/.xinitrc

Просто находим конец файла, комментируем 5 строк и добавляем в конце строку

Exec startxfce4

Добавим slim в демоны:

Sudo systemctl enable slim.service

Меняем тему входа для Slim (можно не менять).

Sudo nano /etc/slim.conf

Находим там – current_theme default
Меняем на – current_theme archlinux-simplyblack

Для удобства использования системы установим шрифты (по желанию).

Sudo pacman -S ttf-liberation opendesktop-fonts ttf-dejavu ttf-arphic-ukai ttf-arphic-uming ttf-bitstream-vera

Перезагружаем систему командой

Sudo systemctl reboot

Важная информация: При входе требуется одновременно нажать левый и правый Shift для переключения раскладки на английский язык. Только тогда вы сможете ввести логин и пароль и авторизоваться в системе. Дополнительная защита «от дурака», на мой взгляд.

Если вы не хотите каждый раз при входе жать на шифты, то проделайте следующее в терминале:

Sudo nano /etc/X11/xorg.conf.d/00-keyboard.conf

меняете в строке Option “XkbLayout” “ru,us” на
Option “XkbLayout” “us,ru”


Далее ставите программы которые вам нужны в системе.
У меня такой набор:

  • gpm (мышь в терминале)
  • skype
  • pidgin (мессенгер - icq, jabber и др.)
  • opera, firefox, chromium (Браузеры)
  • easystroke (включение дополнительных кнопок и жестов мыши)
  • transmission (торрент-клиент)
  • evince (pdf читалка)
  • gimp (графический редактор)
  • libreoffice (офисный пакет)
  • audacity (обработка звука)
  • filezilla (ftp-клиент)
  • gparted (работа с разделами дисков)
  • unetbootin (создание загрузочных флешек)
  • keepassx (менеджер паролей)
  • thunderbird (почтовый клиент)
  • p7zip, unrar (архиваторы)
  • bash-completion (автодополнение в консоли)
  • file-roller (удобный gui для архиваторов)
  • vlc (плеер для просмотра видео)
  • yaourt (дополнение к pacman для работы с репозиториями AUR)
  • yandex-disk (облако на яндексе)
  • dropbox (облако на dropbox)
  • virtualbox (виртуальная машина)
  • gvfs (нужна для монтирования флешек и съемных накопителей)

После установки gvfs войти в свойства системы и поставить следующие галочки:

Установка всего сразу, кроме yaourt,yandex-disk,dropbox и virtualbox

Sudo pacman -S gpm skype pidgin opera firefox firefox-i18n-ru chromium easystroke transmission-gtk transmission-cli gimp evince libreoffice libreoffice-ru audacity filezilla gparted unetbootin keepassx thunderbird p7zip unrar bash-completion file-roller vlc wget gvfs

В следующей статье читайте, . Он нам понадобится для установки yandex-disk,dropbox и virtualbox.

Установка, сборка и первоначальная настройка Arch Linux в качестве десктопа

Вот и добрался я наконец-то до Arch Linux . Система для меня нова, но не думаю, что будет чем-то сильно отличаться от себе подобных. Поскольку нельзя просто так взять и поставить Arch с первого раза, то я подготовил рабочий мануал непосредственно под себя. Сразу хочу предупредить, что любителям EFI придется несладко. Манипуляции с GRUB на EFI вызывали во мне приступы истерического смеха. На сервер с обычным BIOS все установилось с первого раза.

Подготовка образа

Загрузим образ дистрибутива c официального сайта разработчика и запишем его на флешку:

А также изменим консольный шрифт на тот, который поддерживает кириллицу:

Обновим текущую локаль системы:

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)

Создаем пустую таблицу разделов

Создаем 2 раздел (swap)

Добавляем флаг загрузки для первого раздела:

Для раздела подкачки (swap):

Для корневого раздела используем зашифрованный LVM :

Задаем формат для созданных разделов:

Монтирование разделов (продолжение)

Смонтируем корневой раздел:

Смонтируем загрузочный раздел:

Выбираем зеркало для pacman

Для более быстрой загрузки пакетов настроим зеркала. Поставим российское зеркало Яндекса выше всех остальных:

После выполнения команды и выбора всех пакетов загрузятся последние версии необходимых пакетов.

Важно: если ведется установка по Wi-Fi , то необходимо установить пакеты netctl , dialog и wpa_supplicant:

Если устанавливаем 32-х битную систему, то используем пакет grub-efi-i386 .

Первичная настройка системы

Сгенерируем fstab, для этого используем следующую команду

Перейдём в установленную систему

Обновим текущую локаль системы

Добавим нового пользователя

Установим загрузчик (для BIOS)

Обновим grub.cfg

Отмонтируем ранее монтируемые разделы:

Установим время

Настроим pacman (только для x86_64 ):

Отключаем IPv6

Для этого создадим новый файл /etc/sysctl.d/10-ipv6.conf с содержимым:

Установим ему пароль

Запустим службу:

Обновим базы данных пакетов:

(если используется тачпад или тачскрин, то установим xf86-input-synaptics)

Установим драйвер для видеокарты:

Пакеты lib32-* нужно устанавливать только на x86_64 системы.

Xfce + SDDM

Приступим к установке и настройке графического окружения Xfce с менеджером входа SDDM :

Теперь можно перезагрузить систему командой

sudo systemctl reboot

Если все было выполнено правильно и без ошибок, то получаем готовую рабочую систему 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 сможет определять все установленные ОС при генерации конфига:

Графика:

FTP-клиент:

Автодополнение

Автодополнение - это очень удобная фича терминала bash . Кнопкой Tab можно существенно облегчить и ускорить ввод команд. Однако такая возможность не предоставляется для таких программ как sudo , pacman и некоторых других. Чтобы исправить эту несправедливость достаточно установить пакет bash-completion .

sudo pacman -S bash-completion

Для начала я хотел бы ответить на стандартный вопрос всех тех, кто ни разу не встречался с данным дистрибутивом: «Зачем?». Действительно, зачем нужен Arch Linux, когда полно других юзерфрендли дистрибутивов, типа божеупаси Ubuntu, Debian, Linux Mate и т.д. А ответ очень прост: Арч - это один из самых легких и компактных дистрибутивов, который не несет в себе даже окружение рабочего стола , из коробки нам дают только консоль и несколько стоковых утилит (например fdisk). Если вы когда-нибудь хотели поиграть в игру «Собери систему сам», то этот дистрибутив для вас.

Итак, подготовим наш «тестовый стенд». В моем случае я использую Parallels Desktop 12, однако ровно неделю назад я ставил арч на ноутбук Sony Vaio-чтототам, так что процесс установки мало чем будет отличаться.

Если у вас Wi-Fi

Как я уже сказал, арч поставляется голым, но установщик оснащен утилитой Wifi-Menu, позволяющую подключаться к сетям WiFi.

1. Начало

Для начала скачаем дистрибутив . Релиз на момент написания статьи: 2017.05.01. Весит образ 400 мегабайт. Ядро 4.10.13. Если вы устанавливаете дистрибутив на виртуальную машину, первый шаг можно пропустить.

1.1 Создание загрузочной флешки

Есть несколько способов создания загрузочной флешки. Рассмотрим два из них:

Windows:

UNetBootIN - бесплатная интуитивно-понятная утилита. Выбираете флешку и дистрибутив и нажимаете «Продолжить», она все сделает сама (так же работает на Mac и Linux). Ссылка .

Win32 Disk Imager - бесплатная утилита для Windows. Все так же: выбираете флешку, дистрибутив и нажимаете Write. .

Linux/Mac:

Для *nix подобных систем скачивать дополнительные утилиты необходимости нет. Все что нужно - наличие терминала под рукой. Для начала найдем флешку:

Mac OS: пишем diskutil list, получаем список всек замонтированных ус-в.

Linux: пишем lsblk, получаем список ус-в. По сути получим то же самое, только ответ будет типа /dev/sdX (X - буква, например /dev/sdb1)

Теперь, когда мы определились с флешкой, давайте запишем на нее образ. Делать мы это будем с помощью утилиты dd. Открываем терминал (если вы его закрыли) и вводим туда следующее
dd if=path/to/archiso.iso of=path/to/flash status=progress
Готово. Переходим к следующему шагу.

2. Установка базовой системы

Итак, перезагружаем компьютер, и загружаемся с флешки. Сначала мы попадаем в меню SysLinux, где выбираемм «Boot Arch Linux x86_64». Итак, мы в окружении zSH (замена bash).

Сначала проверим наше интернет-соединение. Если вы используете ethernet, то никаких дополнительных манипуляций делать не нужно, арч подцепит все сам. Если вы используете wifi, то введите wifi-menu и вам откроется список доступных для подключения wifi-сетей. К слову, если у вас несколько адаптеров, то введите iw dev , чтобы увидеть все доступные адаптеры (обычно название начинается с буквы w), а затем введите wifi-menu (вместо - ваш адаптер). Теперь проверим соединение, пинганув, например, Яндекс.

# ping -c 3 ya.ru PING ya.ru (93.158.134.203) 56(84) bytes of data. 64 bytes from www.yandex.ru (93.158.134.203): icmp_req=1 ttl=54 time=62.4 ms 64 bytes from www.yandex.ru (93.158.134.203): icmp_req=2 ttl=54 time=63.0 ms 64 bytes from www.yandex.ru (93.158.134.203): icmp_req=3 ttl=54 time=62.4 ms --- ya.ru ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 62.423/62.623/63.009/0.273 ms
С интернетом готово. Теперь проверим наши диски. Вбиваем lsblk , чтобы посмотреть, где у нас что. Итак, у меня основной диск, на котором будет находится система находится на /dev/sda, флешка - на /dev/sdb (sdb1).

Как вы можете заметить, диск не разбит на разделы. Сейчас мы сделаем два раздела для /системы и /home каталога (где будет находится все доступное пользователю окружение).

Мы будем пользоваться утилитой fdisk, т.к она имеет графический интерфейс и с ней более удобно (для меня) работать.

Вводим fdisk в консоль. Он может спросить нас, что нам нужно: gpt или dos(MBR). Для систем с UEFI/GPT выбирайте gpt, для LegacyBIOS/MBR систем - dos. В моем случае мы создадим GPT разметку. Появится более-менее привычный нам гуй.

Нажимаем «New», вводим желаемое значение типа РАЗМЕР, где G гигабайты, MB - мегабайты, KB - килобайты, B - байты. В моем случае я создам раздел /dev/sda1, который будет сжирать 20 гигабайт для системы, dev/sda2, который будет сжирать 44 гигабайта для /home и раздел размером в 1023 мегабайта для свапа.

Нажимаем кнопку Write для записи таблицы разделом на диск и Quit для выхода из утилиты.
Проверим разделы, снова введя lsblk:

Теперь создадим файловую систему для каждого раздела. Для системы и /home каталога будем использовать ext4, а для свапа - swap.

Вводим в терминал следующие команды:

# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkswap /dev/sda3 # swapon /dev/sda3
Снова проверим конфигурацию разделов. Как видите, mountpoint у /dev/sda3 сменился на , что означает, что мы все сделали правильно.

Теперь примонтируем диски.

# mount /dev/sda1 /mnt # mkdir -p /mnt/home # mount /dev/sda2 /mnt/home
Можете ввести lsblk для проверки точек монтирования. Я это сделал, у меня не было ошибок. Переходим к установке базовой системы. Для этого вводим в терминал следующее:

# pacstrap /mnt base base-devel

Важно

Отредактируйте файл /etc/pacman.d/mirrorlist с помощью nano. Перед всем содержимым файла добавьте строку:

Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
Тем самым мы добавим зеркало Яндекса и дальнейшие закачки будут идти с него. Это очень важно, так как по-умолчанию там установлен какой-то далекий сервер закачек. Например, у меня во время написания этой статьи закачки оттуда не шли вообще.


Процесс скачивания и установки займет какое-то время, так что смело можете отправится пить пиво/чай/etc.

Для тех, у кого Wi-Fi

В базовой системе ОТСУТСТВУЕТ возможность работы с wi-fi, поэтому установите туда dialog и wpa_supplicant для работы с беспроводными сетями с помощью пакстрап:

# pacstrap /mnt wpa_supplicant dialog

3. Настройка базовой системы

Итак, мы установили систему. Теперь зайдем в нее и настроим изнутри, введя команду:

# arch-chroot /mnt
Сейчас мы вышли из live-окружения и уже работает непосредственно с системой. Демон dhcpcd автоматически подцепит ethernet-соединение, для wifi используйте wifi-menu.

Установим локаль (язык) для нашей системы. Откроем файл /etc/locale.gen с помощью nano, найдем и расскоментируем следующие строки:

en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

После чего вводим:

# locale-gen
для генерации локалей.

Создадим файл locale.conf, где будет содержаться переменная текущей локали и запишем в него переменную LANG=ru_RU.UTF-8 или LANG=ru_RU для установки русского языка:

# export LANG=ru_RU.UTF // установим язык для текущей сессии # echo LANG=ru_RU.UTF-8 > /etc/locale.conf # loadkeys ru // загрузим русскую раскладку
Так же можем вместо echo LANG… прописать locale > /etc/locale.conf при условии того, что нас устраивает вывод locale:

Теперь установим консольный шрифт для работы. Выполним следующие команды:

# setfont cyr-sun16 # nano /etc/vconsole.conf
В файл vconsole.conf добавим следующие строки

KEYMAP=ru
FONT=cyr-sun16

Настроим часы. Введем:

Ln -s /usr/share/zoneinfo/Зона/Субзона /etc/localtime
Например, для Новосибирска я введу следующее:

Ln -s /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime

Если ошибка

Вы можете встретить ошибку типа «файл уже существует». Не волнуйтесь просто добавьте ключ -f после -s, что перезапишет файл.


Обеспечим точность аппаратных часов командой timedatectl set-ntp true , а затем введем hwclock --systohc --utc для установки часов.

Установим имя нашего узла/домена командой echo localdomain > /etc/hostname , где localdomain - ваше имя (может быть любым, в моем случае это будет furrypaws).

Теперь зададим пароль для суперпользователя командой passwd .
И генерируем ядро командой:

Mkinitcpio -p linux
Сгенерируем таблицу разделов. Для этого вернемся в live-окруджение командой exit и выполним

# genfstab -U /mnt >> /mnt/etc/fstab
Не забудьте проверить файл /mnt/etc/fstab через nano. Вернемся в chroot, чтобы завершить настройку через arch-chroot /mnt.

Установим загрузчик (т.е GRUB). Вводим следующее:

# pacman -S grub // pacman -S os-prober, пропишите это дополнительно, если у вас стоят еще системы, помимо Арч. # grub-install --recheck /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
Выходим из окружения командой exit и перезагружаемся командой reboot. После перезагрузки, если мы сделали все правильно, мы попадем в меню Grub, а оттуда - в Арч. Логин для входа - root, пароль тот, который мы указали. Установить интернет-соеденение через провод:

Вводим

# ip link
Находим там наш интерфейс. Затем вбиваем:

# systemctl enable dhcpcd@интерфейс.service


Wi-Fi
Вбиваем:

# wifi-menu
Устанавливаем соединение, затем вбиваем:

# cd /etc/netctl # ls
Имя профиля будет начинаться на wlp.

Теперь вбиваем:

# netctl enable имя_профиля
и наслаждаемся автоматическим подключением.


Для справки: сейчас наша система занимает всего 1,5 гигабайта. Неплохо, да?

4. Установка графического окружения

На этом моменте у меня вылетел Parallels, в последствие отказавшийся запускать виртуальную машину, так что я был вынужден мигрировать на VirtualBox. Ничего не поменялось, кроме как таблица разделов на диске стала DOS.

Установим xorg (X Window Manager).

# pacman -S xorg xorg-xinit xorg-twm xterm
Если вам интересно, мы можем запустить окружение командой startx или xinit и посмотреть, что будет:

Это только «фундамент» нашел будущего всего.

Кстати, давайте сделаем пользователя для себя следующей командой и дальше будем работать через него с помощью sudo.

# useradd -m -g users -G wheel,games my_user
Настроим доступ к sudo для пользователей. Введем команду visudo, найдем закоментированную строку


Раскомментируем ее, нажмем esc, затем ":wq" и нажмем Enter. Теперь перейдем в наше окружение пользователя командой su my_user и далее будем работать из-под него.

Я буду использовать Plasma для работы, вы можете выбрать любой DE, который вам понравится.
Установлю его командой:

# sudo pacman -S plasma-desktop plasma-meta sddm # sudo pacman -S breeze-gtk breeze-kde4 kde-gtk-config # sudo pacman -S kde-applications networkmanager plasma-nm powerdevil
Последний будет устанавливаться очень долго (он скачает 700 мегабайт пакетов и установит примерно 2 гигабайта), так что можете отправится пить чай.

Важно

Если вам нужно легкое рабочее окружение, то установите lxde и lxdm.


После установки пропишем следующее:

# echo "exec startkde" > ~/.xinitrc # systemctl enable sddm # systemct disable dhcpcd # sudo reboot
После перезагрузки нам откроется окно входа SDDM, введя пароль попадем в наше рабочее окружение.

# systemctl enable NetworkManager # systemctl start NetworkManager
На этом все. The end.

Не так давно перешел на Арч, и доволен данной системой более, чем полностью. Для тех же, кто только решает устанавливать ли на свой компьютер Arch Linux, для начала поясню, что их ждет при переходе с других систем. В отличие от Ubuntu, Arch не имеет столь богатого содержания "жизненно необходимых" программ, которыми рядовой пользователь не то что не пользуется, но и даже не подозревает об их существовании в системе, а главное назначении. Здесь пользователю предоставлено право выбора, что устанавливать, а что нет.

Соответственно, в готовой системе не будет ничего лишнего, только то, что пользователь сам захочет. Если Вы привыкли к шрифтам в Ubuntu, то в любом другом дистрибутиве с ними придется немного повозиться, и Арч не исключение. По сравнению с Gentoo здесь отсутствует возможность использования USE-флагов, но многих это ничуть не разочаровывает, а что касается времени установки...

Дабы развеять миф о сложности и длительности установки Arch Linux, сразу скажу, что установка в первый раз может занять от полутора до двух-трех часов, если устанавливать по мануалу, осознавая каждую команду. В основном же на установку самой системы (голой) уходит до 20 минут, после чего устанавливается необходимая среда окружения (DE) и драйвера на видеокарту (все это около часа), и можно приступать к настройке внешнего вида системы, плюшек, установке дополнительного ПО и т.д. На последнее у новичка может уйти не один день, однако, система то будет в это время уже рабочей.

Обновления в Arch появляются если не в тот же день, то на следующий. В этом есть как свои плюсы, так и свои минусы: всегда свежее ПО не означает всегда стабильное. Однако, "уронить" систему обновлениями мне еще ни разу не удавалось.

Вот, в принципе, небольшое предисловие для тех, кто еще находится в раздумьях. А для тех, кто уже решился на установку Arch Linux, начнем;)

Подготовка к установке

Для установки нам понадобится установочный образ Arch Linux. Скачать его можно с соответствующей страницы официального сайта. Какой из образов качать, а также как и на что его записывать, я объяснять не буду, потому как если вы решились на установку этого дистрибутива, то соответствующие знания у вас уже должны иметься. Лично я выбрал образ "Core Image" и записал его на флешку с помощью dd.

Со встроенной в установщик программой разметки диска справляются не все, поэтому советую заранее подготовить разделы под систему, как это сделать уже описывалось в . Обычно выделяют разделы под корень / , swap, и по желанию под /home. Остальное редко выделяют в отдельные партиции.

Установочный образ у нас записан, жесткий диск для установки системы готов, перейдем к непосредственной загрузке и установке Arch Linux.

Загрузка с установочного образа

Загрузившись с диска (флешки) первым делом мы увидим окно выбора загрузки.

Выбираем "Boot Arch Linux", ждем окончания загрузки образа и вывода приглашения для ввода логина. Вводим логин root, для вызова установщика набираем команду

/arch/setup

На приветствие установщика отвечаем "ОК", и видим главное меню установщика, состоящее из 8 пунктов: Select Source (выбор источника установки), Set Clock (установки времени), Prepare Hard Disk(s) (подготовка жесткого диска), Select Packages (выбор пакетов для установки), Install Packages (установка выбранных пакетов), Configure System (конфигурация системы), Install Bootloader (установка загрузчика), Exit Install (выход из программы установки).

Переходим к первому пункту, выбираем источник установки: для CD/DVD или флеш - это первый вариант (cd), для установки по сети - второй (net). На предупреждение о том, что можно вручную подключить сторонние источники, отвечаем "ОК". Во втором пункте настраиваем область и временную зону, выставляем время и возвращаемся в меню, не буду подробно расписывать этот момент.

Следующим шагом нам предлагается подготовить жесткий диск для установки системы. Так как мы уже заранее подготовили все разделы, сразу выбираем третий вариант для создания точек монтирования

Так как я устанавливаю систему на виртуальную машину, то в примере у меня всего один раздел, который я выделяю под корень (/), у вас же разделов может быть больше. Выбираем нужный раздел и присваиваем ему соответствующую файловую систему, а также точку монтирования

Параметры, указанные на следующих двух картинках, можно оставить пустыми

Перед возвращением к главному меню может появиться предупреждение о том, что мы указали не все разделы: программа-установщик предлагает нам выделить в отдельный раздел /boot, а также создать swap. Если не желаем этого делать, просто игнорируем предупреждение и идем дальше

Мы подошли к выбору пакетов для установки. Установщик сразу информирует нас о том, что пакеты разделены на 2 части: base и base-devel. Если не хотим разбираться с каждым пакетом отдельно, просто заходим в base и пробелом выделяем для установки каждый пакет.

После выделения пакетов нам предлагается их установить, выбираем соответствующий пункт в меню. Процесс это небыстрый, о чем сразу предупреждает установщик. Наберитесь терпения и ожидайте окончания установки пакетов, нажимать при этом ничего не нужно.

После установки пакетов жмем "Continue", и переходим к самому страшному для новичков этапу - конфигурации системы. Для правки файлов лучше всего выбрать nano, если, конечно, вам не привычнее какой-либо другой редактор.

Настройка конфигурационных файлов

Самым главным конфигурационным файлом, пожалуй, является файл /etc/rc.conf, с него и начнем. Первый параметр, который нам нужно указать - это LOCALE. Нам нужна локаль ru_RU.UTF-8. Для этого переходим в другую виртуальную консоль (ALT+F2), логинимся под рутом (root), выполняем команду

Locale -a

Нужной нам локали нет, необходимо ее создать

Nano /etc/locale.gen

В данном файле нужно раскомментировать (убрать #) строку ru_RU.UTF-8 UTF-8 , и пересохранить файл (Ctrl+O, Enter, Ctrl+X). Теперь сгенерируем локали, выполним команду

Locale-gen

Мы должны увидеть нашу локаль в списке сгенерированных. Теперь переходим обратно к конфигурации rc.conf (Alt+F1), и в LOCALE вписываем значение ru_RU.UTF-8 .
HARDWARECLOCK - время мы уже настраивали во время установки, и здесь, если второй системой установлена Windows, ставим localtime . Иначе - UTC .
TIMEZONE - должно быть уже выставлено (Europe/Moscow), так как часовой пояс мы уже настраивали.
KEYMAP - пишем ru .
CONSOLEFONT - шрифт в консоли, пишем cyr-sun16 для поддержки кириллицы.
CONSOLEMAP - оставляем поле пустым.
USECOLOR - использовать цвет в консоли. По умолчанию стоит yes , не меняем.

MOD_AUTOLOAD - оставляем yes, чтобы автоматически проверялись и загружались необходимые модули.
MODULES - здесь указываются модули для загрузки. Пока оставляем пустым, данный параметр будет заполняться в процессе использования системы (установки программ и модулей).
USELVM - оставляем по умолчанию.

HOSTNAME - впишем сюда имя хоста, любое (например, сайт).
eth0 - По умолчанию - dhcp . Если используем статический IP адрес - закомментируем строку с "dhcp" и расскоментируем строку с адресом вида eth0="eth0 192.168.0.5 netmask 255.255.255.0 broadcast 192.168.1.255 . В данном случае, наш IP - 192.168.0.5.
INTERFACES - впишем сюда через пробел все сетевые интерфейсы (или те, что хотим использовать). Узнать их можно с помощью команды ifconfig -a (в соседней виртуальной консоли).
gateway - если используем статический IP - устанавливаем адрес шлюза (например, адрес нашего ADSL модема).
ROUTES - убираем восклицательный знак, если используем статический IP.

DAEMONS - пока оставляем как есть. Эти демоны будут загружаться при старте системы (если перед демоном поставить знак "@", то он будет загружаться в фоновом режиме, если знак "!", то демон не будет загружен).

Вот пример того, что должно получиться в итоге:

LOCALE="ru_RU.UTF-8"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Moscow"
KEYMAP="ru"
CONSOLEFONT="cyr-sun16"
CONSOLEMAP=
USECOLOR="yes"

MOD_AUTOLOAD="yes"
#MOD_BLACKLIST=() #deprecated
MODULES=()
USELVM="no"

HOSTNAME="сайт"

eth0="dhcp"
INTERFACES=(eth0)

gateway="default gw 192.168.0.1"
ROUTES=(!gateway)

DAEMONS=(syslog-ng network netfs crond)

Сохраняем изменения (Ctrl+O) и выходим (Ctrl+X).

/etc/fstab
Файл содержит сведения о дисках (разделах), cd/dvd, floppy и тп.
Пока можно оставить его без изменений.

/etc/mkinitcpio.conf
Файл для точной настройки начальной файловой системы. Оставляем как есть.
/etc/modprobe.d/modprobe.conf
Сообщает ядру, какие модули будут загружены для устройств и какие опции будут выставлены. Пока оставляем неизменным.

/etc/resolv.conf
Нуждается в правке только в том случае, если используется статический IP. Сюда следует вписать DNS сервера, которые используются. Если используется роутер (или adsl модем), где DNS сервера уже указаны - вписываем сюда IP роутера (который указывали в rc.conf). Пример:

#IP роутера
nameserver 192.168.0.1
#DNS
nameserver 212.96.96.38
nameserver 212.96.104.129

/etc/hosts
Создает соответствие между IP адресом, именем и псевдонимом какого либо хоста. Оставляем без изменений.

/etc/hosts.allow и /etc/hosts/deny
Если не планируется ssh демон - оставляем без изменений.

/etc/locale.gen
С локалями мы уже разобрались, редактируя rc.conf.

/etc/pacman.conf
Файл настройки пакетного менеджера pacman. Возможно, вы захотите раскомментировать репозиторий или добавить другие репозитории.
Вот небольшой пример (последняя секция REPOSITORIES):

# Раскомментируйте, для возможности получения пакетов из testing
# репозитория
#
#



Include = /etc/pacman.d/mirrorlist


# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist


# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
# Include = /etc/pacman.d/community

/etc/pacman.d/mirrorlist
Список зеркал пакетного менеджера. Вот пример:

# Russia
Server = ftp://mirror.yandex.ru/archlinux/$repo/os/i686
Server = http://mirror.yandex.ru/archlinux/$repo/os/i686
Server = http://archlinux.freeside.ru/$repo/os/i686
Server = ftp://mirror.svk.su/archlinux/$repo/os/i686
Server = http://mirror.svk.ru/archlinux/$repo/os/i686
#
Server = http://repo.archlinux.fr/i686
Server = ftp://ftp.archlinux.org/community/os/i686

На этом настройка конфигурационных файлов закончена, обязательно задаем Root-Password, и выходим, нажимая "Done" в конце списка. Ждем окончания работы конфигуратора, переходим к установке загрузчика.

Нам предлагается либо установить GRUB, либо не устанавливать загрузчик совсем. Естественно, устанавливать будем, выбираем соответствующий пункт меню. Теперь нам предлагается проверить конфигурационный файл загрузчика, и при неообходимости подправить его. Можно оставить все как есть, а если используется второй системой Windows, то достаточно просто раскомментировать последние строчки в файле:

title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1

Выбором цветов для отображения и таймаутом задержки займемся позже, если будет нужно, сейчас это не принципиально. Сохраняем изменения, выходим из редактора, выбираем установку загрузчика в /dev/sda . Ждем сообщения об успешной установке загрузчика, завершаем установку системы выбором "Exit Install" в главном меню, пишем в консоли reboot. Все, система установлена, но пока она "голая", в ней нет ни пользователей, ни драйверов, ни графической оболочки.

Первая проба

Перезагружаемся, вынимаем диск (флешку), загружаем уже установленную систему с жесткого диска. Система требует представиться, вводим логин root и пароль, заданный нами во время установки.

Теперь сделаем полное обновление системы:

Pacman -Syu

Если обновление не выполнено, копаем в сторону /etc/pacman.d/mirrorlist , скорее всего, забыли раскомментировать зеркала из секций Any и Russian. Если же обновление запустилось, скорее всего, потребуется сперва обновить пакетный менеджер pacman, о чем система сама и попросит.

Так как недавно вышла новая версия pacman, то теперь требуется сделать конвертацию базы командой

Pacman-db-upgrade

Снова запускаем обновление системы, соглашаясь с установкой и заменой пакетов

Pacman -Syu

Обновление выполнили, теперь неплохо бы и пользователя отдельного создать, не все же под рутом работать. Пишем

Adduser

Система запросит логин для нового пользователя, задаем его.
User ID - пропускаем, ID будет присвоен автоматически.
Initial group - основная группа пользователя, оставляем users.
Additional groups - дополнительные группы для пользователя. audio - если будем использовать звуковую систему; storage - управление flash-накопителями и пр.; video - для видео и 3d; wheel - использование sudo; lp - управление печатью. Пишем: audio, storage, video, wheel, lp .
Home directory - домашняя директория, оставляем по-умолчанию (=имя пользователя).
Shell - командная оболочка, оставляем bash.
Expire date - дата, до которой пользователь будет активен. Оставляем пустым.
Жмем Enter - аккаунт создан.

Настройка "Иксов"

Теперь настроим "иксы", установим xorg и пакет mesa:

pacman -Sy xorg
pacman -S mesa

Далее необходимо установить драйвера на видеокарту. Тут уже вам придется прибегнуть к гуглу, ибо расписывать это здесь для каждой видеокарты не имеет смысла. Позже, возможно, напишу отдельные статьи по установке различных драйверов.

После установки драйвера видеокарты выполните

Xorg -configure

Перейдем к редактированию xorg.conf (под рутом):

Nano /root/xorg.conf.new

Проверяем, правильно ли определился драйвер видеокарты. Привожу пример своего xorg.conf (его копировать не нужно! Не факт, что у вас такое же железо).
Если все ОК, копируем свой xorg.conf в рабочую директорию:

Cp /root/xorg.conf.new /etc/X11/xorg.conf

Установка DE

Здесь приведу примеры установки GNOME и XFCE (ставьте на свой вкус).

Для установки GNOME пишем

pacman -S gnome
pacman -S gnome-extra

Для установки XFCE пишем

Pacman -S xfce4 xfce4-goodies dbus gnome-icon-theme

Запускаем необходимые демоны

/etc/rc.d/hal start
/etc/rc.d/fam start

Добавим их в секцию DAEMONS в /etc/rc.conf . Пример: DAEMONS=(@syslog-ng @network hal fam @netfs @crond alsa)

Su username

Создаем файл.xinitrc для запуска DE

Nano ~/.xinitrc

Вписываем в него (для GNOME)

Exec ck-launch-session gnome-session

или (для XFCE)

Exec startxfce4

После этого можно запускать "иксы"

Настройка системы

Для удобства сразу установим yaourt для работы с пользовательским репозиторием AUR. Подключим содержащий yaourt репозиторий. Открываем

Nano /etc/pacman.conf

в конец добавляем (для x86)


Server = http://repo.archlinux.fr/i686
или (для x86_64)


Server = http://repo.archlinux.fr/x86_64

и ставим сам пакет

Pacman -Sy yaourt

Для настройки звука ставим

Pacman -S alsa-utils

настраиваем, выполняя под рутом

Alsamixer

Сохраняем настройки микшера командой

Alsactl store

Про установку различных дисплейных менеджеров рассказывать в данной статье я не буду, но вы можете сами выбрать, что установить: gdm, xdm, kdm, slim и т.д.

Вот, в принципе, и все. У нас установлена практически голая система. Что сделать из нее дальше - решать вам, я лишь попытался описать процесс установки и первоначальной настройки системы. Получилось не так коротко, как я планировал, но поверьте, устанавливается Арч намного проще, чем кажется на первый взгляд. Если будут вопросы, задавайте в комментариях к статье, попробуем разобраться вместе.