Секреты тюнинга Ubuntu 16.04 LTS Xenial Xerus
Недавно я поставил Ubuntu 16.04 и написал обзор, в котором был вынужден констатировать полную непригодность Xenial Xerus для реальной работы: дистрибутив тормозит и часто падает. Неделя ушла у меня на стабилизацию и разгон. Делюсь своими наработками с вами.
1. Выкидываем мусор
Пишем в терминале dpkg -l
, проходимся по списку и выкидываем всё ненужное. Главный вопрос в том, что считать ненужным. Тут два критерия:
1. Вы этим пользуетесь? Нет? Выпиливаем. Например, CUPS на ноутбуке, с которого вы не печатаете. Или поддержка Bluetooth, если её на вашем компьютере либо нет, либо вы не пользуетесь Bluetooth вообще. Не жалейте ничего. Всегда можно будет установить пакеты, если они вдруг потребуются.
2. Вредит приватности? На помойку! Примеры: zeitgeist (жрет ресурсы, следит за активностью пользователя, реальной пользы ноль). Или apport (шаттлвортовская поделка, отправляющая подозрительно большой объем информации о системе при каждом падении любой из программ). Линзы туда же.
Удаляете с помощью apt-get remove. В конце делаете autoremove. Потом берете history, закатываете в .sh-файл и заливаете на GitHub. Это чтобы каждый раз руками не чистить.
2. Расправа над сервисами
Пишем в терминале:
systemctl -a -t service | grep " active"
Чего тут только нет... Отключаем ненужное с помощью systemctl disable
. Что ненужное? Тут сложнее и каждый решает за себя сам. Я, например, со спокойной душой выпиливаю, помимо прочего, AppArmor, хотя среди хомячков немало «спецов» по информзащите, которые будут с пеной у рта доказывать, что без AppArmor ну ни как. Я же считаю, что он нужен только тогда, когда: 1) пользователь разбирается в его настройке, а не полагается на готовые профили; 2) используется для ограничения программ, к которым имеется доступ из сети (т.е. на сервере), а на десктопе лучше вообще обрубить все входящие соединения и выпилить AppArmor. Но дело вкуса.
Почему службу AppArmor нужно останавливать вместо того, чтобы еще на первом шаге удалить пакет? Так Шаттлворт умудрился сделать AppArmor зависимостью к MySQL, MySQL нужен многим сам по себе, к тому же он в зависимостях у некоторых прикладных программ.
Не забудьте сохранить этот список, чтобы не сидеть в размышлениях при следующем апдейте. Делаете tail ~/.bash_history
и закатываете на GitHub.
3. Ускорение Ubuntu
Предыдущие шаги были сделаны для стабилизации Ubuntu, для того, чтобы убрать из ОЗУ хотя бы часть падучих программ. Следующий шаг — ускорение. Запускаем top и смотрим, какие процессы не дают Убунте взлететь.
Самое слабое место Ubuntu 16.04 — Compiz. Он сильно тормозит даже при простое. А иногда и вовсе пытается прилечь.
Я решил его пересобрать, выкинув ненужное и задав ключи оптимизации для GCC. Пересобрать — проще простого. Грамотно пересобрать, запилить deb-пакет и произвести замену — целое искусство. Вам понадобится установить средства разработки и apt-src для загрузки пакетов с исходным кодом и сборки. Учтите, что при сборке пакет потянет за собой большое количество зависимостей, поэтому заниматься этим стоит либо на запасном компе, либо в виртуальной машине, либо оградиться хотя бы с помощью chroot. Но это уже тема для отдельной статьи.
Ищем через top самые неторопливые программы и пробуем пересобрать пакеты с ними. Не всегда прокатывает высший уровень оптимизации gcc -O3, но для некоторых пакетов его можно использовать и получить существенный прирост производительности.
Я заодно пересобрал еще и Ruby, получив заметный прирост для уже написанных на нем программ. Мой прогноз: самопальные deb-пакеты — главный тренд 2016 года, а apt-src станет лучшим другом специалиста по тюнингу операционных систем. Если Шаттлворт берет Debian, запускает apt-src build и получает Убуку, которой пользуются миллионы, то чем ты, дорогой читатель, хуже?
apt-src — мощный инструмент, который позволяет загружать, компилировать и устанавливать программы из исходного кода. Зачем это нужно? Для того, чтобы получить возможность провести оптимизацию программы под архитектуру конкретно вашей машины. Кроме этого, пользователь apt-get может включить или отключить заданную функциональность у программы и высвободить вычислительные ресурсы.
Резюме
- Удаляем ненужные пакеты.
- Отключаем ненужные сервисы.
- Поторапливаем тормозов.
В итоге оттюнингованная Ubuntu 16.04 LTS Xenial Xerus работает как часы. За неделю тестирования ни единого разрыва. Сравните это с установкой по умолчанию:
Скорость возросла, хотя и обогнать Gentoo или Arch вряд ли получится.
Результатом я доволен и принял решение пока оставаться на Ubuntu.
Комментарии
old_astronaut
23 июня, 2016 - 23:44
Ubuntu Premium Vasyan&Kolyan Edition?
pomodor
25 июня, 2016 - 01:54
Нет, так Ubuntu 16.04 и осталась. Никто не запрещает модифицировать некоторые пакеты. Более того, это поощряется и в штатном репозитории есть инструменты для этого. Другое дело, что некоторые ссут что-то менять. А некоторые не могут в силу интеллектуальных ограничений. Тогда остается только на форумах всякую муть типа "Premium Vasyan" писать.
Чингачгук
23 июня, 2016 - 23:45
А теперь берем Debian и делаем то же самое, в итоге система у вас не просто летает, а летает на гиперзвуке. Смысл теперь оставаться на Ubuntu? Возвращайтесь к корням и это будет самым вашим правильным решением.
pomodor
25 июня, 2016 - 02:02
Я не могу вернуться просто по той причине, что никуда не уходил. Серьезные машины как были на Debian 8 лет так на нем и остаются. Я о серверах, где Debian идеален и почти не имеет альтернатив (кроме CentOS, но для меня это не вариант).
Чингачгук
7 ноября, 2016 - 05:10
Debian na Acer Aspire D270 временами виснет намертво. Настройки и переустановки не помогают. Проблемы с видео на Intla GMA3600.
jtad
24 июня, 2016 - 00:12
добавлю еще что деактивация сервиса в systemd не означает что сервис не может быть запущен каким-нибудь другим сервисом через одноименный .socket. Или даже просто стартанет если стоит у него в зависимости. Кое что я уже описывал в блоге, но об очень многом умолчал. Поэтому сервисы надо маскировать (mask).
В линухе есть возможность на лету изменять параметры ядра через файл /etc/sysctl.conf (или как обычно добавить файл конфигурации в /etc/sysctl.d, но тогда нужна перезагрузка, sysctl -p не сработает). Тут настройки касающиеся в основном памяти и сети, можно дополнительно снизить нагрузку на sdd. У меня их около 40 набралось, в арчвики можно подглядеть как примерно это выглядит
не забываем fstab — опции монтирования тоже важны. У меня для ext4 добавленны
поменять шедулер на более подходящий. К сожалению bfq не всем доступен. Для ssd рекомендован NOOP например
dnsmasq о котором автор уже рассказывал у меня тоже на первом месте + добавить оптимальный MTU, Но это уже мелочи
одно время я пользовался быстрым альтернативным композитным менеджером compton, деактивировал полностью compositing и кинул в автозагрузку compton -CGb. Для слабых машин может быть полезно. Однако заметил траблы в играх типа assaultcube и слез с него
upd: блин конечно tmpfs как же без него. Что то типа
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
jtad
24 июня, 2016 - 00:33
интересно а есть в федоре альтернатива apt-src? Я бы например фокс пересобрал. Имеет смысл на все 100%.
pomodor
24 июня, 2016 - 00:50
А как же? :) rpmbuild запиливает RPM-пакет на основе SPEC-файла.
Чингачгук
24 июня, 2016 - 15:01
Нет бы шоб выложить готовый дистрибутив.
pomodor
25 июня, 2016 - 02:07
Зачем? А вдруг я туда хохмы ради rm -rf / запилил? Пользоваться нужно только надежными и проверенными решениями. Скачивать только с официальных сайтов и MD5 проверять в придачу.
Вы меня знаете? Тогда почему думаете, что я не способен руткит в дистрибутив вставить?
Чингачгук
24 июня, 2016 - 16:13
Самое простое и радикальное решение — установить полноценную Семёрку максимальную. С гарантированной вечной активацией и со всеми обновлениями. И с блокировкой обновления до Десятки. ВСЁ ЭТО сегодня ЕСТЬ!.
Чингачгук
24 июня, 2016 - 20:07
Да седьмая убунта уже ни на что не годится.
pomodor
25 июня, 2016 - 02:22
Перевожу на русский:
Самое простое и радикальное решение — пойти подставить зад Microsoft. В обмен на это получить яркие бусы. В подарок — анальная смазка. ВСЁ ЭТО сегодня ЕСТЬ!
Спасибо, уважаемый, но свободу я не меняю. Я лучше буду жить в спартанских условиях в Linux и буду хоть каждый день решать проблемы, нежели пойду и поставлю то говно, о котором уже сто раз написали, что оно прёт с компа всё, что можно. Я не доверяю Microsoft и мне не нравятся операционные системы, падающие от первого встречного вируса, а то и без повода вовсе.
Чингачгук
25 июня, 2016 - 09:20
Разговоры о свободе это в основном демагогия. Вы сможете сформулировать, в чем выражается посягательство на свободу? Вам нравится возиться с дистрибутивами, совершенствовать их. Мне нужна полноценная комфортная система. Почти год как я обновился до Десятки. НИ ОДНОГО ГЛЮКА! Ради интереса поработал на дистрибутиве Линукса (название здесь запрещено называть) около двух месяцев. (Возможно, перейду на него, когда выйдет релиз Р8(нужна латинская буква)). Почему вернулся на Десятку? Потому что в этой ОС я чувствую себя свободным. Не верю я вашему свободолюбию. Повторяете пропагандистские штампы.
pomodor
26 июня, 2016 - 00:19
Если это демагогия, то зачем же я буду продолжать пытаться что-то фомулировать? Я лучше вспомню древний мудрый совет не метать бисер перед свиньями. Нравится 10-ка? Ради бога! Разговоры о свободе — демагогия? Ну так обменяйте ее на комфорт. У меня нет цели отговоривать хомячков от идеи прыжка в пропасть.
Чингачгук
26 июня, 2016 - 23:47
Чувства обманчивы. Наркоман тоже чувствует себя свободным и способным летать, когда выходит в окно.
Чингачгук
20 сентября, 2016 - 15:48
Это Вы не пользуетесь Инетом ;) Потому, как падает она бысто-быстро. Ну или докупаем антивирус, им тормозим свой ПК, и спокойно работаем ;)
Чингачгук
24 июня, 2016 - 17:34
Гораздо проще выбрать другой дистрибутив. Особенно для новичка.
pomodor
25 июня, 2016 - 02:22
Ну так выбери, раз тебе проще
Чингачгук
25 июня, 2016 - 11:49
Почему вдруг ко мне на ты, а к другим на Вы, даже пишущим про Вас откровенную гадость? Что за дискриминация? Могу быть в чем то с Вами не согласен, но уважаю Вас как администратора и никогда Вам не тыкаю.
pomodor
25 июня, 2016 - 21:08
Тогда пардоньте. По стилистике предположил, что школьник пишет.
Чингачгук
25 июня, 2016 - 21:49
Все нормально, проехали, забыли.
Чингачгук
24 июня, 2016 - 18:10
Скачать сырой дистрибутив, прокомментировать его изъяны...Затем провести уборку нечистот. И всё это вынести на публику! Достижение епт! Понятно, когда сделан годный дистрибутив — людям радость и польза! А так...Извращение суетливого бездельника. Злого и тщеславного.
pomodor
25 июня, 2016 - 01:25
Вам бы голову подлечить, а не на форумах в разговоры умных людей встревать.
Чингачгук
25 июня, 2016 - 01:43
Человек поделился полезными советами. Спасибо, что хоть кто-то пишет на эти темы! Где ты тут, чмо, усмотрел извращение? У кого что болит, тот о том и говорит?
Чингачгук
24 июня, 2016 - 19:59
надо указать что за железо иначе это гадание на кофейной гуще
у меня на asrock H-55 IC i3 3.08 mac 10.11 пулей летает и без сбоев, Xubuntu 14 LTS без проблем и ошибок быстро, мастдай 10/64 тоже без проблем, но тормозит сильно по сравнению с маком особенно загрузка и выгрузка
PS
какой мучитель придумал капчу с 10 раза прошла
pomodor
25 июня, 2016 - 02:24
Статья об удалении программ, отключении сервисов и пересборке пакетов. Гадание тут каким боком?
Sunrise
24 июня, 2016 - 20:53
Неплохо! Кстати, а что Вы думаете о Linux Mint? Сам сижу на нём. Скоро выходит новая версия.
pomodor
25 июня, 2016 - 01:24
Думаю, что Mint перестал существовать в тот самый момент, когда Лефеврушечка продемонстрировал общественности какой он ламер. Пользоваться дистрибутивом от ламера — себя не уважать.
А раньше был ничего дистрибутив. Ставил домохозяйкам и они говорили "спасибо". Больше Убунты им нравился.
FreeWebber
2 июня, 2018 - 09:43
Каким образом продемонстрировал?
Жопс думаешь не был ламером? -__-
Texnoline
3 июня, 2018 - 05:10
Ламер? а по продуктам его компании, так не скажешь:) Маркетологом он был уж очень успешным, пипл до сих пор в очередях стоит на двух континентах, за новыми версиями!:)
Чингачгук
25 июня, 2016 - 07:17
Однако, если у ламера получается более юзабельный дистрибутив, чем у Canonical, то какие "спецы" сидят там? ;-)
pomodor
25 июня, 2016 - 21:11
Тоже неважнецкие, никто не спорит. Но факапов с безопасностью у Canonical не было. Когда Убунта сливала поисковые запросы, то я ей и не пользовался. Сейчас слив по умолчанию отключили. Шатлворт как бы просит прощение и одновременно предлагает дать ему второй шанс. Почему нет? ;)
Чингачгук
26 июня, 2016 - 16:10
Чтобы вновь начать пользоваться убунтой, нужно было подождать пока за Вас Шатлворт голочку слива по-умолчанию в положение "выкл" поставит? Я, конечно, тоже ленивый, но что б настолько..
pomodor
26 июня, 2016 - 16:18
Нужно было подождать пока разработчик изменит свое отношение к приватности пользователей. Что не понятно?
DarthVadimius
25 июня, 2016 - 14:31
Статья достаточно интересная. БОльшая часть, касающаяся отключения ненужного, относится и ко всем остальным дистрибутивам. Но для пересборки пакетов под себя лучше использовать специально предназначенные дистрибутивы, имеющие возможности по тонкой настройке. Это Gentoo, Arch, Slackware и т.п. В Gentoo вообще можно при сборке включить оптимизацию под свой процессори т.п. Если занимаемся пересборкой пакетов в бинарном дистрибутиве, то при этом теряются все его преимущества.
Чингачгук
26 июня, 2016 - 21:42
Тема рабочего стола разбираемой Убунты заимствована у яблочников. В "Картинках" Яндекса следует набрать Обои для МакОс — и среди них можно найти ЕЁ. Хороший экземпляр. Установил у себя.
jtad
27 июня, 2016 - 01:57
раз уж на то пошло нашел там тоже красивую обоину с луной :) Плюс интересный набор иконок Paper
:)
Чингачгук
27 июня, 2016 - 18:56
>> выпилить композит
не проще поставить лубунту? дебиан конешно хорошо, но он например не умеет искаропки с ppa устанавливать, и много других полезных мелочей
Чингачгук
23 ноября, 2016 - 18:06
Фигово.
Угу. И в итоге когда в поле/лесу/чужом офисе к твоему ноуту подключат *произвольный принтер* чтобы попечатать тебе будет показан ***. Я уж не говорю о том, что большое количество "конвертаций в PDF" завязано на виртуальный PDF-принтер от CUPS-а. Так что совет-то спорный.
Упс =) =) Вообще говоря, "незнание зачем нужна технология — это твои проблемы, а не проблемы технологии". И да, отключать AppArmor именно на ПОЛЬЗОВАТЕЛЬСКИХ компьютерах — безусловно плохая идея.
apt-build сделает это за тебя. Или вопрос был в том, чтобы продемонстрировать "целое искусство" а не в достижении результата?
Получится. Только для этого вместо всего, что советуют в этой статье достаточно сделать три вещи:
1) apt-build world
2) Заменить unity на что-то более приличное (IceWM например)
3) Заменить LightDM на что-то более приличное.
И всё.
Чингачгук
23 ноября, 2016 - 18:11
Вообще с таким подходом предлагаю perl удалять. Не нужен же =) =)
Чингачгук
14 февраля, 2017 - 15:06
А есть программа, которая предоставляет возможность не "рыться" с терминалом и командами, а прямо в графическом интерфейсе, как в windows? Подойдёт Synaptic?
gundenaf
14 марта, 2017 - 18:18
Увы, уровень знаний не позволяет пересобрать пакеты с самыми неторопливыми программами(
pomodor
14 марта, 2017 - 20:34
Это проще, чем кажется. Deb-пакеты с исходниками уже содержат все необходимые инструкции по сборке.
gundenaf
15 марта, 2017 - 08:25
Спасибо, гляну матчасть.
Чингачгук
19 мая, 2017 - 10:28
Над бы вместо systemctl...
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf
Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала.
Комментировать