Диета для пингвина: чистим свежеустановленный Ubuntu от хламаТы никогда не задумывался о том, почему свежеустановленный Ubuntu с базовым графическим интерфейсом и мизерным набором стандартных приложений занимает целых 2 Гб дискового пространства? Если да, то читай дальше — мы посадим пингвина на диету и сделаем так, чтобы он занимал гораздо меньше места. Постановка проблемыСегодняшние дистрибутивы Linux не только быстры, удобны и приятны глазу, но и невероятно громоздки. В стандартной комплектации большинство из них занимает больше 4 Гб. И это при том, что они способны обеспечить пользователя только одной графической средой и небольшим набором приложений (к слову сказать, нет даже кодеков для воспроизведения аудио- и видеофайлов). Куда же утекают заветные гигабайты свободного пространства? Как это ни странно, причина прожорливости Linux скрывается в его главном достоинстве. Хороший дистрибутив Linux — очень гибкая операционная система, способная подстроиться под любого пользователя и любое оборудование. В нем есть все для того, чтобы удовлетворить потребности 99% юзеров: огромное количество драйверов, способных вдохнуть жизнь практически в любую железку; куча разных демонов, апплетов и виджетов, делающих общение с этими железками простым и понятным; набор из самых востребованных пользователями приложений; поддержка нескольких языков; различные инструменты для людей с ограниченными возможностями и многое другое. Все это может и должно занимать определенное пространство на жестком диске. Linux предоставляет не меньшую свободу выбора и программистам. Не имея какого-либо стандартизированного интерфейса общения с операционной системой в виде единого API, такого как win32 в Windows или Cocoa в Mac OS X, Linux поощряет использование любых удобных для программиста интерфейсов и сред исполнения. Разработчик волен сам выбирать библиотеки графических интерфейсов, будь то GTK, Qt или даже FLTK. Он может использовать любые подручные либы, не беспокоясь о том, что их не окажется на целевой системе, ведь менеджер пакетов все равно самостоятельно установит их. Он может писать приложения практически на любом из существующих языков программирования, и все необходимые интерпретаторы, виртуальные машины и библиотеки точно так же будут доустановлены в автоматическом режиме. Само собой разумеется, что при комплектации установочного диска все эти бесконечные зависимости будут включены в комплект, а во время установки попадут на жесткий диск пользователя. И не стоит даже надеяться на то, что разработчики дистрибутива будут подбирать софт, основываясь на его количестве зависимостей и следя за тем, чтобы они не тащили в систему ничего лишнего. Например, стандартная комплектация дистрибутива Ubuntu включает в себя простую программу для ведения заметок Tomboy, и эта небольшая программа тащит за собой весь рантайм mono, занимающий более 30 Мб дискового пространства. В устройстве Linux-дистрибутива есть еще много различных нюансов, которые делают его более тяжеловесным, но описанные выше — это основа, от которой мы будем отталкиваться, избавляя пингвина от жирового слоя. Освобождаемся от хламаНачнем с того, что попытаемся очистить систему от явно ненужного шлака, сохранив при этом оригинальный рабочий стол Ubuntu в почти неизменном виде и ставив все сколько-нибудь нужные приложения на месте. Итак, ставим Ubuntu и выполняем "
Пакет gnome-games-common утянет за собой aisleriot, gnomemahjongg, gnome-sudoku, gnomine, quadrapassel вместе со всеми конфигурационными файлами и освободит для нас 20 Мб пространства. Снова идем в меню, самое бесполезное теперь лежит в пункте Accessories. Это калькулятор (gcalctool), программа для исследования шрифтов (gucharmap), анализатор использования дискового пространства (baobab), программа для поиска файлов (gnome-search-tool) и тот самый Tomboy. Удаляем:
Эта операция даст нам еще 10 Мб места и откроет возможность избавиться от mono. Выполняем:
Это еще 30 Мб. Вновь возвращаемся в меню. Из совсем неинтересного: программа для записи с микрофона и редактор видео pitivi. К сожалению, сразу определить принадлежность диктофона к какому-либо пакету трудно, поэтому мы установим утилиту apt-file, которая поможет это сделать:
Нужный (точнее, не нужный) нам пакет зовется gnome-media, удаляем:
Всего 2.5 Мб, зато меню будет чище. Далее на очереди идет словарь, VNC-вьюер и клиент Remote Desktop. Вряд ли они тебе нужны, но если вдруг нужны, ты можешь просто пропустить этот шаг:
Еще 5 Мб и более чистое меню. Остальные программы можно пока оставить на месте и избавиться от хлама типа документации, плюшек для людей с ограниченными возможностями, примеров, хранителя экрана и системы тестирования Ubuntu:
Так мы освободим еще 167 Мб пространства. Далее разберемся с "повисшими" зависимостями — пакетами, которые были перечислены в зависимостях уже удаленных нами пакетов и теперь не нужны. Для этого нам понадобится программа orphaner, включенная в пакет deborphan:
Запускаем программу, видим список "сирот", отмечаем их с помощью пробела и выбираем кнопку "ОK". В конце процедуры снова будет выведен список, на этот раз в нем перечислены "сироты сирот". Повторяем все действия до тех пор, пока список не окажется пуст. Дальнейшая чистка неизбежно скажется на функциональности и внешнем виде дистрибутива, поэтому тем, кто любит Ubuntu таким, какой он есть, лучше остановиться на достигнутом. Всем остальным — добро пожаловать в следующий раздел статьи.
Большая уборкаUbuntu включает в себя достаточно много приложений, и далеко не каждое из них устраивает всех пользователей. Я, например, уже несколько лет не пользуюсь почтовыми программами, предпочитая им web-интерфейс gmail, а от интерфейса стандартного Ubuntu-плеера Rhytmbox меня тошнит (как, впрочем, и от его идейных родителей — Amarok и iTunes). Поэтому для меня они не представляют никакого интереса и только загромождают меню. Кому-то другому могут быть не нужны IM-клиент и офисный пакет. И от всего этого можно безболезненно отказаться. Наверное, самый "толстый" компонент Ubuntu – это OpenOffice. Он, конечно, очень нужен, если ты студент, препод или секретарша, но большинству людей он совершенно не сдался, поэтому избавляемся:
Еще 256 Мб чистоты. Очень неплохо. Следующие на очереди: неудобный mail-клиент Evolution, совершенно никакой видеоплеер Totem и аудиопроигрыватель для любителей лицензионной музыки Rhytmbox:
Это еще 26 Мб и сильное ощущение своей правоты. Теперь можем удалить мультимедиа-фреймворк gstreamer, используемый Totem и Rhytmbox, однако здесь есть два подводных камня. Во-первых, gstreamer сильно завязан на всю систему, и полное избавление от него повлечет за собой удаление некоторых нужных системных пакетов. Мы можем избавиться только от подсобных пакетов фреймворка, но даже в этом случае придется попрощаться с программой для прожигания дисков Brasero. Если это не принципиально, то делаем следующее:
В комплекте Ubuntu идет менеджер фото Shotwell. Может быть, он и удобен тем, кто делает по пятьдесят фотографий в день, но обычному человеку гораздо удобнее смотреть фотки через Nautilus:
Это 4 Мб. Еще есть такие штуки, как IM-клиент Empathy и клиент социальных сетей Gwibber. Во многом полезные программы, но не имеющие смысла для людей, не переваривающих социальщину:
18 Мб долой. Можно еще удалить BitTorrent-клиент transmission и браузер firefox, но это уже кощунство и допустимо разве что в случае их замены на Deluge и Google Chrome. Теперь перейдем к меню "System Administration". В нем гораздо больше важных приложений, но все равно много ненужного. Например, я совершенно не понимаю назначения программы под названием Computer Janitor. Никогда еще она не находила чего-то действительно бесполезного и никак не чистила систему. Соответственно, в топку:
Утилита выбора языка тоже довольно спорная программа, в большинстве случаев абсолютно ненужная:
Теперь поговорим о поддержке железа. Как я уже упоминал в начале статьи, Ubuntu поддерживает огромное количество разнообразных железок, для каждой из которых в системе есть не только драйвер, занимающий несколько десятков килобайт, но и гораздо более тяжелая обвеска в виде различных демонов и приложений, работающих с этим драйвером. Так, например, Ubuntu очень хорошо поддерживает технологию Bluetooth, для которой в системе есть и драйвера, и демоны, и графические программы настройки. Вопрос только в том, нужен ли синезубый в наше время господства 3G и Wi-Fi сетей. Думаю, что многим уже нет. Поэтому от поддержки Bluetooth в большинстве случаев можно отказаться:
Эта команда удалит не только реализацию Bluetooth-протокола, распространяемую в пакете bluez, но и все ее зависимости в виде gnome-библиотек и графических интерфейсов. Выигрыш скромный: 12 Мб. Далее, у тебя дома есть сканер? Если нет, то и поддержка сканеров в системе не нужна. В Ubuntu доступна простая программа для сканирования документов под названием Simple Scan, она опирается на стандартную библиотеку для работы со сканерами SANE. Удалив последнюю, мы удалим поддержку сканеров полностью:
Это даст нам дополнительные 15 Мб. Третье: принтер есть наверняка, и, скорее всего, он подключен к домашней машине, поэтому если ты чистишь Ubuntu, установленный на ноутбук, то от поддержки принтеров тоже можно избавиться:
Настал черед видеодрайверов. Ubuntu содержит полный комплект драйверов Xorg, но видеокарта у нас всего одна. Соответственно, все остальное можно удалить, но для этого придется сначала выяснить, какие драйвера поддерживаются железом, чтобы ненароком не удалить нужный. Это можно сделать с помощью следующей команды:
Сразу после слова "Matched" будет указано имя драйвера, его нужно запомнить.
При этом драйверов может быть несколько, это вполне нормально, и лучше оставить
их все. Остальные можно удалить с помощью apt-get. Просто набираем "
Также можно потереть различные плюшки для драйверов nVidia и ATi:
А вместе с ними и заголовочные файлы ядра, которые в Ubuntu включены только для того, чтобы собирать и устанавливать модули для проприетарных видеодрайверов, но в обычной ситуации они нужны редко, а занимают 90 Мб:
В системе осталось еще немало различных утилит и библиотек, специфичных для конкретных железяк, но мы можем потратить весь день, разбираясь с каждой из них. Вместо этого мы избавимся от хлама, скрытого глубоко внутри системы. Например, compiz’а (если, конечно, тебе не нужны эффекты рабочего стола):
Систему синтеза речи также можно выбросить, она нужна людям, у которых проблемы со зрением:
Инструменты для разработчиков тоже, скорее всего, не нужны (конечно, если ты сам не разработчик):
База данных courchdb вместе с erlang, используемая для хранения разной инфы в Gnome, также не нужна:
Библиотека smbclient, используемая для доступа к виндовым шарам, не нужна на обособленных машинах (к тому же занимает больше 50 Мб):
Не нужен нам и xulrunner, используемый для создания XUL-интерфейсов:
Также можно подрезать следующий консольный софт: dc, bc, ed, ftp, lftp, pcmciutils, screen, rsync, strace, xterm, lsof, w3m, telnet, tcpdump, vim\*. При этом руководствоваться следует простым правилом: не знаешь, что это такое — значит, не нужно. Вроде это все. Теперь запустим orphaner, чтобы он подчистил за нами оставшиеся зависимости:
Смотрим количество свободного места:
1.4 Гб, команда " Но более того, мы можем освободить еще около 90 Мб пространства, если удалим документацию и ненужные локали:
Отмечаем в списке "en" и "en_GB" (если мы работаем в англоязычной версии Ubuntu), или "ru" и "ru_RU" (для русской версии). Запускаем программу:
Теперь удаляем документацию:
Возвращение к истокамТеперь поговорим о том, что делать людям, которые не хотят видеть Gnome на рабочем столе и хотели бы заменить его на что-нибудь более легкое. В случае с любым другим дистрибутивом рецепт был бы чрезвычайно прост: удалить все пакеты, имеющие в названии слово gnome, плюс зачистить остатки, удалив приложения и библиотеки. Но с Ubuntu этот трюк не пройдет, в него встроена "защита от дурака", которая, если любой из пакетов, нарушающих работоспособность Gnome, будет удален, принудительно установит пакет kubuntu-desktop, тянущий за собой весь KDE (просто попытайся удалить gnome, и ты увидишь, что apt-get предложит для установки). Поэтому полностью очистить Ubuntu от Gnome можно только двумя более-менее простыми способами: либо скачать Ubuntu Server и установить его в минимальной конфигурации, а затем доустановить все, что требуется, либо обойти систему защиты, удалив все gnome-пакеты разом. Первый способ я разъяснять не буду, а вот про второй пару слов скажу. В
Ubuntu просто огромное количество пакетов составляют среду Gnome, вбивать их
имена вручную ты будешь до вечера (а если читаешь это вечером, то до утра),
поэтому я заранее подготовил список нужных пакетов и положил его на
наш диск. Все, что требуется,
— просто скопировать его содержимое как аргумент команды " ВыводыОписанная в статье методика очистки отлично работает и была не раз проверена автором. Конечно, мы могли бы добиться и более впечатляющих результатов, ужав Ubuntu вместе с Gnome мегабайт до 500, но для описания всех действий, необходимых для достижения такой цели, понадобилась бы целая книга.
|