Как установить и допилить ArchLinux (актуально март 2017), - шпаргалка.

Обновлено 1.03.17
Всем привет!

Потянуло на эксперименты, и на старом HDD решил опробовать BTRFS + поставить Arch с нуля (очень давно этого не делал). Целью статьи не является "переписать wiki/показать как должно быть и т.п." Я всего лишь в кратце опишу что делал, и что допиливал,т.к. считаю без этого систему использовать "не очень".

Статью можно использовать как шпаргалку по установке, заменяя intel на вашу видеоадаптер, malody на свой логин, firefox на свой браузер и т.п.)

Надеюсь опытным пользователям будет что дополнить/посоветовать, а новички вынесут что-то для себя полезное.

Если ставите с нуля, - рекомендую делать это с флешки. Я же ставил с уже установленной системы Arch (да, я знаю что можно просто скопировать на другой HDD и поставить загрузчик, - и будет готово, но как же весь смак от установки, и что бы я тут писал? :-D).

Установка из существующей системы
pacman -S btrfs-progs arch-install-scripts

Создание раздела и субразделов
Вместо разметки GPT или UEFI создал btrfs (изменив всю схему разбиения диска). Внимание! это отформатирует весь ваш диск, с потерей данных!
mkfs.btrfs -f -L WD /dev/sdb
Монтируем:
mount /dev/sdb /mnt
создадим два подтома под root и домашний каталог пользователя:
btrfs subvolume create /mnt/root
btrfs subvolume create /mnt/home
И отмонтируем корень ФС:
umount /mnt
Чтобы монтировать подтом подобно обычному разделу диска, команде mount нужно указывать опцию subvol=PATH, где PATH - путь относительно корня ФС. Монтируем корень:
mount -o subvol=root,compress=lzo,autodefrag /dev/sdb /mnt
Так же в параметрах указано сжатие lzo, что даёт прирост экономии места + повышает производительность, и дефрагметацию в фоне.
Создаём папку и монтируем в неё наш будущий каталог пользователей:
mkdir /mnt/home
mount -o subvol=home,compress=lzo,autodefrag /dev/sdb /mnt/home
Устанавливаем базовые пакеты
pacstrap /mnt base xorg-xinit xorg-server grub zsh mc
Создаём fstab
genfstab -U /mnt >> /mnt/etc/fstab
проверяем:
cat /mnt/etc/fstab
Входим в систему:
arch-chroot /mnt
Называем компьютер:
echo имя_компьютера > /etc/hostname
Локализация:
nano /etc/locale.gen
Оставить расскомментированными только
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
Сгенерировать локали:
locale-gen
Выберем локаль для системы:
echo LANG=ru_RU.UTF-8 UTF-8 > /etc/locale.conf
Создаём рам-диск mkinitcpio и добавим русскую локаль в консоль
nano /etc/mkinitcpio.conf
В /etc/mkinitcpio.conf, в разделе HOOKS, должен быть прописан хук keymap, и убрать fsck
В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia.
mkinitcpio -p linux
Задать пароль рута
passwd
Создать пользователя
useradd -m -g users -G wheel,audio,video,storage -s /bin/zsh malody
И задать ему пароль
passwd malody
Установка Yaourt, и Powerpill
nano /etc/pacman.conf
В конце добавить:
#Репозиторий Yaourt
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
#Репозиторий Powerpill
[xyne-any]
Server = http://xyne.archlinux.ca/repos/xyne

Заодно закомментировать
#SigLevel    = Required DatabaseOptional
И Расскомментировать:
Color

[multilib]
Include = /etc/pacman.d/mirrorlist
Затем выполнить:
pacman -Syy && pacman -S yaourt powerpill
Установка первоначального ПО
powerpill -S btrfs-progs ntfs-3g xf86-video-intel libva-intel-driver firefox firefox-i18n-ru base-devel --needed cinnamon terminator pulseaudio  pavucontrol ttf-liberation ttf-dejavu clementine doublecmd-gtk2 vlc flashplugin wine gedit file-roller p7zip unrar unace lrzip scrot transmission-gtk viewnior epdfview fbreader --noconfirm
yaourt -S localepurge ttf-droid-sans-mono-slashed-powerline-git --noconfirm
Установка boot loader'а.
grub-install /dev/sdb
grub-mkconfig -o /boot/grub/grub.cfg
Далее, можно загрузиться в свеже установленную систему, и зайдя под рутом продолжить настройку (переключаясь на второй терминал под обычным пользователем)
запустить интернет: dhcpcd
Выбор часового пояса:
timedatectl set-timezone Asia/Novosibirsk
Настройка х-ов:
cd ~
cp /etc/X11/xinit/xinitrc .xinitrc
nano .xinitrc
добавить:
exec cinnamon-session
Русский шрифт в консоли:
Временное решение (только на этот сеанс)
setfont cyr-sun16
Постоянное решение:
Создадим файл
sudo nano /etc/vconsole.conf
С таким содержимым:
KEYMAP=ru
FONT=cyr-sun16
Автологин с помощью .xinitrc и автозапуск Х после логина
Если используем Zsh, то
cp /etc/zsh/zprofile ~/.zprofile && nano .zprofile
добавить:
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
выполнить:
sudo systemctl edit getty@tty1
и вставить:
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin malody --noclear %I $TERM

Настройка sudo
EDITOR=nano visudo

#дать пользователю привилегии суперпользователя, когда он вводит sudo
malody ALL=(ALL) ALL
#Чтобы не спрашивать пароль у пользователя
Defaults:malody      !authenticate

Установка и настройка сети
Найти имя сетевого устройства:
ls /sys/class/net
enp2s0 (это моё сетевое устройство)
Включить и запустить юнит
systemctl enable dhcpcd@enp2s0.service
systemctl start dhcpcd@enp2s0.service
Допиливание

Уменьшение размера журнала логов Systemd
sudo nano /etc/systemd/journald.conf
расскомментировать и изменить строку
SystemMaxUse=5M

Отключаем переодическое увеличение загрузки из-за man-db.service
sudo systemctl disable man-db.service
sudo systemctl disable man-db.timer
sudo systemctl disable updatedb

Удалить ненужные локали (после установки всех программ (должна быть установлена localepurge))
nano /etc/locale.nopurge
и закомментируем строчку NEEDSCONFIGFIRST, которая служит “защитой” от удаления локалей без настройки программы.
сделаем последний абзац похожим на:
en
en_US
en_US.UTF-8
ru
ru_RU
ru_RU.UTF-8 UTF-8
Запуск:
sudo localepurge
- я высвободил 370+ мегабайт :-)
После перезагрузки отключается звук, и громкость сбрасывается на 0.
Исправляем:
sudo powerpill -S alsa-lib alsa-utils
sudo alsamixer
- жмём английскую M - на главном канале меняется значение (увеличиваем громкость на максимум стрелкой вверх).
sudo alsactl restore
- запоминаем наши настройки
Щелчки при загрузке
sudo rm /var/lib/alsa/asound.state
sudo alsamixer
Нажмите F6, выберите свою звуковую карту (у меня HDA Intel), пролистайте до Auto Mute и поставьте значение "disabled", выйдите нажав Esc.
Не трогая системного регулятора громкости выполните:
sudo alsactl store 0
Перезагрузитесь.
Устраняем тиринг (горизонтальный разрыв)
для Intel
sudo nano /etc/X11/xorg.conf.d/20-intel.conf
к такому виду:
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option "AccelMethod" "sna"
EndSection

Устраняем тиринг в Firefox (ссылка на проверку тиринга в браузере):
Настройки>Дополнительные>Общие(вкладка)>снять галочку “по возможности использовать аппаратное ускорение”. Перезапускаем браузер (однако, в одном случае это помогло, мне же этот способ не помог (хоть с установленной хоть со снятой галочкой), поэтому пишу второй).
Вводим в адресной строке: about:config, соглашаемся с риском, находим строку
layers.acceleration.force-enabled и ставим true
Перезапускаем браузер.

Включаем аппаратное ускорение видео
Если у вас не Intel, пользуйтесь следующей статьёй с Wiki
Если у вас Интел (в данном случае у меня Intel IvyBridge)
Должны стоять пакеты:
xf86-video-intel gstreamer-vaapi libva-intel-driver lib32-mesa mesa-libgl lib32-mesa-libgl mesa
проверить что используется:
vainfo
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
если не автоопределился, то задать вручную в: /etc/environment
LIBVA_DRIVER_NAME = i965
smplayer:
Для включения аппаратного ускорения: Настройки-Настройки-Основные-Видео-Устройства вывода: vaapi
Настройки-Настройки-Быстродействие-Потоков декодирования, - ставьте 2 потока если двухядерный процессор, 4 если четырёх ядерный и т.д.).
VLC - подхватывает автоматически, если же нет, то на вкладке Ввод и кодеки выбрать vaapi.

Устанавливаем кодеки
sudo powerpill -S gstreamer gstreamer-vaapi gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly --noconfirm

Уменьшаем место на диске зарезервированное для root (актуально для ext3 и ext4 разделов)

tune2fs -l /dev/sdX # Смотрим установки
tune2fs -m 2 /dev/sdX # Меняем на 2 процента

Иероглифы в русских названиях файлов в ZIP-архивах

yaourt-S zip-natspec unzip-natspec libnatspec --noconfirm
После установки они заменяют штатные команды zip и unzip , что позволяет использовать их не только в консоли, но и через ГУИшные программы, использующие zip и unzip в качестве бэкэнда для ZIP-архивов.

Снимок экрана горячей клавишей при помощи scrot
mkdir ~/Изображения/Скриншоты
В настройках Cinnamon:
Настройки > Клавиатура > Комбинации клавиш > Дополнительные комбинации клавиш > Добавить пользовательскую комбинацию
Снимок всего экрана: (prtscr)
scrot /home/malody/Изображения/Скриншоты/%d-%m-%Y-%H-%M-%S.png
Снимок активного окна: (ctrl+prtscr)
scrot -u /home/malody/Изображения/Скриншоты/окно_%d-%m-%Y-%H-%M-%S.png

Настраиваем шрифты

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

А как вы допиливаете систему? Что делаете ещё? Пишите!

Пока на этом всё. Ставьте своё ПО, и пользуйтесь хорошей системой ;-)

В статье использовалось, и может вам понадобиться:
Beginners' guide (Русский)
Инструкция как пользоваться BTRFS - большое спасибо A.T.W.A.
Руководство по установке
И другие статьи с wiki.archlinux.org
Русская команда переводчиков ArchWiki
скромный вклад
malody
pacman -S powerpill
У меня ошибку выдаёт:
# pacman -S powerpill
Error :: Will not install a package from any xyene!
Что делать?
Ошибки в тексте-неповторимый стиль автора©
indeviral
malody
pacman -S powerpill
У меня ошибку выдаёт:
# pacman -S powerpill
Error :: Will not install a package from any xyene!
Что делать?
попробуйте yaourt -S powerpill
Русская команда переводчиков ArchWiki
скромный вклад
yaourt это просто оболочка для pacman, в итоге пакет устанавливает pacman, а он выдаёт ошибку.
Ошибки в тексте-неповторимый стиль автора©
indeviral
yaourt это просто оболочка для pacman, в итоге пакет устанавливает pacman, а он выдаёт ошибку.
powerpill есть в репозитории AUR, и если он не ставиться из [xyne-any] pacman'om, то из AUR его можно поставить Yaourt'ом (если репозиторий [xyne-any] не доступен или не подключен).

после yaourt -S powerpill, yaourt соберёт пакет, a pacman установит ;-)
Русская команда переводчиков ArchWiki
скромный вклад
выдаёт тоже самое... странно

ещё вопросик, а зачем выключать проверку GPG???
malody
#SigLevel = Required DatabaseOptional

p.s. кстати, а не может быть косяк в том что я репозитории через libre-writer вписывал, эт ничего страшного?
Ошибки в тексте-неповторимый стиль автора©
indeviral
выдаёт тоже самое... странно

ещё вопросик, а зачем выключать проверку GPG???
malody
#SigLevel = Required DatabaseOptional

p.s. кстати, а не может быть косяк в том что я репозитории через libre-writer вписывал, эт ничего страшного?

Посмотрите gedit'om/nano может что-то лишнее вписано? пробел или ещё чего, должно быть только:

#Репозиторий Yaourt
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
#Репозиторий Powerpill
[xyne-any]
Server = http://xyne.archlinux.ca/repos/xyne

"Will not install a package from any xyene!" - неправильно записали в /etc/pacman.conf

Насчёт GPG - отключаю для одного репозитория, можно удалить из статьи.
Русская команда переводчиков ArchWiki
скромный вклад
malody
Целью статьи не является "переписать wiki/показать как должно быть ит.п."
Давненько пересказов вики не появллось.
Lupus pilum mutat, non mentem.
malody
Отключаем переодическое увеличение загрузки из-за man-db.service
«Увеличение загрузки» — это как?
malody
Уменьшаем место на диске зарезервированное для root (актуально для ext3 и ext4 разделов)
Это я тоже не понял.
beroal
malody
Отключаем переодическое увеличение загрузки из-за man-db.service
«Увеличение загрузки» — это как?
malody
Уменьшаем место на диске зарезервированное для root (актуально для ext3 и ext4 разделов)
Это я тоже не понял.

1. Вот так. Смотрите моё сообщение из той темы.
Это баг.
2. Хорошо объяснили тут.
Русская команда переводчиков ArchWiki
скромный вклад
 
Зарегистрироваться или войдите чтобы оставить сообщение.