Установить программу в freebsd

Для вывода списка и описания установленных пакетов в системе :

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:

Nano’s ANOther editor, an enhanced free Pico clone

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».

Вывод отчёта о версиях установленных пакетов, сравнение идёт с пакетом находящимся в дереве портов:

FreeBSD | Обзор, мнение, пригодность для десктопа

ekzor# pkg_version

Символы во второй колонке указывают сравнительную разницу в возрасте установленной версии и версии, находящейся в локальном дереве портов.

Символ Значение
= Версия установленного пакета соответствует версии, находящейся в локальном дереве портов.
Установленная версия старее, чем та, что имеется в дереве портов.
> Установленная версия новее, чем та, что есть в дереве портов. (Скорее всего, локальное дерево портов устарело.)
? В индексном файле портов установленный пакет не может быть найден. (Это может случиться, например, если установленный порт был удалён из Коллекции Портов или переименован.)
* Имеется несколько версий пакета.

Для удаления ранее установленных пакетов :

К примеру, это будет текстовый редактор 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.

Использование портов в FreeBSD

, где 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

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)

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 .

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн.

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

Источник: www.ekzorchik.ru

ЗАПИСКИ АДМИНИСТРАТОРА FREEBSD

В этой статье рассматриваются установка и обновление приложений операционной системы FreeBSD разными методами.

Устанавливаем пакет Curl. С ним и будем играться.

freebsd7# setenv HTTP_PROXY http://172.16.2.1:3128

Скачиваем и инсталируем пакет:

freebsd7# pkg_add -vr curl

(ключ -v -расширенный вывод, -r — ставить из удаленного репозитария.)

looking up 172.16.2.1

connecting to 172.16.2.1:3128

>>> User-Agent: pkg_add libfetch/2.0

content length: [1088297]

last modified: [2008-09-08 10:45:09]

tar command returns 0 status

extract: Package name is curl-7.18.0

extract: CWD to /usr/local

extract: execute ‘/sbin/ldconfig -m /usr/local/lib’

Running mtree for curl-7.18.0..

mtree -U -f +MTREE_DIRS -d -e -p /usr/local >/dev/null

Attempting to record package into /var/db/pkg/curl-7.18.0..

Package curl-7.18.0 registered in /var/db/pkg/curl-7.18.0

Проверяем регистрацию пакета:

curl-7.18.0 Non-interactive tool to get files

from FTP, GOPHER, HTTP(S)

Инструмент Portaudit — самый легкий путь для проверки обновлений безопасности установленных пакетов. Инсталируем portaudit на FreeBSD.

freebsd7# pkg_add -r portaudit

===> To check your installed ports for known

vulnerabilities now, do:

Проверяем инсталированные пакеты

freebsd7# portaudit -Fdav

Attempting to fetch from http://www.FreeBSD.org/ports/.

auditfile.tbz 100% of57 kB 95 kBps

New database installed.

Database created: Mon Aug 24 15:10:03 EDT 2009

Affected package: curl-7.18.0 (matched by curl>=5.11<7.19.4)

Type of problem: curl — cURL/libcURL Location: Redirect

URLs Security Bypass.

1 problem(s) in your installed packages found.

You are advised to update or deinstall the affected

(matched by curl>=5.11<7.19.4)

говорит нам о том, что есть более новая версия программного обеспечения Curl.

Теперь нам необходимо обновить программу.

Делаем это методом удаления старой версии и инсталляции новой.

Удаление пакета FreeBSD c помощью pkg_delete:

Смотрим какие пакеты установлены.

curl-7.18.0 Non-interactive tool to get files from FTP, GOPHER,HTTP(S)

portaudit-0.5.12 Checks installed ports against a list of security

Переходим в /var/db/pkg/

freebsd7# cd /var/db/pkg/

Удаляем пакет curl-7.18.0

freebsd7# pkg_delete curl-7.18.0/

Проверяем — удалилось ли.

portaudit-0.5.12 Checks installed ports against a list of security

Инсталяция новой версии пакета Curl с помощью pkg_add.

Определяем переменную PACKAGESITE, которая ссылается на место расположения новых пакетов

freebsd7# setenv PACKAGESITE ftp://ftp.freebsd.org//pub/

Инсталлируем новый пакет.

bsd7# pkg_add -vr curl

looking up 172.16.2.1

connecting to 172.16.2.1:3128

>>> User-Agent: pkg_add libfetch/2.0

content length: [1097934]

last modified: [2009-04-13 21:18:46]

offset 0, length -1, size -1, clength 1097934

tar command returns 0 status

Package ‘curl-7.19.4’ depends on ‘ca_root_nss-3.11.9_2’

with ‘security/ca_root_nss’ origin.

looking up 172.16.2.1

connecting to 172.16.2.1:3128

>>> User-Agent: pkg_add libfetch/2.0

content length: [172602]

last modified: [2009-04-13 21:00:07]

offset 0, length -1, size -1, clength 172602

tar command returns 0 status

Finished loading ca_root_nss-3.11.9_2 over FTP.

extract: Package name is ca_root_nss-3.11.9_2

Читайте также:
Профстрой инструкция по работе с программой

extract: CWD to /usr/local

Running mtree for ca_root_nss-3.11.9_2..

mtree -U -f +MTREE_DIRS -d -e -p /usr/local >/dev/null

Attempting to record package into /var/db/pkg/ca_root_nss-3.11.9_2..

Package ca_root_nss-3.11.9_2 registered in /var/db/pkg/ca_root_nss-3.11.9_2

‘ca_root_nss-3.11.9_2’ loaded successfully.

extract: Package name is curl-7.19.4

extract: CWD to /usr/local

extract: execute ‘/sbin/ldconfig -m /usr/local/lib’

Running mtree for curl-7.19.4..

mtree -U -f +MTREE_DIRS -d -e -p /usr/local >/dev/null

Attempting to record package into /var/db/pkg/curl-7.19.4..

Trying to record dependency on package ‘ca_root_nss-3.11.9_2’ with ‘security/ca_root_nss’ origin.

Package curl-7.19.4 registered in /var/db/pkg/curl-7.19.4

ca_root_nss-3.11.9_2 The root certificate bundle from the Mozilla Project

curl-7.19.4 Non-interactive tool to get files from FTP, GOPHER, HTTP(S)

portaudit-0.5.12 Checks installed ports against a list of security vulnerabi

Проверяем инсталированные пакеты.

freebsd7# portaudit -Fdav

Attempting to fetch from http://www.FreeBSD.org/ports/.

auditfile.tbz 100% of 57 kB 69 kBps

New database installed.

Database created: Mon Aug 24 15:40:01 EDT 2009

0 problem(s) in your installed packages found.

Итак видим что все нормально.

Работаем с портами.

Во FreeBSD дерево портов находится в директории/usr/ports. Простейший путь обновить дерево портов — использовать утилиту portsnap.Она входит в стандартную установку FreeBSD

Сначала необходимо выполнить команду:

# portsnap fetch для загрузки дерева портов.

# portsnap extract (используется только 1 раз при первой загрузке (обновлении) портов).

#portsnap update для обновления базы данных портов.

Проинсталлировав порты. мы можем использовать утилиту pkg_version.

Вот как это делается.

freebsd7# portsnap fetch

Looking up portsnap.FreeBSD.org mirrors… 3 mirrors found.

Fetching public key from portsnap2.FreeBSD.org… done.

Fetching snapshot tag from portsnap2.FreeBSD.org… done.

Fetching snapshot metadata… done.

Fetching snapshot generated at Sun Aug 23 20:41:07 EDT 2009:

e4a063906c569a6d82cdc053dda2ced013f53d80723ef4100% of 59 MB 359 kBps

Extracting snapshot… done.

Verifying snapshot integrity… done.

Fetching snapshot tag from portsnap2.FreeBSD.org… done.

Fetching snapshot metadata… done.

Updating from Sun Aug 23 20:41:07 EDT 2009 to Mon Aug 24 13:52:56 EDT 2009.

Fetching 4 metadata patches… done.

Applying metadata patches… done.

Fetching 0 metadata files… done.

Fetching 36 patches…..10….20….30… done.

Applying patches… done.

Fetching 2 new ports or files… done.

freebsd7# portsnap extract

Building new INDEX files… done.

Используем pkg_version для проверки обновлений

freebsd7# pkg_version -v

ca_root_nss-3.11.9_2 = up-to-date with port

Обновляем программу Curl.

Сначала удаляем старый Curl.

freebsd7# pkg_deinstall -R curl

[Updating the pkgdb in /var/db/pkg … – 9 packages found

[Updating the pkgdb in /var/db/pkg … – 8 packages found

Ищем порт Curl в дереве портов.

freebsd7# cd /usr/ports

freebsd7# make search name=curl

Info: Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers

Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

B-deps: perl-5.8.9_3R-deps: ca_root_nss-3.11.9_2

Info: A C++ wrapper for libcurl

B-deps: ca_root_nss-3.11.9_2 curl-7.19.6_1

R-deps: ca_root_nss-3.11.9_2 curl-7.19.6_1

freebsd7# cd /usr/ports/ftp/curl

Выполняем make showconfig порта Curl, что покажет с каками опциями будет собираться порт.

Если необходимо редактируем опции.

freebsd7# make showconfig

===> The following configuration options are available for curl-7.19.6_1:

CARES=off «Asynchronous DNS resolution via c-ares»

CURL_DEBUG=off «Enable curl diagnostic output»

GNUTLS=off «Use GNU TLS if OPENSSL is OFF»

IPV6=on «IPv6 support»

KERBEROS4=off «Kerberos 4 authentication»

LDAP=off «LDAP support»

LDAPS=off «LDAPS support (requires LDAP and SSL)»

LIBIDN=off «Internationalized Domain Names via libidn»

LIBSSH2=on «SCP/SFTP support via libssh2»

NTLM=off «NTLM authentication»

OPENSSL=on «OpenSSL support»

PROXY=on «Proxy support»

TRACKMEMORY=off «Enable curl memory diagnostic output»

===> Use ‘make config’ to modify these settings

Выполняем команду make

===> Found saved configuration for curl-7.19.6_1

=> curl-7.19.6.tar.bz2 doesn’t seem to exist in /usr/ports/distfiles/.

curl-7.19.6.tar.bz2 100% of 2292 kB 2336 kBps

Читайте также:
В компьютере одновременно работают две независимые программы вероятность того что сбой произошел

===> Extracting for curl-7.19.6_1

=> MD5 Checksum OK for curl-7.19.6.tar.bz2.

=> SHA256 Checksum OK for curl-7.19.6.tar.bz2.

===> curl-7.19.6_1 depends on file: /usr/local/bin/perl5.8.9 – found

===> Patching for curl-7.19.6_1

===> curl-7.19.6_1 depends on file: /usr/local/bin/perl5.8.9 – found

===> Applying FreeBSD patches for curl-7.19.6_1

===> curl-7.19.6_1 depends on file: /usr/local/bin/perl5.8.9 – found

===> curl-7.19.6_1 depends on shared library: ssh2.1– not found

===> Verifying install for ssh2.1 in /usr/ports/security/libssh2

=> libssh2-1.2.tar.gz doesn’t seem to exist in /usr/ports/distfiles/.

libssh2-1.2.tar 100% of 519 kB 2150 kBps

===> Extracting for libssh2-1.2,2

=> MD5 Checksum OK for libssh2-1.2.tar.gz.

=> SHA256 Checksum OK for libssh2-1.2.tar.gz.

===> Patching for libssh2-1.2,2

===> Configuring for libssh2-1.2,2

checking whether to enable maintainer-specific portions

of Makefiles… no

checking for sed… /usr/bin/sed

checking for a BSD-compatible install… /usr/bin/

install -c -o root -g wheel

checking whether build environment is sane… yes

===> Registering installation for libssh2-1.2,2

===> Returning to build of curl-7.19.6_1

===> Configuring for curl-7.19.6_1

checking whether to enable maintainer-specific portions of Makefiles… no

checking whether to enable debug build options… no

checking whether to enable compiler optimizer… notspecified (assuming yes)

checking whether to enable strict compiler warnings… no

checking whether to enable curl debug memory tracking… no

checking for sed… /usr/bin/sed

checking for grep… /usr/bin/grep

checking for egrep… /usr/bin/grep -E

checking for ar… /usr/bin/ar

Making all in examples

Making all in libcurl

Выполняем команду make install порта Curl.

freebsd7# make install

===> Installing for curl-7.19.6_1

===> curl-7.19.6_1 depends on file: /usr/local/share/certs/ca-root-nss.crt – found

===> curl-7.19.6_1 depends on shared library: ssh2.1 – found

===> Generating temporary packing list

===> Checking if ftp/curl already installed

Making install in lib

===> Registering installation for curl-7.19.6_1

This port has installed the following files which

Источник: freebsd-ru.ru

FAQ FreeBSD.

Желательно устанавливать программы в FreeBSD из портов, которые являются проверенными исходниками программ. Но минусом make в портах является невозможность штатно обновить в дальнейшем программу. Для примера, представим, что есть порт вымышленной программы VAV в /usr/ports/myth/vav/. В начале VAV версии 1.0. Вы устанавливаете VAV 1.0 с помощью cd /usr/ports/myth/vav/ make install clean . Напомню, что установка из портов создаёт сначала бинарный пакет (package), который уже и устанавливается в систему и это можно проверить командой pkg_info.

Выходит новая версия VAV 2.0. Сопровождающий порта /usr/ports/myth/vav/ обновляет порт и делает его актуальным. Вы должны получить эту новую версию порта с помощью portsnap update . НО если вы снова сделаете make в новом порте, у вас будет установлена как VAV 1.0 так и VAV 2.0!

Выход? Использовать нужно portupgrade. После синхронизации ваших портов с новыми официальными, нужно вызвать команду portsdb -uU, которая обновит базу portupgrade. С помощью portupgrade вы должны устанавливать софт из портов и тогда получите нужную возможность — легко ОБНОВЛЯТЬ программу, вместе с её зависимостями.

Не работает fetch через прокси сервер.

Если прокси авторизирует по IP, то достаточно прописать в /etc/make.conf
FETCH_ENV=FTP_PROXY=http://адрес_прокси_сервера:порт/
FETCH_ENV=HTTP_PROXY=http://адрес_прокси_сервера:порт/

На нулевой терминал сыпятся сообщения системы.

что может мешать вам работать. Закоментируйте строку нулевого терминала
#ttyv0 «/usr/libexec/getty Pc» cons25r on secure
в файле /etc/ttys и работайте на других терминалах, отдав нулевой терминал системе.

Portsnap с отладкой.

В новых версиях FreeBSD порты принято обновлять утилитой portsnap. У неё есть недокументированная возможность выдавать на консоль больше информации при ошибках работы. Запускайте с параметром —debug и получите более информативный вывод.
portsnap —debug fetch update

Дата последней правки: 2013-10-31 17:33:01

Источник: vasilisc.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru