Как стать автором
Обновить

Linux desktop без балласта

Покупая ноутбук с Windows, всегда получаешь изрядное количество предустановленных программ. Видимо, очень полезных с точки зрения производителя. Как правило, они только едят ресурсы, а антивирус (наверное, единственная полезная вещь) тут же начинает требовать дополнительных расходов на себя. Что делать с этим, известно — ставить чистую систему и устанавливать только те программы, в нужности которых есть твердая уверенность. Особенно это касается нетбуков, где на счету каждый такт.

Как ни странно, но с Linux ситуация почти такая же. Установив любой популярный дистрибутив с LiveCD, получаем набор ПО «для всего» и знакомое ощущение, что тут что-то явно лишнее. Например, у меня нетбук. Мне нужен браузер, плеер видео и аудио, смотрелка картинок и ssh. Мне не нужен сканер, у меня нет оптического привода, мне даже офис не нужен. Все, чем я буду пользоваться, должно быть быстрым и легким поэтому предустановленный аудиоплеер на Mono — это явный перебор. Можно устанавливать Desktop с DVD, но и в этом случае в инсталяторе выбор не слишком велик — либо очень крупные группы пакетов, либо кажый deb/rpm по отдельности. А есть что-нибудь среднее? Например, вариант установки ядра системы с оконным менеджером в минимальной конфигурации, и возможность добавлять приложения по своему вкусу?

В этой статье я расскажу о «крупноузловой» сборке Desktop-окружения по принципу «необходимый минимум, плюс только то, что я сам захочу» на примере Unity. Предполагается что читатель умеет пользоваться командной строкой и любит «заглядывать под капот».

Нам потребуется проводное подключение к Интернет, параметры прокси-сервера при его наличии и загрузочный USB с NetInstall или Alternate образом Ubuntu Natty. Загружаемся с носителя и выполняем установку. Если используеся Alternate USB, нажмите F4 при загрузке и выберите «Установить без графической среды». Если используеся NetInstall, не выбирайте ни одного пункта на этапе работы tasksel. После перезагрузки начинаем разбиратья.

Если запустить tasksel и выбрать «Ubuntu desktop», в результате получим то же самое, что при установке с LiveCD. А что он ставит?
# tasksel --list-tasks
# tasksel --task-packages ubuntu-desktop | less

Просматриваем список пакетов в задании «Ubuntu desktop», находим пакет с интересным названием ubuntu-desktop.
# apt-cache show ubuntu-desktop
Среди прямых зависимостей как раз то, без чего работать будет просто не в чем, а среди рекомендованных зависимостей все остальное. То, что нам и нужно; надо просто установить ubuntu-desktop без рекомендованных пакетов. man apt-get расскажет нам о подходящих ключах --no-install-recommends и --no-install-suggests. Чтобы не указывать их каждый раз вручную, пропишем две опции APT::Install-Recommends «0»; и APT:Install-Suggests «0»; в /etc/apt/apt.conf.

# apt-cache show unity
Мы отказались от автоматической установки рекомендованных зависимостей, но для этого пакета все рекомендованные придется устанавливать явно, иначе unity окажется мало пригодной к использованию. Это же касается еще ряда пакетов, рекомендованных для ubuntu-desktop, например, acpi-support, network-manager-gnome, а так же libdconf0, который вообще в зависимостях не отмечен, но без которого unity не сможет сохранять свои настройки. Это обратная сторона медали — нужно просматривать назначение рекомендованных и ппрочих пакетов и определяться по каждому. Не самое «красноглазое» занятие позволяет узнать много интересного.

Кстати, о network-manager. Нравится он или нет, но использовать его нужно, если нет желания настраивать Wi-Fi из консоли. И лучше всего установить его в самом начале, то есть сейчас.
# apt-get install network-manager

Для его запуска необходимо удалить (закомментировать) из /etc/network/interfaces упоминания обо всех интерфейсах, кроме lo. Далее в /etc/NetworkManager/NetworkManager.conf прописываем managed=true в [ifupdown]. Останавливаем обычный networking и запускаем network-manager.
# /etc/init.d/networking stop
# service network-manager restart

проверяем
# nmcli nm status

Все готово к установке. Просматриваем зависимости, составляем список необходимых пакетов. Вот, что получилось у меня:
  • ubuntu-desktop
  • compiz
  • unity
  • libdconf0
  • unity-place-*
  • indicator-session
  • indicator-application
  • indicator-appmenu
  • indicator-datetime
  • indicator-sound
  • appmenu-gtk
  • network-manager-gtk
  • modemmanager
  • gvfs-backends
  • acpi-support
  • cpufrequtils
  • language-pack-gnome-ru
  • compizconfig-settings-manager
  • ttf-ubuntu-*
  • dmz-cursor-theme
  • branding-ubuntu


Запускаем apt-get install весь-этот-список-пакетов, ждем завершения, перегружаемся. Наблюдаем изрядно похудевшую Unity, весьма отзывчивую даже на нетбуке

Все остальное — по желанию. Для добавления лучше использовать apt-cache + apt-get или synaptic, не забывая просматривать, что находится среди рекомендованных зависимостей. Некоторые программы могут молча не работать — так, я не сразу понял почему так мало типов подключения в окне «Соединиться с сервером», пока не вспомнил про gvfs.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.