Pages

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

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


четверг, 18 декабря 2008 г.

Apt-get Солярка!



Проект Nexenta - очередное доказательство превосходства системы Apt (advanced packaging tool) по простоте и удобству над другими способами управления пакетами софта в мире Gnu/Linux/Unix.
Мало того, что Apt вышла за пределы Debian и производной от него Ubuntu и перекочевала в rpm-содержащие дистрибутивы (например, AltLinux), по пути наклонировав приличное наследство осей характера .deb, так ещё и вмешалась в работу уже традиционных unix-динозавров - FreeBsd (дебиан с бсдэшным ядром) и OpenSolaris (Nexenta - основа Ubuntu и утилиты Gnu на ядре OpenSolaris для платформ x86 и x64).


Разработки проекта начались ещё в 2005 году, и на сегодняшний день он насчитывает полдюжины релизов. Nexenta делится на две части - это NexentaOS and NexentaCore. Первая представляет собой готовую операционку с графическим окружением, вторая - облегчённый консольный вариант, наподобие Ubuntu Server, с возможностью доработки системы из репозиториев по собственным предпочтениям. Я остановился на втором варианте.

Образ nexenta-core-platform_1.0-b82 весит чуть больше 400 мб, установка, как в случае с Solaris типовая, без подводных камней, по-человечески продуманная. По крайней мере, заморочек я не почувствовал.
После завершения быстрой установки и ребута, попадаешь в голую консоль, где классически предлагается залогиниться.
Поскольку создание безгуевого сервера не входит в мои планы, я слазил на домашнюю страничку и пробежался по faq'у.


Для установки окружения Gnome нужно добавить в привычный /etc/apt/sources.list строку репозитория deb http://www.nexenta.org/apt-gnusolaris elatte-unstable main contrib non-free .
И после apt-get update появляется возможность установить связку xorg+gnome(стол, оффис, утилиты) - apt-get install nexenta-gnome. Apt сообщает, что нужно скачать 400 с хвостиком мб и после распаковки пожертвовать гигабайтом с лишним места на разделе. В случае не очень быстрого интернета - запасайся терпением, заодно будет время почитать всё тот же faq.

Загружаемся в Gnome.


Почти родные оттенки.


Меню:


Характеристики:

Файловая система - zfs.
Ядро - 5.11.
Стандартные репозитории содержат 12532 пакета.

Оценки:
Идея: 5+
Реализация: 4
Отзывчивость: 5
В целом я получил хороший ? (Unix) , с надёжным ядром и очень приличной поддержкой софта. Один не очень существенный минус - в репозиториях я не нашёл linuxdcpp, возможно, плохо искал, а так хотелось с одного щелчка...



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