Pages

Показаны сообщения с ярлыком apt-build. Показать все сообщения
Показаны сообщения с ярлыком apt-build. Показать все сообщения

четверг, 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 получил заметное ускорение.


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