Posts Tagged ‘gentoo’
i ♥ gentoo
Thursday, July 16th, 2009ebuild для Дженту за 15 минут
Friday, March 7th, 2008 Для нового мега проекта Danaki для inbox.lv (уже в стадии подготовки к запуску) необходимо было установить последний lighttpd версии 1.5 которого ещё нет в официальном Gentoo.
Ставить из tarball’а не кошерно, решил сделать свой ebuild из существующего для 1.4.18. Делал подобное первый раз без каких-либо познаний в этом деле. За 20 минут я:
- исправил URL для 1.5
- добавил нашу заплатку для кода
- добавил новую зависимость (aio)
- добавил новый USE флаг
- изменил конфигурационные файлы для lighttpd по умолчанию
Ничего сложного :)
Поиски причин segfault под Gentoo
Saturday, January 26th, 2008Пришлось на днях поразвлекаться с gdb и падающим в segmentation failure PHP. Вот несколько советов по получению удовлетворительного результата под hardened Gentoo:
- ставим размер coredump’a бесконечным:
ulimit -c unlimited
- прописываем путь для коры:
echo "/tmp/core.%p-%t" > /proc/sys/kernel/core_pattern
- переключить компилятор gcc на vanilla (ВАЖНО!):
gcc-config i686-pc-linux-gnu-3.4.6-vanilla
- запускаем сборку с дополнительными опциями:
EXTRA_ECONF=" --enable-debug" FEATURES="nostrip" emerge -a php
После падения по segfault смотрим результат:
gdb /usr/bin/php-cgi /tmp/core.bla-bla-bla
Подводные камни патча Grsecurity
Sunday, January 20th, 2008 На днях столкнулся с проблемами при использовании ядра, собранного из sys-kernel/hardened-sources в Gentoo с включенными опциями grsecurity. Долго не мог понять в чем дело – gcc постоянно падал в segfault при сборке большинства пакетов, в то время как tar паковал пару гигов через bzip2 на ура. Поменяли проц и мамку – без результата.
Дело оказалось в опции CONFIG_PAX_NOEXEC из раздела Security options->PaX->Non-executable page. После полного отключения фичи Non-executable pages компилятор всё таки заработал.
Данная проблема явилась для меня сюрпризом, так как я уже долгое время работаю с ядрами линукс с включенным PAX’ом под amd64 без каких-либо нареканий. В этом же случае, система оказалась i686 на базе процессора Pentium4 без поддержки NX бита.