Установка программного обеспечения
Существует большое количество программ в виде пакетов (packages) и портов (ports).
Что такое package?
Package (Пакет) - это архив типа *.tgz (tar-архив, сжатый zip'ом), в котором лежат уже собранные исполняемы файлы программ, описания и руководства к ним, необходимые конфигурационные файлы и т.п.
Пакеты собраны под конкретную версию системы, поэтому желательно их не использовать с другой версией. Хотя некоторые из них работают и в других версиях.
Пакет содержит также вспомогательные файлы, позволяющие устанавливать пакет автоматически. Используя эти файлы, утилита установки пакетов раскладывает все на свои места и регистрирует пакет в системе.
Некоторые пакеты для нормальной работы требуют наличие установленных в системе других пакетов (обычно это библиотеки). В таких случаях программа установки проверяет наличие всего необходимого.
При установке некоторых пакетов требуется выполнить какие-то дополнительные действия. В таком случае в пакет добавляется "инсталляционный скрипт" (командный файл, обычно с расширением .sh), который утилита установки и запустит в нужный момент.
В чем заключается регистрация пакета?
В директории /var/db/pkg создается директория с тем же названием, что и пакет, в которую помещаются несколько файлов. В этих файлах находится
- краткое описание пакета;
- список всех файлов из пакета, с указанием в какой директории лежит тот или иной файл пакета;
- дополнительные скрипты, исполняемые при инсталляции пакета и при удалении (если, конечно, таковые имеются);
- и, если файлы этого пакета используются другими пакетами, то здесь же отмечается, кем пакет используется. (Эти записи появятся позже, если Вы будете устанавливать "подчиненные" пакеты).
Все эти данные используются соответствующими утилитами, которые
- добавляют пакеты
- удаляют пакеты
- показывают всевозможную информацию об установленных пакетах
Все эти файлы просто текстовые и их легко можно посмотреть любым текстовым редактором.
Как установить пакет?
Чтобы установить пакет, наберите команду
pkg_add <имя архива пакета >
Дальше система все сделает автоматически. Если в пакете есть "инсталляционный скрипт", Вам, возможно, придется ответить на несколько вопросов.
После инсталляции пакета Вам скорее всего придется "вручную" отредактировать конфигурационные файлы. Но это уже зависит от той программы, которую Вы устанавливаете.
Как удалить пакет?
Чтобы установить пакет, наберите команду
pkg_delete <имя пакета>.
Точное имя пакета можно подсмотреть в /var/db/pkg. (Даже если Вы каждый день пользуетесь программой, это еще не значит, что Вы безошибочно назовете имя пакета, откуда его поставили, например bash-2.02.1.tgz)
При удалении пакета могут возникнуть некоторые сложности.
Во-первых, если пакет используется другими пакетами, утилита откажется его удалять. Однако ее можно заставить все-таки это сделать с помощью ключа -f, хотя это не совсем правильно.
Во-вторых, если при установке пакета для него специально создавались какие-либо директории, обычно, при удалении пакета они не удаляются. Опять же, утилиту удаления можно заставить это делать ключом -d.
И, наконец, кое-какой "мусор" все равно может остаться. Например, если для какой-то программы каждый пользователь может иметь собственный конфигурационный файл в своей домашней директории, естественно, программа удаления пакета их удалять не будет.
Информацию об этих командах смотрите в man-страницах:
man pkg_add - установка пакетов,
man pkg_delete - удаление пакетов,
man pkg_info - вывод информации об установленных пакетах.
В некоторых версиях FreeBSD есть утилита pkg_manage, которая должна была по замыслу авторов объединить в себе все функции вышеперечисленных. Но, потом от нее отказались из-за нестабильной работы. Возможно, в последующих версиях FreeBSD она опять появится.
Установка "портов" (ports).
Что такое ports?
Ports - это описание процесса "сборки" пакета (package).
Как можно установить port?
Для этого c любого хоста из Internet (смотри раздел "Где взять дистрибутив") из директории ports (такая директория есть для текущих версий FreeBSD) заберем нужный нам "свежий" port.
Коллекция ports постоянно изменяется: добавляются новые приложения, исправляются ошибки и т.д. Поэтому, рекомендуется производить обновление коллекции ports. Строгих правил здесь нет, но по возможности делайте обновление хотя бы 2-3 раза в месяц.
Для установки приложения zoo из коллекции ports введите команды: # cd /usr/ports/archivers/zoo # make # make install # make clean
Для переустановки приложения:
# cd /usr/ports/archivers/zoo # make reinstall # make clean
Для удаления приложения:
# cd /usr/ports/archivers/zoo # make deinstall