Использование Pkgsrc
Использовать 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
Кроме того имеет место также встроенная on-line справочная система.
# make help
Эта команда даст Вам информацию по использованию утилиты make. Правда требует знать заранее имена переменных информация по которым Вам необходима. Большинство target-имен и имен переменных задокументированы, но не все.
Смотреть также
- Страница для печати
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 4817 просмотра
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