UPDATE: Процесс установки последних сборок Arch Linux описан тут.
Arch linux будет третьим моим linux-дистрибутивом на десктопе, а все начиналось в далеком 2004, когда мне предложили писать на Qt и я решил поставить Red Hat 8.0 (до сих пор в загашнике валяются три cd-болванки) с KDE 3 (ностальгирую). В 2008 решил попробовать ubuntu и заказал диск с Hardy Heron, 8.04 (услуга доставки дисков shipit от canonical тогда еще работала).
Почему выбрал арч? Вот несколько причин:
Облегченность. Простота настройки. Расширение кругозора. Мне понравился подход используемый для распространения arch - базовый образ занимает 390 МБ и устанавливается за 10 минут. Дальше обновляешься до актуальной версии и доставляешь нужные только тебе пакеты. Например в моей xubuntu 11.10 было около 1900 пакетов, часть из которых мне не нужны и висели багажом, сейчас в арче 842 пакета. Также удобно что основные настройки (демоны, модули, сеть, локаль, временная зона) настраивается в одном текстовом файле. В общем рай для тех, кому нравится знать, что у него 'под капотом'.
Wiki. Вики содержит почти всю (если не всю) информацию про дистрибутив, начиная с установки, заканчивая нюансами настройки видеокарт, тачпадов и возможных отклонений при разных конфигурациях. Раньше, что бы решить какую-либо проблему для ubuntu или centos приходилось рыскать по разным блогам. Сейчас же достаточно зайти на вики и скорее всего там есть решение. Также вики постоянно обновляется и за всеми новостями можно следить в одном месте, удобно. Пытался я как-то такое найти для ubuntu - безрезультатно, на форуме мой топик остался без должного внимания.
AUR. AUR позволяет собирать пакеты отсутствующие в основных репозитариях. Чаще всего в ауре можно встретить самые свежие версии из git, hg, svn, bzr репозитариев или модификации пакетов с какими-то рюшками от других пользователей. Раньше что-бы найти новое приложение, которого нет в репозитариях ubuntu, приходилось гуглить и находить ppa, сейчас достаточно поискать в AUR и выбрать желаемый пакет. Недавно хотел поставить последнюю стабильную версию GIMP 2.7.2, не все так просто оказалось, надо было вручную разрешать зависимости, устанавливать последние версии библиотек из git-репозитария. В арче достаточно найти нужную версию в ауре и подтвердить установку нужных зависимостей.
Rolling release model. Это означает, что нету обновлений дистрибутива с некоторой периодичность (например, как у ubuntu раз в шесть месяцев), а обновленные пакеты приезжают по мере своего обновления. Если что-то сломается то всегда можно откатится на предыдущую версию, для для этого есть несколько вариантов. У меня за два месяца использования такое было только раз: на одной из машин отвалился wifi c ядром 3.3.1, пришлось откатится на 3.2 и добавить пакет в игнор, с новым ядром 3.3.2 все работает как и полагается. Еще один позитив - не надо пере устанавливать систему при неудачном апгрейде. Я застал 8 релизов ubuntu, три прошли с неработоспособной системой после обновлений, как следствие - пере установка рутового раздела и установка нужных приложений с нуля.
Python3. В арче, начиная с конца 2010 года по умолчанию установлен python3. Это подстегнуло меня более вдумчиво прочитать новшества в третей версии, изменения в основных ветках смотри по ссылкам 3.0, 3.1, 3.2. Переезд используемых скриптов не занял много времени, консольная утилита 2to3 отлично справляется со своим предназначением. (Про то, что в ubuntu 12.04 уже будет python3 я знаю).
Производительность. Местами система стала отзывчевей и время первой загрузки стало заметно быстрее.
Шрифты. Шрифты из коробки стали приятнее чем были в 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) были проделаны разные обновления в внутренностях системы. Подскажем системе что обновилось.
rm /etc/profile.d/locale.sh
\2. Ошибка вида glibc: /usr/bin/tzselect exists in filesystem
pacman -S tzdata
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 Classes → Add Printer и следуем предлагаем инструкциям.
Скриншот десктопа.