Установка и первичная настройка Arch linux xfce

in #linux7 years ago

Geek Notes - Roman Bogachev

На главную Архив Теги Музыка Галерея Услуги хостинга

Поиск

Установка и первоначальная настройка ArchLinux

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

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

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

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

sudo dd if=archlinux-2016.01.01-dual.iso of=/dev/disk1
После записи образа необходимо загрузиться с USB-накопителя (настройки в BIOS или EFI).

Установка Arch

В меню загрузки выбираем архитектуру и ждём пока система загрузится.

image

Локализация

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

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

setfont cyr-sun16
Добавим русскую локаль в систему установки:

В файле /etc/locale.gen раскоментируем строку #ru_RU.UTF-8 UTF-8

nano /etc/locale.gen
Обновим текущую локаль системы:

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)
Создаем пустую таблицу разделов

Command (m for help): o ↵
Создаем 1 раздел (boot)

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (1-3, default 1): ↵
First sector: ↵
Last sector: +512M ↵
Создаем 2 раздел (swap)

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2-3, default 2): ↵
First sector: ↵
Last sector: +16G ↵
Command (m for help): t ↵
Partition number (1,2, default 2): ↵
Hex code (type L to list all codes): 82 ↵
Создаем основной раздел

Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2,3, default 3): ↵
First sector: ↵
Last sector: ↵
Добавляем флаг загрузки для первого раздела:

Command (m for help): a ↵
Partition number (3,4, default 1): 1 ↵
Проверяем таблицу разделов ключиком p, и записываем w.

Форматирование разделов

Форматируем /boot раздел в FAT32:
Также мы будем использовать метки для удобства.

mkfs.vfat -F32 /dev/sdX1
Для раздела подкачки (swap):

mkswap /dev/sdX2 -L swap
Форматируем корень в ext4:

mkfs.ext4 /dev/sdX3 -L root
Если решили использовать LVM - этот подраздел для вас, для прочих читаем дальше

(1) 512Mb под /boot; (dev/sdX1)
(2) FREE_SPACE под корень; (dev/sdX2)
Форматируем /boot раздел в FAT32:

mkfs.vfat -F32 /dev/sdX1
Для корневого раздела используем зашифрованный LVM:

cryptsetup -c aes-xts-plain64 -y --use-random luksFormat /dev/sdX2
cryptsetup luksOpen /dev/sdX2 luks
Создаем разделы:

pvcreate /dev/mapper/luks
vgcreate vg0 /dev/mapper/luks
lvcreate --size 16G vg0 --name swap
lvcreate -l +100%FREE vg0 --name root
Задаем формат для созданных разделов:

mkfs.ext4 /dev/mapper/vg0-root
mkswap /dev/mapper/vg0-swap
Монтируем разделы:

mount /dev/mapper/vg0-root /mnt
swapon /dev/mapper/vg0-swap
mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot
Монтирование разделов (продолжение)

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

mount /dev/sda3 /mnt
Создадим каталог для монтирования boot раздела:

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

mount /dev/sda1 /mnt/boot
Подключим swap

swapon /dev/sda2
Выбираем зеркало для pacman

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

nano /etc/pacman.d/mirrorlist
И впишем эту строку вверх:

Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
Установка пакетов

Установим базовые пакеты системы.
Дополнительно сюда можем включить необходимые пакеты для установки.

pacstrap -i /mnt base base-devel grub zsh vim git
После выполнения команды и выбора всех пакетов загрузятся последние версии необходимых пакетов.

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

pacstrap -i /mnt netctl dialog wpa_supplicant
Установка пакета GRUB в систему

arch-chroot /mnt pacman -S grub
Если используется EFI, то установим efibootmgr:

arch-chroot /mnt pacman -S efibootmgr grub-efi-x86_64
Если устанавливаем 32-х битную систему, то используем пакет grub-efi-i386.

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

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

genfstab -p /mnt >> /mnt/etc/fstab
И добавим в файл запись для временного файлового хранилища tmpfs (Предназначена для монтирования файловой системы, но размещается в ОЗУ вместо физического диска. Подобная конструкция является RAM диском.):

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Перейдём в установленную систему

arch-chroot /mnt /bin/bash
Добавим русскую локаль в систему

В файле /etc/locale.gen раскомментируем строку #en_US.UTF-8 UTF-8 и строку #ru_RU.UTF-8 UTF-8

nano /etc/locale.gen
Обновим текущую локаль системы

locale-gen
Настроим часы

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc --utc
Зададим хостнейм

echo MYHOSTNAME > /etc/hostname
Изменим пароль root

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

useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash MYUSERNAME
passwd MYUSERNAME
Если планируется использовать zsh, то заменим /bin/bash на /bin/zsh
Если терзают сомнения на этот счет, то почитать подробнее можно на хабре.

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

В /etc/mkinitcpio.conf, в разделе HOOKS, должен быть прописан хук keymap.
В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia.

Если производили установку LVM с шифрованием, то также добавим ext4 в MODULES и encrypt и lvm2 в HOOKS до filesystems.

Создадим загрузочный RAM диск

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

grub-install /dev/sda
Если действовали по мануаула с LVM и шифрованием, то необходимо отредактировать строчку GRUB_CMDLINE_LINUX в файле /etc/default/grub:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX2:luks:allow-discards"
grub-mkconfig -o /boot/grub/grub.cfg
Установим загрузчик (для EFI)

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
Обновим grub.cfg

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

В случае если посыпятся ошибки вида “failed to connect to lvmetad arch”, можно сильно не пугаться, работать все будет, но для достижения полного дзена я попробую найти решение позже.

Выйдем из установленной системы:

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

umount -R /mnt
И перезагрузим систему.

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

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

Изменим хостнейм

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.

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

mkinitcpio -p linux
Обновим grub.cfg (для локализации):

grub-mkconfig -o /boot/grub/grub.cfg
Настроим pacman (только для x86_64):

nano /etc/pacman.conf
Для работы 32-битных приложений в 64-битной системе необходимо раскомментировать репозиторий multilib:

[multilib]
Include = /etc/pacman.d/mirrorlist
Отключаем IPv6

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

net.ipv6.conf.all.disable_ipv6 = 1
Добавим пользователя (если это не было выполнено ранее) и сразу поместим его в необходимые нам группы:

useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash myusername
Установим ему пароль

passwd myusername
Изменим ему информацию GECOS

chfn myusername
Настройка сети

Для проводной сети

Добавим службу в автозапуск:

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

systemctl start dhcpcd
Для беспроводной сети

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

pacman -Syy
Обновим все пакеты:

pacman -Su
Поставим и настроим sudo

pacman -S sudo
В файле /etc/sudoers раскомментируем строку # %wheel ALL=(ALL) ALL
Теперь мы можем использовать sudo для выполнения команд администратора.
Теперь выйдем из root пользователя с помощью команды exit и авторизуемся под пользователем, которого создали.

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

Установим Х (иксы)

sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xterm
(если используется тачпад или тачскрин, то установим xf86-input-synaptics)

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

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

Intel:

sudo pacman -S xf86-video-intel lib32-intel-dri
Nvidia:

sudo pacman -S xf86-video-nouveau lib32-nouveau-dri
AMD:

sudo pacman -S xf86-video-ati lib32-ati-dri
Если вы устанавливаете систему на виртуальную машину:

sudo pacman -S xf86-video-vesa
Xfce + SDDM

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

sudo pacman -S xfce4 xfce4-goodies sddm
Добавим SDDM в демоны

sudo systemctl enable sddm.service
Шрифты

Рекомендую установить следующие шрифты:

sudo pacman -S ttf-liberation ttf-dejavu opendesktop-fonts ttf-bitstream-vera ttf-arphic-ukai ttf-arphic-uming ttf-hanazono
Теперь можно перезагрузить систему командой

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

sudo pacman -S os-prober
Браузеры:

sudo pacman -S firefox firefox-i18n-ru chromium opera
Мессенджеры:

sudo pacman -S pidgin skype
Торрент-клиент:

sudo pacman -S transmission-gtk transmission-cli
Графика:

sudo pacman -S gimp pinta gpicview djview4
Офис:

sudo pacman -S libreoffice libreoffice-ru
Мультимедиа:

sudo pacman -S audacity deadbeef smplayer
FTP-клиент:

sudo pacman -S filezilla
Разработка:

sudo pacman -S geany apache mariadb phpmyadmin php php-apache php-pgsql php-sqlite php-mcrypt php-gd
Система:

sudo pacman -S gparted unetbootin
Инструменты:

sudo pacman -S p7zip unrar
Игры:

sudo pacman -S steam mari0
Мышь в терминале

Иногда приходится работать в терминале, а не его эмуляторе. И с некоторыми программами, например Midnight Commander, там будет удобнее работать с мышью. Чтобы использовать мышь в терминале достаточно установить пакет gpm.

sudo pacman -S gpm
Автодополнение

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

sudo pacman -S bash-completion

Sort:  

Congratulations @genius1oci! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!