Установка archlinux. Установка и первоначальная настройка ArchLinux. Установка базовой системы Arch
Когда пользуешься другими сборками 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 дистрибутив, который очен простой и гибкий в обслуживании с поддерживающей архитектурой i686 и x86-64 созданный Джаддом Винетом. Данный дистрибутив включает в себе, все последние стабильные версии ПО. Арчи не подойдет для новичка и рассчитан на опытного юзверя. Процесс установки arch linux выполняется по сети, по этому, он имеет самое актуальное ПО которое выгрузили разработчики в интернет. Все действия по установки вы выполняете сами в консоле (нет графического интерфейса с установкой, и вместо его, используется набор сприптов -Arch Install Scripts). По этому, данный дистрибутив, немного похож на Slackware, но в последней версии — имеется контроль зависимостей для пакетов и которой облегчает жизнь. Все бинарники для арчи, собираются для i686 и x86-64 архитектур и обеспечивают большую производительность (но существуют бинарники и для других архитектур, для примера — PowerPC).
Документация имеется в большом виде, которая поддерживается розрабами дистра и сообществом. Графический интерфейс отсутствует, но вы можете использовать (установить сами) — GNOME, KDE, XFCE и может другие.
Arch линукс — это «from scratch» дистрибутив — который не основан на другом дистрибутиве. На его вдохновение, сподвиг CRUX и что он основан на нем — ОШИБОЧНО! На арче основаны — ArchBang, Arch Hurd, Chakra, ConnochaetOS, linuX-gamers, Manjaro и другие.
Установка Arch Linux
Первое что нужно сделать, — это пойти на официальный сайт и выкачать дистрибутив. Я уже скачал его, по этому, идем далее. Я буду использовать виртуальную машину (VMware) для своей установки. Это не столь важно, можете использовать ваш ноутбук или ПК, но для этого прийдется записать загрузочный диск или флешку.
Для моих тестов, я выделил Arch Linux следующие параметры:
- 2 — Процессора
- 2048 — RAM
- 15 Гб — диск
Думаю таких параметров хватит. И так, запускаю свою машину:
Выбираем 1-ю строку — «Boot Arch Linux (x86_64)» и нажимаем «enter». Это позволит загрузить командную строку и выполнить дальнейшие шаги по установки данного дистрибутива. Это моя первая установка и по этому, я постараюсь расписать как можно больше.
В корне директории, лежит install.txt файл, можно прочитать установку:
# cat install.txt| less
Перед тем как начать установку, проверяем, есть ли подключение к интернету:
# ping ya.ru
Если все хорошо, вы получите пинг.
Обновим системные часы:
# timedatectl set-ntp true
Чтобы проверить статус, выполните:
# timedatectl status
Разбиение диска для установки arch linux
Чтобы идентифицировать блочные устройства (таким как /dev/sda), используйте lsblk или fdisk — результаты, заканчивающиеся на rom, loop или airoot, могут игнорироваться:
# fdisk -l
У меня имеется такой вывод:
Как и ожидалось, у меня имеется 15 Гб. И сейчас нужно его разбить на разделы.
PS: Вот полезное чтиво по данной теме:
Если хотите использовать LVM или RAID, то можно сделать и это — все в ваших руках. В арче, используется parted, я создам разделы именно с помощью его.
Запускаем parted:
# parted /dev/sda
Я приведу разметку для нескольких типов:
- BIOS/MBR
- UEFI/GPT
Чтобы создать раздел, используйте команду вида:
(parted) mkpart part-type fs-type start end
- part-type — Данный аргумент принимает значение: primary (первичный), extended (расширенный) или logical (логический).
- fs-type — Данный аргумент принимает значение: ext2, ext3, ext4 и другие чтобы задать тип ОС.
- start- Данный аргумент принимает значение которое задает начало позиции (создаваемого раздела) относительно 0-го байта. Можно задавать в байтах, но лучше всего (так проще) указывать — 100M/1G.
- end -Данный аргумент принимает значение которое задает конец позиции (создаваемого раздела) относительно 0-го байта. Можно задавать в байтах, но лучше всего (так проще) указывать — 100M/1G, 100%.
Примеры для BIOS/MBR
Если вы хотите использовать MBR разметку для систем с BIOS, то выполните команду:
(parted) mklabel msdos
И так, для того чтобы создать 1 раздел и который будет занимать все пространство (и так же, будет использоваться для загрузки ОС), выполните:
(parted) mkpart primary ext4 2M 100% (parted) set 1 boot on
Можно создать корневой раздел, предположим на 15Gb но вынести домашнюю директорию (/home) на отдельный раздел, используйте:
(parted) mkpart primary ext4 1M 15G (parted) set 1 boot on (parted) mkpart primary ext4 15G 100%
Можно создать /boot раздел, которому выделить 100Mb для загрузки загрузчика, так же — создать swap, который будет 2 Гб. Так же, под /root раздел, я выделил 8Гб а все остальное — будет для /home раздела:
(parted) mkpart primary ext4 1M 100M (parted) set 1 boot on (parted) mkpart primary linux-swap 100M 2.1G (parted) mkpart primary ext4 2.1G 8.1G (parted) mkpart primary ext4 8.1G 100%
Я выбрал последний вариант:
Не очень сложные операции.
Примеры для UEFI/GPT
Если вы хотите использовать GPT разметку для систем с UEFI, то выполните команду:
(parted) mklabel gpt
PS: Если вы используете UEFI/GPT для 2-й (допустим, уже установлена Windows ОС), то запомните — ЧТО НЕЛЬЗЯ УДАЛЯТЬ УЖЕ ИМЕЮЩИЙСЯ UEFI РАЗДЕЛ!. Иначе, больше не запустите Windows.
И так, для того чтобы создать 1 раздел и который будет занимать 100Мб, выполните:
(parted) mkpart ESP fat32 1M 100M (parted) set 1 boot on
А для остального, я выделю еще 1 раздел который заполню всем оставшимся местом:
(parted) mkpart primary ext4 100M 100%
Допустим, нужно создать было не все место, а только его часть. Например, под сам корень, я выделю 50.5Гб, а для домашней папки — остальное имеющееся:
(parted) mkpart primary ext4 100M 50.5G (parted) mkpart primary ext4 50.5G 100%
Иногда, нужно создать swap, а выполнить это можно:
(parted) mkpart primary ext4 100M 50.5G (parted) mkpart primary linux-swap 50.5G 8.5G (parted) mkpart primary ext4 58.5G 100%
В последнем примере, я создал 3 раздела (не включая раздела с загрузкой).
Установка АРЧА
Смотрим какие разделы имеются:
# fdisk -l
У меня это выглядит следующим образом:
Отформатируем созданные разделы:
# mkfs.ext4 /dev/sda1 -L boot # mkfs.ext4 /dev/sda3 -L root # mkfs.ext4 /dev/sda4 -L home # mkswap /dev/sda2 -L swap
Ну а сейчас, монтируем файловую систему (ФС):
# mount /dev/sda3 /mnt
Создаем точки монтирования для любых оставшихся разделов:
# mkdir /mnt/{home,boot}
Монтируем их:
# mount /dev/sda1 /mnt/boot # mount /dev/sda4 /mnt/home
Т.к у меня имеется свап, то его нужно подключить:
# swapon /dev/sda2
Позже genfstab обнаружит смонтированные файловые системы и swap.
Уже почти готово и можно выполнять установку пакетов и чтобы они устанавливались быстрей, необходимо прописать (выбрать) ближайшее зеркало и прописать его:
# vi /etc/pacman.d/mirrorlist
PS: Я ничего не менял и не добавлял, буду использовать все стандартное.
Установим пакеты:
# pacstrap -i /mnt base base-devel
Установка займет некоторое время. Данное действие, загрузит около 250 мб пакетов и установит их.
Создайте файл fstab (используйте -U или -L, чтобы определить UUID или lables, соответственно):
# genfstab -U /mnt >> /mnt/etc/fstab
Чтобы проверить, используем следующую команду:
# cat /mnt/etc/fstab
Если имеются какие-либо ошибки, отредактируйте его.
Перейдем в установленную ОС:
# arch-chroot /mnt
# arch-chroot /mnt /bin/bash
Установка часового пояса:
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
- Region — ваш регион.
- City — ваш город.
У меня данная команда, выглядела:
# ln -sf /usr/share/zoneinfo/Europe/Zaporozhue /etc/localtime
Запустите hwclock для генерации /etc/adjtime:
# vi /etc/locale.gen
И добавляем:
En_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
Установите переменную LANG:
# vi /etc/locale.conf
И вставляем:
#LANG=en_US.UTF-8 LANG=ru_RU.UTF-8 LC_MESSAGES=ru_RU.UTF-8
Если вы установили раскладку клавиатуры, сделайте изменения:
# vi /etc/vconsole.conf
Например:
LOCALE="ru_RU.UTF-8" KEYMAP="ru" HARDWARECLOCK="UTC" TIMEZONE="Europe/Zaporozhue" FONT="cyr-sun16" CONSOLEFONT="cyr-sun16" CONSOLEMAP=""
И, создайте их с помощью:
# locale-gen
Добавим hostname:
Заходим под root и изменяем следующие данные в системе на свои.
Пропишем имя компьютера (для примера возьму — arch-linux):
# hostnamectl set-hostname arch-linux
Так же, можно прописать в хостах:
# vi /etc/hosts
И прописываем:
127.0.0.1 localhost.localdomain localhost::1 localhost.localdomain localhost
PS: я тут ничего не буду менять, оставлю пока что как есть.
Установим пароль для рута:
# passwd
Установка загрузчика Grub
Установим загрузчик для BIOS:
# pacman -S grub-bios
$ grub-install /dev/sda
И создаем конфигурационный файл:
$ grub-mkconfig -o /boot/grub/grub.cfg
Установим загрузчик для EFI:
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
Вам понадобиться обычный пользователь для работы в системе. Для его создания выполните:
$ useradd -m -g users -G wheel -s /bin/bash captain
Теперь создадим пароль для этого пользователя:
$ passwd captain
Вводим 2 раза свой пароль.
В некоторых статьях, нужно выполнить демонтирование папок. Я бы не стал этого делать, из-за одной причины — после рестарта ОС, все это и так выполнится.
После чего, выполняем:
# exit && reboot
После перезагрузки, пропала сеть. Сейчас нужно исправить все это дело.
По дефолту, в арче не имеется утилиты ifconfig, но ничего страшного — имеется ip, и сейчас воспользуемся ею. Для начала, просмотрим что имеется в ОС:
# ip addr
Чтобы просмотреть что открыто (я за соединения), можно заюзать:
# ss -tuwpln
и так, когда узнали интерфейс, открываем:
# vim /etc/systemd/network/ethernet.network
Пропишем, использование DHCP:
Name=ens32 DHCP=yes
Включим использование сети:
# systemctl enable systemd-networkd # systemctl start systemd-networkd # systemctl status systemd-networkd
# systemctl enable dhcpcd # systemctl start dhcpcd
Для просмотра логов, используйте:
# journalctl -u systemd-networkd
проверяем пинг, если он пойдет, то все гуд).
Поставим софт:
$ pacman -S dnsutils net-tools vim
В новой установочной среде по умолчанию не активировано сетевое подключение. Для настройки беспроводной сети установите пакеты:
# pacman -S wpa_supplicant dialog
Создание нового initramfs обычно не требуется, поскольку mkinitcpio запускался при установке пакета linux с pacstrap.
Для специальных конфигураций измените:
# vim /etc/mkinitcpio.conf
И заново создайте образ initramfs:
# mkinitcpio -p linux
Устанавливаем sudo:
# pacman -S sudo
Чтобы настроить, выполняем:
# visudo
Находим строку:
# %wheel ALL=(ALL) ALL
Приводим к виду:
%wheel ALL=(ALL) ALL
Как-то так.
Установка графической среды (GUI) для Arch Linux
И так, ОС уже имеется, но без графического режима (GUI) и сейчас я, это исправлю….
Обновим пакеты в ОС:
# pacman -Syy && pacman -Su
Для графического окружения, я установлю KDE 5 plasma. Я описывал установку в теме:
По установке других GUI я расскажу немного позже.
А на этом, у меня все. Статья «Установка Arch Linux» завершена.
Для начала я хотел бы ответить на стандартный вопрос всех тех, кто ни разу не встречался с данным дистрибутивом: «Зачем?». Действительно, зачем нужен 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», вводим желаемое значение типа РАЗМЕР
Нажимаем кнопку 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 в качестве десктопа
Вот и добрался я наконец-то до 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
|