This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

Прикладные программы

Chapter 5. Прикладные программы

Q: Итак, где находятся все прикладные программы?
Q: Почему возможности /bin/sh так малы? Почему бы во FreeBSD не использовать bash или какой-либо другой командный процессор?
Q: Где найти библиотеку libc.so.3.0?
Q: Выдаются сообщения "Error: can't find libc.so.4.0"
Q: ghostscript выдаёт массу сообщений на моём 386/486SX.
Q: При запуске приложения SCO/iBCS2, он прерывается на socksys.
Q: Как настроить INN (Internet News) на моей машине?
Q: Какую версию Microsoft FrontPage я должен иметь?
Q: Поддерживает ли FreeBSD среду Java?
Q: Почему некоторый порт не компилируется на моей машине с 3.X-STABLE?
Q: Где найти ld.so?

Q: Итак, где находятся все прикладные программы?

A: Пожалуйста, загляните на страницу портов, содержащую информацию о программных продуктах, перенесённых во FreeBSD. На данный момент в этом списке находится более 1800 приложений и он ежедневно увеличивается, так что почаще туда заглядывайте или подпишитесь на список рассылки freebsd-announce, в котором публикуется информация о появлении новых приложений.

Большинство портов предназначено для версий 2.2, 3.x и 4.0, и многие из них должны нормально работать на системах версий 2.1.x. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода коллекция портов.

Мы также поддерживаем концепцию ``пакаджа'', являющегося не более чем упакованным дистрибутивом в бинарной форме с некоторыми встроенными возможностями по его настройке во время установки. Пакадж может быть легко проинсталлирован и деинсталлирован снова без углубления в детали того, какие файлы должны быть инсталлированы.

Используйте меню установки пакаджей в /stand/sysinstall (в пункте меню post-configuration) или запускайте pkg_add(1) с указанием конкретных файлов с пакаджами, которые вы хотите проинсталлировать. Файлы с пакаджами, как правило, идентифицируются по их постфиксу .tgz, а для тех, кто имеет дистрибутив системы на компакт-диске, предназначен каталог packages/All, содержащий все эти файлы. Они также могут быть получены по сети для разных версий FreeBSD со следующих серверов:

или с ближайшего к вам зеркального сервера.

Имейте в виду, что не все порты могут быть доступны в виде пакаджей, так как постоянно идёт добавление новых. Неплохо время от времени проверять, какие пакаджи доступны на основном сервере ftp.FreeBSD.org.

Q: Почему возможности /bin/sh так малы? Почему бы во FreeBSD не использовать bash или какой-либо другой командный процессор?

A: Потому что в стандарте POSIX сказано, что все командные процессоры должны вести себя так же, как shell.

Более подробный ответ заключается в следующем: многим требуется, чтобы разрабатываемые скрипты для командного процессора были переносимы между многими системами. Именно поэтому в POSIX очень подробно описан командный процессор и набор утилит. Большинство скриптов пишутся на языке процессора Bourne shell, к тому же некоторые важные программные вызовы (make(1), system(3), popen(3) и их аналоги на языках скриптов высокого уровня, таких как Perl или Tcl) предполагают для интерпретации команд использование именно Bourne shell. Так как Bourne shell используется столь широко и часто, то очень важно, чтобы он стартовал очень быстро, его поведение было строго регламентировано и при этом потребности в оперативной памяти были малы.

В имеющейся реализации мы приложили максимум усилий для воплощения в жизнь всех этих требований одновременно. Для того, чтобы сохранить /bin/sh небольшим по размеру, мы не включили многие из обычных возможностей, которые имеются в других командных процессорах. Однако в Коллекцию Портов включены командные процессоры, обладающие гораздо большими возможностями, такие, как bash, scsh, tcsh и zsh. (Вы можете сами сравнить использование памяти всеми этими оболочками, посмотрев в колонки "VSZ" и "RSS" вывода команды ps -u).

Q: Где найти библиотеку libc.so.3.0?

A: Похоже, что вы пытаетесь запустить пакадж, построенный в системе версии 2.2 и выше, на системе версии 2.1.x. Пожалуйста, прочтите предыдущий раздел и найдите подходящий для вашей системы порт или пакадж.

Q: Выдаются сообщения "Error: can't find libc.so.4.0"

A: Вы случайно скачали пакаджи, предназначенные для систем версий 4.X и 5.X и пытались установить их на вашей системе FreeBSD версий 2.X или 3.X. Пожалуйста, скачайте подходящие версии пакаджей.

Q: ghostscript выдаёт массу сообщений на моём 386/486SX.

A: У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой емулятор сопроцессора; это делается добавлением следующей строки в файл конфигурации ядра и последующей его перекомпиляцией.

        options GPL_MATH_EMULATE
      

ЗАМЕЧАНИЕ Если вы поступаете таким образом, вам нужно будет убрать опцию MATH_EMULATE.

Q: При запуске приложения SCO/iBCS2, он прерывается на socksys.

A: Прежде всего вам нужно отредактировать файл /etc/sysconfig (или /etc/rc.conf), изменив в последнем разделе значение следующей переменной на YES:

        # Set to YES if you want ibcs2 (SCO) emulation loaded at startup
        ibcs2=NO
      

Это включит загрузку модуля поддержки ibcs2 на этапе загрузки системы.

Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он выглядел следующим образом:

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
-rw-rw-r--  1 root  wheel         0 Oct 28 12:02 null
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx
      

Работа с socksys была значительно упрощена по ставнению с более ранними версиями. Socksys должен указывать на /dev/null, чтобы обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё остальное. Если вам нужен драйвер spx для подключения X по локальному сокету, определите переменную SPX_HACK при компиляции системы.

Q: Как настроить INN (Internet News) на моей машине?

A: После инсталяции пакаджа или порта для inn, для начала загляните на страничку Дэйва Бэрра (Dave Barr), посвящённую INN, где вы найдёте соответствующий FAQ.

Q: Какую версию Microsoft FrontPage я должен иметь?

A: Используй порт, дурачок! Среди портов имеется Apache с поддержкой FrontPage.

Q: Поддерживает ли FreeBSD среду Java?

A: Да. Посетите страницу http://www.FreeBSD.org/java/.

Q: Почему некоторый порт не компилируется на моей машине с 3.X-STABLE?

A: Если вы используете FreeBSD версии, значительно отстающей от -CURRENT или -STABLE, вам нужен пакет обновления, который можно найти по адресу http://www.FreeBSD.org/ports/. Если вы отслеживаете все изменения, то, скорее всего, кто-то внёс изменения в порт, так что он работает в -CURRENT, но не работает в -STABLE. Так как предполагается, что коллекция портов должна работать как в ветке -CURRENT, так и в ветви -STABLE, то, пожалуйста, пошлите сообщение об этой ошибке с помощью команды send-pr(1).

Q: Где найти ld.so?

A: Если вам необходимо запустить некоторые приложения в формате aout типа Netscape Navigator на Elf-машине, такой как 3.1-R и выше, то для этого требуется /usr/libexec/ld.so и некоторые библиотеки в формате aout. Они включены в дистрибутив как compat22. Запустите /stand/sysinstall или install.sh в каталоге compat22, чтобы установить этот компонент. Прочтите также документы ERRATA от 3.1-R и 3.2-R.