Рубрика: "Gentoo Linux"
Использование overlay в Gentoo
Overlay (оверлей) используется для добавления или замены ебилдов в дереве пакетов. Каталог оверлея имеет структуру, аналогичную дереву пакетов. При работе emerge содержимое оверлеев виртуально накладывается поверх основного дерева пакетов, заменяя существующие файлы или дополняя новыми файлами.
Использование source-rpm в Gentoo
В этой заметке я опишу использование source rpm (*.src.rpm) в Gentoo Linux.
Для начала установим rpm:
emerge app-arch/rpm
Далее нужно посмотреть зависимости пакета:
rpm -qp --qf "[%{REQUIRENAME} %{REQUIREFLAGS:depflags} %{REQUIREVERSION}\n]" kernel-2.6.18-194.17.4.el5.src.rpm
Описание на примере kernel-2.6.18-194.17.4.el5.src.rpm – исходники ядра Linux в CentOS.
При необходимости установите нужные пакеты.
Теперь устанавливаем пакет:
rpm -Uvh --nodeps kernel-2.6.18-194.17.4.el5.src.rpm
Spec-файлы (нечто вроде сценария компиляции) и исходники теперь разложены по соответствующим каталогам в /usr/src/rpm. Собираем исходники следующим образом (в случае с ядром мы получим нормальный каталог с исходниками CentOSовского ядра):
cd /usr/src/rpm/SPECS
rpmbuild --nodeps -bp --target=`uname -m` kernel-2.6.spec
USE-флаги и маски для отдельных пакетов (/etc/portage/package.*)
В этой статье я опишу методы установки USE-флагов, масок и размаскировок для отдельных пакетов в Gentoo.
Portage + SQLite
Использование SQLite для хранения кэша portage может значительно увеличить скорость работы emerge.
Для этого необходимо:
Не устанавливать документацию в Gentoo
В Gentoo Linux легко можно отказаться от установки документации (/usr/share/doc), info- (/usr/share/info) и man- (/usr/share/man) файлов. Достаточно прописать FEATURES="nodoc noinfo noman" в /etc/make.conf. Правда необходимость этого действия сомнительна – все эти файлы вместе взятые занимают не более пары сотен мегабайт.
P.S. При прописывании переменной FEATURES будьте внимательны, не перезапишите предыдущие значения. Если строк несколько, то они должны выглядеть примерно так:
FEATURES="ccache" FEATURES="${FEATURES} nodoc noinfo noman"