Сменил xubuntu на arch linux Linux 25.04.2012

archlinux_logo.png

UPDATE: Процесс установки последних сборок Arch Linux описан тут.

Arch linux будет третьим моим linux-дистрибутивом на десктопе, а все начиналось в далеком 2004, когда мне предложили писать на Qt и я решил поставить Red Hat 8.0 (до сих пор в загашнике валяются три cd-болванки) с KDE 3 (ностальгирую). В 2008 решил попробовать ubuntu и заказал диск с Hardy Heron, 8.04 (услуга доставки дисков shipit от canonical тогда еще работала).

Почему выбрал арч? Вот несколько причин:

  1. Облегченность. Простота настройки. Расширение кругозора. Мне понравился подход используемый для распространения arch - базовый образ занимает 390 МБ и устанавливается за 10 минут. Дальше обновляешься до актуальной версии и доставляешь нужные только тебе пакеты. Например в моей xubuntu 11.10 было около 1900 пакетов, часть из которых мне не нужны и висели багажом, сейчас в арче 842 пакета. Также удобно что основные настройки (демоны, модули, сеть, локаль, временная зона) настраивается в одном текстовом файле. В общем рай для тех, кому нравится знать, что у него 'под капотом'.

  2. Wiki. Вики содержит почти всю (если не всю) информацию про дистрибутив, начиная с установки, заканчивая нюансами настройки видеокарт, тачпадов и возможных отклонений при разных конфигурациях. Раньше, что бы решить какую-либо проблему для ubuntu или centos приходилось рыскать по разным блогам. Сейчас же достаточно зайти на вики и скорее всего там есть решение. Также вики постоянно обновляется и за всеми новостями можно следить в одном месте, удобно. Пытался я как-то такое найти для ubuntu - безрезультатно, на форуме мой топик остался без должного внимания.

  3. AUR. AUR позволяет собирать пакеты отсутствующие в основных репозитариях. Чаще всего в ауре можно встретить самые свежие версии из git, hg, svn, bzr репозитариев или модификации пакетов с какими-то рюшками от других пользователей. Раньше что-бы найти новое приложение, которого нет в репозитариях ubuntu, приходилось гуглить и находить ppa, сейчас достаточно поискать в AUR и выбрать желаемый пакет. Недавно хотел поставить последнюю стабильную версию GIMP 2.7.2, не все так просто оказалось, надо было вручную разрешать зависимости, устанавливать последние версии библиотек из git-репозитария. В арче достаточно найти нужную версию в ауре и подтвердить установку нужных зависимостей.

  4. Rolling release model. Это означает, что нету обновлений дистрибутива с некоторой периодичность (например, как у ubuntu раз в шесть месяцев), а обновленные пакеты приезжают по мере своего обновления. Если что-то сломается то всегда можно откатится на предыдущую версию, для для этого есть несколько вариантов. У меня за два месяца использования такое было только раз: на одной из машин отвалился wifi c ядром 3.3.1, пришлось откатится на 3.2 и добавить пакет в игнор, с новым ядром 3.3.2 все работает как и полагается. Еще один позитив - не надо пере устанавливать систему при неудачном апгрейде. Я застал 8 релизов ubuntu, три прошли с неработоспособной системой после обновлений, как следствие - пере установка рутового раздела и установка нужных приложений с нуля.

  5. Python3. В арче, начиная с конца 2010 года по умолчанию установлен python3. Это подстегнуло меня более вдумчиво прочитать новшества в третей версии, изменения в основных ветках смотри по ссылкам 3.0, 3.1, 3.2. Переезд используемых скриптов не занял много времени, консольная утилита 2to3 отлично справляется со своим предназначением. (Про то, что в ubuntu 12.04 уже будет python3 я знаю).

  6. Производительность. Местами система стала отзывчевей и время первой загрузки стало заметно быстрее.

  7. Шрифты. Шрифты из коробки стали приятнее чем были в xubuntu. Как я только не колдовал с fonts.conf - похожего эффекта мне не удалось добиться под ubuntu. Также в chromium, под ubuntu, на некоторых сайтах шрифты отображались без сглаживания, как оказалось в последствии, это баг chromium который проявляется не всегда. В том же самом релизе chromium (линейки 18) на арче все выглядит нормально.

Ниже описаны действия которые я проделывал у себя, сохраню собранную инфу для будущих поколений. Почти все это можно найти в разных уголках вики.

Первоначальная установка

Пакеты выбранные при установке:

# группы
base base-devel

# пакеты
net-tools netcfg openssh sudo wireless_tools

Локаль правим на последних шагах установщика либо уже после установки.

# vim /etc/locale.gen

# раскомментировать строку
ru_RU.UTF-8 UTF-8

# сохраняем файл, запускаем
locale-gen

Раскомментируем ближайшие репозитарии в файле /etc/pacman.d/mirrorlist. Свежий список зеркал можно получить тут.

Настроем wifi-сеть с помощью netcfg.

# скопируем пример с настройками 
cp /etc/network.d/examples/wireless-wpa /etc/network.d/mywifi

# внесем нужные правки в /etc/network.d/mywifi (название сети, пароль)
vim /etc/network.d/mywifi

# выполним для безопасности
chmod 0600 /etc/network.d/mywifi

# добавим netcfg при загрузке, для этого надо отредактировать строки с NETWORKS и DAEMONS
vim /etc/rc.conf

NETWORKS=(mywifi)
DAEMONS=(syslog-ng @network @net-profiles crond)

Со времени выхода последнего установочного диска (август 2011) были проделаны разные обновления в внутренностях системы. Подскажем системе что обновилось.

\1. initscripts update

rm /etc/profile.d/locale.sh

\2. Ошибка вида glibc: /usr/bin/tzselect exists in filesystem

pacman -S tzdata

\3. filesystem upgrade

pacman -S filesystem --force

Обновим систему.

pacman -Syu

Добавим в /etc/pacman.conf два новых репозитария для yaourt и vim. Краткий список с примерами использования pacman и yaourt (надстройка над pacman с возможность установки из AUR) можно посмотреть тут.

# vim /etc/pacman.conf

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

[herecura-stable]
Server = http://repo.herecura.be/herecura-stable/$arch

Обновим vim и yaourt.

pacman -S herecura-stable/vim yaourt

Добавим рабочего пользователя и добавим его в группу wheel. Я использую zsh вместо bash потому сразу и установлю его.

# создание пользователя

pacman -S zsh
useradd -m -g users -G audio,lp,optical,storage,video,games,power,wheel -s /bin/zsh proft
passwd proft

# добавление в новую группу
export EDITOR=vim && visudo

# раскомментировать строку
%wheel ALL=(ALL) ALL

Графическая среда

Установка Xorg.

sudo pacman -S dbus xorg-server xorg-xinit xorg-utils xorg-server-utils xorg xf86-input-keyboard xf86-input-mouse

Добавить dbus в DAEMONS.

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

# для intel
sudo pacman -S xf86-video-intel

# для nvidia
sudo pacman -S nvidia

Установка XFCE.

sudo pacman -S xfce4 xfce4-goodies
sudo yaourt -S xfce4-volumed xfce4-notifyd

Для корректной отрисовки приложений написанных на QT понадобится пакет libgnomeui.

sudo pacman -S libgnomeui

Установка менеджера входа Slim.

sudo pacman -S slim slim-themes archlinux-themes-slim

Отредактируем /etc/inittab, переключив уровень запуска по умолчанию на 5, также раскомментируем строку с slim, для включении его в качестве менеджера входа по умолчанию.

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

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

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

Активируем запуск xfce при логине.

# vim ~/.xinitrc

#!/bin/sh
exec ck-launch-session startxfce4

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

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

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

yaourt -S xscreensaver-arch-logo

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

sudo pacman -S faenza-cupertino-icon-theme faenza-icon-theme faenza-xfce-addon xcursor-human xfce-theme-greybird zukitwo-themes

Звук

Т.к. ALSA установлена по умолчанию, то установим пакет alsa-utils в котором есть микшер.

sudo pacman -S alsa-utils 

Включим звук с помощью alsamixer (по умолчанию он отключен).

Сохраним настройки.

sudo alsactl store

Добавим alsa в /etc/rc.conf (секция DAEMONS) для восстановления уровней микшера при загрузке.

Дополнительные приложения

Сетевые приложения.

sudo pacman -S dnsutils whois flashplugin firefox chromium transmission-gtk

Skype.

yaourt -S skype skypetab-ng-git v4l-utils

Добавим в Skype удобный способ оповещения с помощью notify-send:

# Входящий звонок
notify-send "%sname" "Вам звонит" -i skype

# Номер занят
notify-send "%sname занят" -i skype

# Звонок не удался
notify-send "%sname звонок не удался" -i skype

# Удержание вызова
notify-send "%sname" "Удержание звонка" -i skype

# Вызов продлен
notify-send "%sname" "Вызов продлен" -i skype

# Вызов завершен
notify-send "%sname" "Вызов завершен" -i skype

# Контакт показался в сети
notify-send "%sname" "Снова в сети" -i skype

# Контакт покинул сеть
notify-send "%sname" "Покинул сеть" -i skype

# Первое сообщение получено, сообщение получено
notify-send "%sname" "%smessage" -i skype

# Запрос на передачу файла
notify-send "%sname передаёт файл %fname (%fsize)" -i skype

# Передача файла завершена
notify-send "%sname" "Завершил передчу файла %fname" -i skype

# Передача файла не удалась
notify-send "Ошибка передачи файла" "%fname (%fsize)" -i skype

Аудио и видио-плейер, кодеки.

sudo pacman -S smplayer smplayer-themes deadbeef libvorbis libmad flac curl wavpack ffmpeg libsndfile mpg123

Nautilus и архивы (rar, zip c поддержкой национальных символов).

pacman -S nautilus p7zip zip unrar file-roller gstreamer0.10-plugins
yaourt -S unzip-beta gloobus-sushi-bzr 

Ассоциация файлов с приложением для отдельного пользователя находятся в ~/.local/share/applications/mimeapps.list. Для всех пользователей в /usr/share/applications/defaults.list.

Dropbox.

yaourt -S dropbox dropbox-daemon nautilus-dropbox

Впишем имя системного пользователя в файл /etc/conf.d/dropboxd.conf.

Добавим dropboxd в список DAEMONS в файле /etc/rc.conf.

LibreOffice.

pacman -S libreoffice libreoffice-gnome

Разная мелочь: Synapse, Clipit, Caffeine, Goldendict, Pidgin.

yaourt -S synapse clipit caffeine goldendict-git pidgin pidgin-faenza-tray-dark-icons evince keepassx 

Настройки для ноутбука/нетбука

Установим драйвер для тачпада.

sudo pacman -S xf86-input-synaptics

Установим пакет laptop-mode-tools для управления энергосбережением.

sudo pacman -S laptop-mode-tools acpi hdparm

Добавим laptop-mode в список DAEMONS в файле /etc/rc.conf.

Подробности настройки Laptop Mode смотри в вики и про ноутбуки в целом.

Настройка принтера

Для Samsung'овских usb-принтеров понадобятся два пакета

yaourt -S cups splix

Дальше заходим браузером на http://localhost:631, вводим рутовый пароль, выбираем Adding Printers and ClassesAdd Printer и следуем предлагаем инструкциям.

Скриншот десктопа.

Desktop
Цитата
Завтра будет то, что должно быть, и не будет ничего из того, что быть не должно - не суетись.
Категории
Архив