Глава 6. Прикладные программы

6.1. Где находятся все прикладные программы?
6.2. Как загрузить дерево Портов? Следует ли использовать SVN?
6.3. Поддерживает ли FreeBSD среду JavaTM?
6.4. Почему этот порт не компилируется на моей машине с 9.X - или 10.X -STABLE?
6.5. Я попытался сформировать файл INDEX командой make index, однако попытка окончилась неудачей. Почему?
6.6. Я обновил исходные тексты. Как теперь обновить установленные порты?
6.7. Нужно ли мне перекомпилировать все порты каждый раз, когда я выполняю мажорное обновление (со сменой старшей версии FreeBSD)?
6.8. Нужно ли мне перекомпилировать все порты каждый раз, когда я выполняю минорное обновление (без изменения старшей версии FreeBSD)?
6.9. Почему возможности /bin/sh так малы? Почему бы во FreeBSD не использовать bash или какой-либо другой командный процессор?
6.10. Как создать аудио-CD из файлов MIDI?

6.1.

Где находятся все прикладные программы?

Обратитесь на страницу портов, содержащую информацию о программных продуктах, перенесённых во FreeBSD. На данный момент в этом списке находится более 24,000 приложений и он ежедневно увеличивается, так что почаще туда заглядывайте или подпишитесь на Список рассылки анонсов FreeBSD, в котором публикуется информация о появлении новых приложений.

Большинство портов должно нормально работать во всех поддерживаемых версиях FreeBSD. Неработающие порты специально помечаются соответствующим образом. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода Коллекция Портов.

FreeBSD умеет работать со сжатыми двоичными пакетами для упрощения установки и удаления портов. Используйте pkg(7) для управления процессом установки пакетов.

6.2.

Как загрузить дерево Портов? Следует ли использовать SVN?

Любым из указанных способов:

  • Используйте portsnap в большинстве случаев. Обратитесь к разделу Использование Коллекции Портов для получения инструкций по использованию этого инструмента.

  • Используйте SVN, если нужны собственные патчи для дерева портов. Обратитесь к разделу Использование Subversion для получения дополнительной информации.

  • Используйте CTM как это описано в разделе Использование CTM для получения изменений по почте при нестабильном соединении.

6.3.

Поддерживает ли FreeBSD среду JavaTM?

Да. Для получения дополнительной информации посетите страницу http://www.FreeBSD.org/java/.

6.4.

Почему этот порт не компилируется на моей машине с 9.X - или 10.X -STABLE?

Если установленная версия FreeBSD, значительно отстаёт от -CURRENT или -STABLE, обновите Коллекцию Портов с использованием указаний в разделе Использование Коллекции Портов. Если система в актуальном состоянии, значит кто-то мог внести изменение в порт, с которым он работает в -CURRENT, но не работает в -STABLE. Пошлите сообщение об ошибке, так как Коллекция Портов должна работать как в -CURRENT, так и в ветках -STABLE.

6.5.

Я попытался сформировать файл INDEX командой make index, однако попытка окончилась неудачей. Почему?

Первым делом убедитесь, что Коллекция Портов находится в актуальном состоянии. Ошибки, которые отражаются на построении файла INDEX из актуальной копии Коллекции Портов, бросаются в глаза и поэтому практически всегда исправляются немедленно.

В редких случаях INDEX не перестраивается из-за странных комбинаций значений переменных WITH_* или WITHOUT_*, заданных в файле make.conf. Если вы думаете, что это ваш случай, прежде чем сообщать об этом в Список рассылки, посвящённый Портам FreeBSD, попытайтесь сформировать INDEX с отключенными значениями этих переменных.

6.6.

Я обновил исходные тексты. Как теперь обновить установленные порты?

С FreeBSD не поставляется инструмент обновления портов, но есть несколько инструментов, немного облегчающих этот процесс. Кроме того, для упрощения работы с портами доступны дополнительные инструменты; смотрите раздел Руководства FreeBSD Использование Коллекции Портов.

6.7.

Нужно ли мне перекомпилировать все порты каждый раз, когда я выполняю мажорное обновление (со сменой старшей версии FreeBSD)?

Да! На свежеобновленной системе программное обеспечение, скомпилированное под более старый релиз, будет по прежнему работать, но только до тех пор, пока вы не начнете устанавливать другие порты или обновлять существующие.

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

Для получения дополнительной информации обращайтесь к разделу, посвящённому обновлениям, руководства FreeBSD.

6.8.

Нужно ли мне перекомпилировать все порты каждый раз, когда я выполняю минорное обновление (без изменения старшей версии FreeBSD)?

В общем случае, нет. Разработчики FreeBSD делают всё возможное для сохранения двоичной совместимости между всеми релизами в пределах одной старшей версии. Любые исключения из этого правила документируются в "Примечаниях к релизу", и там же даются советы, которых следует придерживаться.

6.9.

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

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

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

6.10.

Как создать аудио-CD из файлов MIDI?

Для создания аудио-CD из MIDI-файлов сначала установите из портов программу audio/timidity++, затем установите набор патчей GUS от Эрика Уэлша (Eric A. Welsh), доступный по адресу http://alleg.sourceforge.net/digmid.html. После корректной установки TiMidity++ MIDI-файлы могут быть преобразованы в WAV-файлы следующей командой:

% timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid

WAV-файлы затем могут быть преобразованы в другие форматы или записаны как аудио-CD, что описано в Руководстве FreeBSD.

Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.