Полтора года с Arch Linux

Вот уже полтора года как основная ось - Arch Linux. За это время много всякого произошло внутри дистрибутива и сообщества, всего и не упомнишь:

  • навели порядок в корне: мигрировали /bin и /sbin в /usr/bin, мигрировали /lib в /usr/lib
  • на смену netcfg пришел netctl (сетевой конфигуратор)
  • mysql заменили на mariadb в основном репозитории, mysql переехал в AUR
  • сменили sysv на systemd
  • на смену grub пришел grub2, который был переписан с нуля
  • сменили установщик, теперь все от начала до конца делается вручную

Несмотря на все эти коренные изменения дистрибутив хуже не стал, а даже наоборот. При первом переезде на Arch Linux настораживал rolling release и многие ругали типа за нестабильность и частые вылиты. У меня за все это время система ни разу не была переустановлена ни на одном из доступных ПК (3 шт.), все выше перечисленные обновления проходили без сучка и задоринки. Процесс обновления всегда был заранее описан с конкретными решениями на основном сайте или на форумах.

Я помню как с Ubuntu мне приходилось через один релиз переустанавливать с нуля (примерно такая закономерность была), т.к. upgrade проходил не всегда гладко, а решение проблемы появлялось через 3-4 дня, а за этот промежуток нужна была рабочая машина.

Я забыл уже что для установки свежего софта надо искать ppa или отдельно скачивать deb-файлы, в арче все новое есть либо в основных репозиториях или в AUR (пользовательские репозитории).

Оборачиваясь назад, могу точно сказать система обновлений положенная в основу archlinux работает лучше чем у ubuntu (сравнивая декстопные варианты).

Ниже приведу пример установки 64-битного Arch Linux + XFCE.

Для начала надо скачать iso-образ на Arch Linux Downloads.

Запишем образ на флешку и загрузимся с неё

dd if=archlinux.iso of=/dev/sdX bs=1M

Настроим WiFi. Узнаем интерфейс

iw dev

Подключимся к сети

wifi-menu <интерфейс>

Проверим

ping -c3 ya.ru

Создадим разделы. Рекомендуемая разметка

  • 100 MB + boot flag для /boot, файловая система - etx2
  • RAM + 1 GB для swap (если RAM <= 2, иначе swap по востребованности)
  • 20 GB для root, файловая система - ext4
  • Остальное под /home, файловая система - ext4
cfdisk /dev/sda

Проверим разметку

lsblk /dev/sda

Создадим файловые системы на разделах

mkfs.ext2 /dev/sda1 -L boot
mkfs.ext4 /dev/sda3 -L root
mkfs.ext4 /dev/sda4 -L home
mkswap /dev/sda2 -L swap

Примонтируем root в /mnt

mount /dev/sda3 /mnt

Создадим директории для других разделов и примонтируем их

mkdir -p /mnt/{boot,home}
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home

Подключим swap

swapon /dev/sda2

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

# nano /etc/pacman.d/mirrorlist
Server = http://mirror.rol.ru/archlinux/$repo/os/$arch

Для закрытия nano нажмите Ctrl + X и согласитесь на изменения.

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

pacstrap -i /mnt base base-devel

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

genfstab -p /mnt >> /mnt/etc/fstab

Проверим fstab

cat /mnt/etc/fstab

Chroot'нимся в установленную систему

arch-chroot /mnt

Настроим локаль, раскомментировав ниже приведенные строки в /etc/locale.gen

# nano /etc/locale.gen

en_US.UTF-8 UTF-8

# или ru_RU.UTF-8 UTF-8 для русской локали

Сгенерируем необходимые файлы

locale-gen
export LANG=en_US.UTF-8

Добавим в /etc/locale.conf следующие строки

# nano /etc/locale.conf

LANG=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_COLLATE=C

Настроем временную зону. Список всех зон можно узнать так

ls /usr/share/zoneinfo/

Укажем временную зону

ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime

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

hwclock --systohc --utc

Настроим репозитории. Включим multilib для 64-битной системы.

# nano /etc/pacman.conf

[multilib]
Include = /etc/pacman.d/mirrorlist

Обновим репозитории

pacman -Sy
pacman -S netctl zsh iw dialog wpa_supplicant vim

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

passwd

Создадим нового пользователя и сменим для него shell на zsh

useradd -m -g users -G wheel,storage,power -s /usr/bin/zsh proft
passwd proft

Разрешим пользователям из группы wheel выполнять административные задачи, для этого надо раскомментировать ниже приведенную строку

# visudo

%wheel ALL=(ALL) ALL

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

pacman -S grub-bios
grub-install --target=i386-pc --recheck /dev/sda
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
grub-mkconfig -o /boot/grub/grub.cfg

Система почти готова осталось устоновить графическую оболочку и драйвера для видеокарточки.

Выйдем из chroot-окружения

exit

Размонтируем root, home и перезагрузимся

umount /mnt/{home,boot}
umount /mnt
reboot

Залогинемся созданным пользователем, в моем случаи proft.

Изменим имя компьютера(замените myhostname на своё):

hostnamectl set-hostname myhostname

Настройка сети. Для проводной сети (<interface> замените на свой, свой можно узнать с помощью ip link)

sudo systemctl enable dhcpcd@<interface>.service

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

sudo wifi-menu

WiFi интерфейс и его статус

iw dev

Если WiFi-интерфейс не поднят то

sudo ip link set wlp2s0 up

Настроем профиль для WiFi-сети

sudo cp /etc/netctl/examples/wireless-wpa /etc/netctl/wlan
sudo vim /etc/netctl/wlan

Запустим настроенный профиль

sudo netctl start wlan
sudo netctl enable wlan

Сменим стандартное ядро на ck. Для этого добавим в /etc/pacman.conf следующие строки

# sudo vim /etc/pacman.conf
[repo-ck]
Server = http://repo-ck.com/$arch

Обновимся с помощью

sudo pacman -Syy

Посмотрим доступные ядра

pacman -Sl repo-ck

У меня процессор Intel ATOM и видео от nVidia. Установим нужную сборку ядра и nVidia-драйверов

sudo pacman -S linux-ck-atom nvidia-ck-atom

Сменим планировщик I/O на BFQ.

# sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX="elevator=bfq"

Обновим GRUB.

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

Установим X.

sudo pacman -S xorg-server xorg-xinit xorg-server-utils

Если есть тачпад

pacman -S xf86-input-synaptics

Добавим в pacman.conf репозиторий с yaourt (утилита для работы с AUR)

# vim /etc/pacman.conf

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Установим yaourt

sudo pacman -Syu yaourt

Установим графическое окружение XFCE и менеджер входа SLIM.

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

Добавим строку exec startxfce4 в файл ~/.xinitrc.

Добавим SLIM в демоны

sudo systemctl enable slim.service

Изменим тему менеджера входа в стиле Arch Linux. В файле /etc/slim.conf изменим строку current_theme default на current_theme archlinux-simplyblack.

Добавим новые раскладки для клавиатуры.

# sudo vim /etc/X11/xorg.conf.d/10-evdev.conf:
# в раздел для клавиатуры добавим

Option "XkbLayout" "us,ru,ua"
Option "XkbVariant" ",winkeys"

Установим дополнительные шрифты.

yaourt -S ttf-dejavu ttf-bitstream-vera ttf-ms-fonts terminus-font ttf-ubuntu-font-family ttf-liberation

Установим скринсервер.

yaourt -S xscreensaver-arch-logo

Украшательства: темы, иконки, курсоры.

sudo pacman -S faenza-icon-theme faenza-xfce-addon xcursor-human xfce-theme-greybird-git

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

sudo systemctl reboot

Проверим I/O планировщик задач

cat /sys/block/sda/queue/scheduler
noop [bfq]

# или так
dmesg  | grep scheduler

Установим браузеры

sudo pacman -S firefox chromium midori

Установим мессенджеры

sudo pacman -S pidgin skype

Установим торрент-клиент

sudo pacman -S transmission-gtk

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

sudo pacman -S gimp ristretto evince

Установим Libre Office

yaourt libreoffice libreoffice-ru libreoffice-flat-icon-set

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

sudo pacman -S audacious  smplayer smplayer-themes volumeicon

Установим nemo, file-roller и dropbox

yaourt -S --noconfirm dropbox nemo nemo-dropbox-git nemo-share-git file-roller nemo-fileroller

Решение некоторых проблем

Иногда закладки (bookmarks) установленные в Nemo не отображаются в других приложениях, для исправления надо

rm ~/.gtk-bookmarks
ln -s ~/.config/gtk-3.0/bookmarks ~/.gtk-bookmarks

Иногда может не хватать ключа для какого-то репозитория, что не позволит установить софт из этого репозитория. Например может быть такая ошибка: error: linux-ck-atom: signature from "graysky (used to sign repo-ck packages) <graysky@archlinux.us>" is unknown trust. Исправление

pacman-key --lsign-key 5EE46C4C

Мне не нравится pulseaudio поэтому я его удаляю так yaourt -Rdd pulseaudio pulseaudio-alsa, но после удаления выводиться следующий текст

missing 'pulseaudio' dependency for 'gnome-settings-daemon'
missing 'pulseaudio-alsa' dependency for 'gnome-settings-daemon'

и так после каждого обновления репозиториев. Что бы исправить это создадим заглушку с этими пакетами и установим их. Пример для pulseaudio-alsa, числа pkgver и pkgrel должны совпадать с текущим номером версии, находящегося в репозитории

# cd ~/temp/
# vim PKGBUILD

pkgname=pulseaudio-alsa
pkgver=2
pkgrel=2
arch=('any')

Установим пакет заглушку

makepkg
sudo pacman -U pulseaudio-alsa-2-2-any.pkg.tar.xz

Повторим такое же для pulseaudio. Эти действия надо будет проделывать после каждого обновления pulseaudio :(.

Проверка микрофона в режиме online

arecord -f dat -D hw:0,0 - | aplay -f dat -

Заметки на полях

Буквенная и цифровая запись прав доступа

Цифровая запись Буквенная запись Права
0 --- Ничего не разрешено
1 --x Исполнение
2 -w- Запись
3 -wx Запись и исполнение
4 r-- Чтение
5 r-x Чтение и исполнение
6 rw- Чтение и запись
7 rwx Чтение, запись и исполнение

blog comments powered by Disqus