06.30.08
Компиляция програм в Linux
Ситуация, когда программа доступна только в исходниках бывает очень огорчительна, когда не знаешь что с ними делать. Здесь отличный мануал по основным проблемам. Как итог, захотелось вкратце записать отдельно.
- Перед сборкой (если собирается ядро) будет скопировать распакованные из архива исходники в /usr/src и далее возиться с ними там или же в где-то в домашнем каталоге юзера.
- Если отсутствует
configure, собираем его командамиbootstrapилиautogen.sh. Если нет и таких скриптов, то пробуем
aclocal
autoheader
automake --gnu --add-missing --copy --foreign
autoconf -f -Wall - Дальше — классика:
./configure
make
И из под рута
make install
От себя отмечу полезную опцию для владельцев многоядерных процессоров. Команду make можно запускать с ключем -j N, где N — количество задач, запускаемых во время компиляции одновременно. Даже на одном ядре скорость компиляции существенно повышалась.
LG.BALUKATION сказал,
Суббота, 18 Октябрь, 2008 в 23:49
права root’а как правило нужны только для установки (make install), отличия от этого правила не есть хороший тон…
Engraver сказал,
Воскресенье, 19 Октябрь, 2008 в 00:05
Если выполнять компиляцию в домашнем каталоге, то права рута действительно не нужны. Но если я собираю в /usr/src, то мне ж туда с правами на данный каталог по умолчанию система просто не позволит писать. Или какие-то права юзеру можно кошерно добавить?
LG.BALUKATION сказал,
Воскресенье, 19 Октябрь, 2008 в 02:30
Не обязательно собирать всё в /usr/src, но если так уж хочется – можно дать юзеру право писать туда. Обычно такие моменты решаеются на уровне групп, но при большом желании можно и ACL задействовать.
На самом деле сейчасвроде толькоодин компонент системы имеет смысл там собирать – ядро. Просто некоторая его сборочная инфа нужна всяким сторонним драйверам бывает и они тогда смотрят в классическом /usr/src/linux. Например в Gentoo вообще весь софт собирается в недрах временных директорий и потом толькокопируются результаты.
Про праа рута просто этой весной забавную штуку слышал, что ведь на самом деле многие делают конфиг/сборку/установку от имени суперюзера – типа удобно и запар никаких… Но ведь никто почти не смотрит, что именно там делается, а власть рута очень обширна и так можно специально/случайно систему не хило подпортить.
Engraver сказал,
Воскресенье, 19 Октябрь, 2008 в 10:53
Благодарю за инфу, подправил заметку