| |
Note: На этом этапе вместо компиляции портов возможна также установка (уже откомпилированных) пакаджей. В этом случае stage_2.sh будет представлять собой не более, чем перечень команд pkg_add. Я надеюсь, что вы сумеете написать такой скрипт. Здесь мы сосредоточимся на более гибком и традиционном способе с использованием портов.
Следующий скрипт stage_2.sh показывает, как я устанавливаю мои любимые порты. Он может быть запущен любое количество раз и будет пропускать все порты, которые уже установлены. Он поддерживает dryrun-параметр (-n) для только показа того, что будет выполнено. Вы запускаете его точно также, как stage_1.sh, с только одним аргументом, указывающим на конфигурационный файл, к примеру
который будет считывать перечень портов из stage_2.conf.default.
Список портов состоит из строчек с двумя или большим количеством слов, разделённых пробелами: категория и порт, за которыми опционально следует команда установки, которая будет компилировать и устанавливать порт (по умолчанию: make install). Пустые строки и строки, начинающиеся с символа #, игнорируются. В большинстве случаев в них указывается только название категории и порт. Однако некоторые порты могут быть тонко настроены при помощи указания make-переменных, к примеру:
www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_CHATZILLA=yes install mail procmail make BATCH=yes install
На самом деле вы можете указать некоторые команды оболочки, так что не ограничены простыми вызовами make:
java linux-sun-jdk13 yes | make install news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install
Заметьте, что строка для news/inn-stable является примером одновременно задания переменной оболочки CONFIGURE_ARGS. Файл Makefile порта будет использовать это как начальное значение и определит некоторые другие необходимые аргументы. Разница в задании make-переменных в командной строке по команде
news inn-stable make CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" install
заключается в том, что в последнем случае значение будет переназначено, но не расширено. Выбор нужного метода зависит от конкретного порта.
Убедитесь в том, что ваши порты не используют интерактивный режим установки, то есть не должны пытаться читать со стандартного устройства ввода ничего кроме того, что вы им подаёте на вход. Если это всё же происходит, то они будут считывать последующие строки из вашего перечня портов, описываемого в этом документе, и будут работать некорректно. Если скрипт stage_2.sh неожиданно пропустил порт или прекратил работу, причина может быть в этом.
Ниже приводится stage_2.conf.default. Для каждого установленного им порта создаётся файл протокола LOGDIR/category+port.
# vim: syntax=sh # $Id: stage_2.conf.default,v 1.1 2004/01/03 14:07:53 toor Exp toor $ # $FreeBSD: doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.conf.default,v 1.2 2004/01/21 19:39:26 schweikh Exp $ shells zsh lang perl5 make install; use.perl port archivers unzip archivers zip security sudo x11-servers XFree86-4-Server x11 wrapper x11 XFree86-4-clients x11 XFree86-4-documents x11-fonts XFree86-4-font75dpi x11-fonts XFree86-4-font100dpi x11-fonts XFree86-4-fontScalable x11-fonts urwfonts x11-fonts webfonts make WITH_NETSCAPE_ALIASES=yes install x11-toolkits open-motif x11-wm ctwm security openssh-askpass astro xplanet astro xephem editors vim print ghostscript-gnu make A4=yes BATCH=yes install print psutils-a4 print a2ps-a4 print gv print acroread5 print transfig print teTeX # NOTE: jdk14 needs linprocfs(5) mounted or it will hang indefinitely. java linux-sun-jdk14 mount -a linproc; yes | make install java jdk14 mount -a linproc; make -DNODEBUG install www apache2 www weblint www amaya www mozilla-firebird www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_COMPOSER=yes WITHOUT_LDAP=yes WITHOUT_CHATZILLA=yes WITHOUT_XMLTERM=yes install www checkbot www privoxy graphics xfig graphics xv multimedia xawtv graphics graphviz lang expect lang gawk lang TenDRA unset MAKEOBJDIRPREFIX; make install news tin net freebsd-uucp net cvsup-without-gui net pathchar make NO_CHECKSUM=yes install net smokeping ftp wget ftp ncftp3 textproc ispell german ispell-neu german ispell-alt textproc docproj make JADETEX=no HAVE_MOTIF=yes install sysutils samefile sysutils pstree sysutils mkisofs sysutils cdrtools #sysutils grub currently (0.93) marked BROKEN devel ddd devel gindent devel ctags devel ElectricFence devel strace mail procmail make BATCH=yes install mail metamail mail mutt-devel emulators mtools sysutils portupgrade news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install misc figlet-fonts textproc gmat security gpa mail spamoracle multimedia mplayer make WITHOUT_RUNTIME_CPUDETECTION=yes WITH_GUI=yes BATCH=yes install multimedia mplayer-fonts audio wavplay
Сгрузите stage_2.conf.default.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |