Использование Pkgsrc

rmx аватар

Использовать pkgsrc

Что такое pkgsrc.

Pkgsrc (в разговорном: коллекция пакетов) - это главная система управления пакетов для системы NetBSD. С pkgsrc вы можете легко добавлять, удалять и управлять программным обеспечением в вашей системе. Pkgsrc базово представляет из себя набор файлов, сгруппированных по категориям, которые содержат информацию для установки выбранного вами программного обеспечения. Все эти файлы вместе чаще всего ссылаются на дерево пакетов. Это дерево управляется управляется разработчики pkgsrc, которые вносят в него изменения каждый день. Вследствии чего необходимо обновлять дерево пакетов регулярно.

Требования

Дерево исходников , которые содержат все эти файлы, занимает как минимум 200 MB дискового пространства.

Подготовка pkgsrc

Создадим директорию для pkgsrc

Это конечно дело вкуса, но большинство пользователей предпочитают создавать директорию в /usr/pkgsrc/:

# mkdir /usr/pkgsrc

Поменяем владельца директории /usr/pkgsrc на пользователя так, что бы потом обновлять pkgsrc с правами обычного пользователя.

# chown john pkgsrc

Получение текущего дерева исходников.

Существует большое кол-во способ получить дерево исходных текстов. Например посредством ftp, cvs, sup или cvsup. Мы рекомендуем способ csup, легковесный cvsup протокольный клиент, написаный на языке C. Но до того как вы можете использовать csup, сперав вы должны установить его. Therefore мы будем использовать для сsup бинарный прекомпилированный пакет, вместо того что-бы делать одну и туже работу дважды.

# ftp ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/4.0/All/csup-20070216.tgz

и далее устанавливаем его командой

# pkg_add csup-20070216.tgz

csup нужен один конфигурационный файл, supfile, который содержит информацию to sync what from which server to where. Пожалуйста создайте файл с именем pkgsrc-supfile в вашей домашне директории со следущим содержанием:

*default tag=.
*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=cvsup.se.netbsd.org
*default base=/home/john
*default prefix=/usr

netbsd-pkgsrc

Base указывает на домашнюю директорию, а prefix - где лежит сам репозитарий.

Взять и держать Ваше дерево pkgsrc в синхронизации достаточно выполнить команду:

$ csup pkgsrc-supfile

Для регулярного обновления, скажем раз в день, используйте утилиту cron.

Создание WRKOBJDIR

Держать дерево pkgsrc чистым и Ваши рабочие директории out of it, определите переменную WRKOBJDIR в файле /etc/mk.conf и добавьте в него строку:

WRKOBJDIR=/usr/work

и тогда создайте эту директорию.

# mkdir /usr/work

Создание DISTDIR

Мы также хотим что бы наши distfiles были сохранены, за пределами pkgsrc директории. Поэтому мы добавим переменную DISTDIR в файл /etc/mk.conf

DISTDIR=/usr/distfiles

и создадим директорию:

# mkdir /usr/distfiles

Установка пакетов

Для установки пакетов мы станем пользователем root.

$ su

далее мы перейдем в директорию(категорию) соответствующую пакету, который мы хотим установить.

# cd /usr/pkgsrc/misc/figlet

для его установки выполним следующую команду:

# make install

после чего удалим объектные файлы, созданные во время выполнения предыдущей команды

# make clean

если этот пакет имел зависимости также удалим и другие объектные файлы

# make clean-depends

Вы также можете выполнить все перечисленные выше команды за один раз.

# make install clean clean-depends

Если Вы желаете удалить все distfiles, файлы которые были загружены с сервера выполните следущую команду

# make distclean

Вот и все. Наслаждайтесь..

Система pkgsrc обладает очень большим количеством возможностей, поэтому в ней есть миллионы других опций.

On-line help

Кроме того The pkgsrc Guide имеет место также встроенная on-line справочная система.

# make help

Эта команда даст Вам информацию по использованию утилиты make. Правда требует знать заранее имена переменных информация по которым Вам необходима. Большинство target-имен и имен переменных задокументированы, но не все.

Смотреть также

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
asau аватар

DEPENDS_TARGET=package

DEPENDS_TARGET=package clean
INSTALL_TARGET=package clean
UPDATE_TARGET=package clean

Или, если нравится ставить всё "иначе":

DEPENDS_TARGET=bin-install clean
INSTALL_TARGET=bin-install clean
UPDATE_TARGET=bin-install clean