В этом посте небольшой пример оптимизации свежеустановленной системы Mint на платформе fluxbox с помощью утилиты управления исходниками программ в репозиториях — apt-build. Отважным тестерам рекомендую экспериментировать на виртуальной машине: удобно прерывать процесс сборки и возвращаться к «снимку».
Что из себя представляет apt-build? Не вдаваясь в копи-пасты, отсылаю сюда, хорошая статья, всё доступно описано уже.
Следует учесть, что после успешного apt-build world будет бессмысленно запускать apt-get update, останется только apt-build.
1ый шаг.
Ставлю Linux Mint самым обычным способом. Флюксовая сборка будет самой подходящей и быстрой.
2ой шаг.
Загружаю свежеустановленную систему. В окне GDM лучше выбрать failsafe режим с одной консолькй и в ней производить действия, чтобы максимально разгрузить систему (во избежание случайного зависания), на реальной, не виртуальной машине воспользоваться одной из консолей (ctrl-alt-fX).
Раскомментирую все репозитории, особенно нужны «сорцы»:
sudo nano /etc/apt/sources.list
Устанавливаю по статье apt-build, настраиваю под свою архитектуру. Оффтоп: эти манипуляции (на скришоте) одновременно проводились в KDE 4, опыты с ускорением. Сыроваты кеды (не выдержали усиленной перекомпиляции: plasma не поднялась)
Также понадобится пакет pbuilder для работы с зависимостями.
После всех описанных в статье манипуляций (dpkg-reconfigure apt-build) пробуем команду: apt-build world и даём пересобраться системе, в случае сбоя и отсутствия исходника, доделываем остальное руками.
Не лишним будет почитать об оптимизации (и здесь тоже ), возможно, потянет к Gentoo 🙂 .
Кое-что об инструментарии apt.
Apt How-To
И Apt (Advanced Packaging Tool) на Википедии.
Man apt-build
apt-build — Fetch sources and build packages optimized for your architecture.
SYNOPSIS
apt-build [ options ] [ update ] [ upgrade ] [ world ] [ install pkg ] [ remove pkg ] [ info pkg ]DESCRIPTION
apt-build is an apt-get frontend to build and install architecture optimized packages.COMMANDS
update Retrieve new lists of packages /Обновляет лист пакетов в репозиторииupgrade
Perform an upgrade /Производит обновление пакетов в системеworld Rebuild your system /Полная пересборка системы
install
Build and install new packages /Базовая команда — скачать и установить новые пакетыsource Download and extract source in the build directory /Скачивает исходники и сохраняет в директорию сборки, которую указали при настройке apt-build
info Info on a package which could be built /Информация о пакете
remove Remove packages /Удаление
clean-build
Erase built packages /Удаляет собранные пакеты в папке для сборкиclean-sources
Call debian/rules clean in source directories /Удаляет исходники в папке для сборкиbuild-source
Build source without installing them /Сборка исходника без установкиupdate-source
Update sources and rebuild them if they are missing in the repository /Обновить список исходников и собрать заново в случае ошибки пакетаbuild-repository
Rebuild the repository /Пересобрать репозиторийOPTIONS
—help
Shows help—nowrapper
Do not use the gcc wrapper /Не использовать оболочку gcc—remove-builddep
Remove build-dependencies installed by apt-build /Удалить все зависимости, которые устанавливались apt-build—no-source
Don’t download source /Не загружать исходники—build-dir
Specify build-dir /Специальный путь для сборки—build-only
Build package only /Собрать без установки—rebuild
Rebuild a package /Собрать заново
—reinstall
Build and install an already installed package /Собрать и переустановить пакет—build-command
Use this command to build package /Использовать команду для сборки пакета—patch
Apply this patch before build (you can use this option one or several times) /Наложение патча перед сборкой—patch-strip, -p
Prefix to strip on patch (0 = -p0, 1 = -p1 …) /Использовать серию патчей—yes, -y
Assume yes /Согласие—purge
/Очистить вместо удаления—noupdate
Do not run ’apt-get update’ before package installation /Не запускать apt-get update перед установкой—sources-list
Specify sources.list file /Использовать специальный source-файл с репозиториями—apt-get
Specify an alternative apt-get command /Альтернативная команда—apt-cache
Specify an alternative apt-cache command /Альтернативная команда—force-yes
Force yes /Форсированно соглашаться—source
Do not download source (sources are extracted already) /Не загружать исходники—repository-dir
Specify the repository directory /Использовать указанную директорию репозитория—target-release
Distribution to fetch packages from /Использовать пакеты из заданной директории—config
Specify an alternative configuration file /Альтернативный файл конфигурации /Использовать альтернативный конфиг—version, -v
Show version /Показать версию
В принципе, можно отказаться от рисковых затей пересборки системы, установить ось по-минимуму и добавлять остальное пошагово с помощью apt-build, этот метод исключит возможные ошибки и внезапные сбои системы.
Или, что более правильно, отдельно пересобирать элементы системы, как, например, fluxbox (gdm и прочие части гнома и xfce, полный список легко получить в synaptic с сортировкой installed): sudo apt-build install —reinstall fluxbox.
В процессе бесконечных сборок появится много мусора, как почистить жёсткий диск описано в подробностях здесь.
В любом случае, освоение новых возможностей Apt, как минимум, даст плюс n копеек в копилку личного опыта, а также быстродействия системы.
В свете вышеизложенного Mint получил заметное ускорение.