В данной заметке я с практической точки зрения разберу, как устанавливать пакеты в систему, получать подробную информацию, удалять. Заметка пишется в первую очередь для себя…
Для вывода списка и описания установленных пакетов в системе:
ekzor# pkg_info
Пример:
libiconv-1.13.1_1 A character set conversion library
libid3tag-0.15.1b ID3 tags library (part of MAD project)
libidn-1.22 Internationalized Domain Names command line tool
libksba-1.2.0 KSBA is an X.509 Library
libltdl-2.4_1 System independent dlopen wrapper
libmad-0.15.1b_2 Libmad library (part of MAD project)
Подробная информация по пакету:
ekzor# pkg_info nano-2.2.6
Information for nano-2.2.6:
Comment:
Nano’s ANOther editor, an enhanced free Pico clone
Description:
nano is a small, free and friendly editor which aims to replace
Pico, the default editor included in the non-free Pine package.
Rather than just copying Pico’s look and feel, nano also implements
some missing (or disabled by default) features in Pico, such as
“search and replace” and “goto line number”.
WWW: http://www.nano-editor.org/
Вывод отчёта о версиях установленных пакетов, сравнение идёт с пакетом находящимся в дереве портов:
ekzor# pkg_version
ORBit2 =
PackageKit <
aalib =
alacarte <
Символы во второй колонке указывают сравнительную разницу в возрасте установленной версии и версии, находящейся в локальном дереве портов.
Символ | Значение |
= | Версия установленного пакета соответствует версии, находящейся в локальном дереве портов. |
< | Установленная версия старее, чем та, что имеется в дереве портов. |
> | Установленная версия новее, чем та, что есть в дереве портов. (Скорее всего, локальное дерево портов устарело.) |
? | В индексном файле портов установленный пакет не может быть найден. (Это может случиться, например, если установленный порт был удалён из Коллекции Портов или переименован.) |
* | Имеется несколько версий пакета. |
Для удаления ранее установленных пакетов:
К примеру, это будет текстовый редактор nano
ekzor# pkg_info | grep nano
nano-2.2.6 Nano’s ANOther editor, an enhanced free Pico clone
ekzor# pkg_delete nano-2.2.6
Для того чтобы принудительно удалить пакет игнорируя зависимости можно использовать ключ –f , но в этом случае принудительное удаление приведёт к неработоспособности всех тех программ которые зависят от удаляемого пакета. Поэтому использовать принудительное удаление следует только в тех случаях, когда это действительно необходимо. Ключ –a применимый к pkg_delete удалит все пакеты из системы полностью.
Установка пакетов при наличии интернета:
утилита автоматически определит правильный формат объектных файлов и релиз, а затем загрузит и установит пакет с сервера FTP.
ekzor# pkg_add -r nano
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/nano.tbz… Done.
, где Nano – название устанавливаемого пакета.
ekzor# pkg_add -r wget
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/wget.tbz… Done.
Установка пакетов при отсутствии интернета:
Если же на машине интернет отсутствует, то пакет можно установить из какого либо каталога файловой системы. Если, к примеру создать в каталог /usr/packages, а в него положить скаченный из другого места пакет nano.tbz с зависимостями. Тогда установка пакета будет выглядеть так:
ekzor# mkdir /usr/packages
Скачаем пакет с ftp:
ekzor# wget -c ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/nano.tbz
–2012-11-07 22:08:54– ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/nano.tbz
=> `nano.tbz’
Resolving ftp.freebsd.org (ftp.freebsd.org)… 193.162.146.4, 204.152.184.73, 2001:4f8:0:2::e, …
Connecting to ftp.freebsd.org (ftp.freebsd.org)|193.162.146.4|:21… connected.
Logging in as anonymous … Logged in!
==> SYST … done. ==> PWD … done.
==> TYPE I … done. ==> CWD (1) /pub/FreeBSD/ports/i386/packages-9.0-release/Latest … done.
==> SIZE nano.tbz … 382474
==> PASV … done. ==> RETR nano.tbz … done.
Length: 382474 (374K) (unauthoritative)
100%[==================================================>] 382,474 1.07M/s in 0.3s
2012-11-07 22:08:55 (1.07 MB/s) – `nano.tbz’ saved [382474]
Информация по скаченному пакету:
ekzor# file nano.tbz
nano.tbz: bzip2 compressed data, block size = 900k
Собственно сама установка:
ekzor# pkg_add nano.tbz
Если в процессе ручной установки пакетов потребуются зависимости будут выведены в консоли следующие сообщения
pkg_add: could not find package <зависимый_пакет>
Следует, также выкачать их и положить рядом и сперва установить зависимости и после попробовать установку снова.
Вся информация о пакете хранится в каталоге /var/db/pkg. Список установленных файлов и описания всех пакетов могут быть найдены среди файлов этого каталога. Вот собственно и всё, некоторый набор знаний получен и уже проще осваивать систему FreeBSD 9.0.