Вот уже полтора года как основная ось - Arch Linux. За это время много всякого произошло внутри дистрибутива и сообщества, всего и не упомнишь:
Несмотря на все эти коренные изменения дистрибутив хуже не стал, а даже наоборот. При первом переезде на 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
Создадим разделы. Рекомендуемая разметка
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 | Чтение, запись и исполнение |