Pages

четверг, 29 января 2009 г.

Пересборка системы на примере Mint 5_fluxbox



В этом посте небольшой пример оптимизации свежеустановленной системы 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) на Википедии.
Возможности apt-build
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 получил заметное ускорение.

Понравился пост? Подпишись на обновления блога по Tuxologia RSSRSS, Tuxologia по EmailEmail или twitter!

Внимание!
Блог Tuxologia теперь dofollow, но это не значит что можно оставлять бессмысленные комментарии.
Хороший, качественный комментарий останется здесь навсегда.
У коротких записок в стиле твиттера нет шансов.

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.

Интеллект — это способность избегать выполнения работы, но так, чтобы она при этом была сделана.