Меню Рубрики

Установка pkg с зависимостями

forum.lissyara.su

Если у меня опускаются руки, это значит, я потянулся к кувалде

Установка пакетов через pkg. Зависимости.

Установка пакетов через pkg. Зависимости.

Услуги хостинговой компании Host-Food.ru

Установка пакетов через pkg. Зависимости.

Вообще, вопрос для новичков, но пусть уж тема тут будет, так как немного и FreeBSD как таковой касается, вдруг следующий кто найдёт и одумается (да я верю в чудеса).

Всё от того что вы не понимаете что творите.

По решению, если хотите пользоваться всё же пакетами, то надо взять себя в руки и порешать, то что от вас хочет pkg и в дальнейшем пользоваться только им! Это в общем то довольно недурной сейчас вариант. Хотя, в идеале ещё завести свой билд сервер и репозиторий.

Из паршивых и очень паршивых решений, надругаться над логикой и поменять тот пакет, что «горит», для этого есть всякие страшные ключи -f и около того, так же есть механизм

Установка пакетов через pkg. Зависимости.

Установка пакетов через pkg. Зависимости.

Непрочитанное сообщение guest » 2015-09-23 13:08:50

никак, действия пакетного менеджера логичны, обоснованы и справедливы.

1) пакетный менеджер работает с репозиторием
2) репозиторий обновляется по кварталам, сейчас, возможно чаще
3) готовые пакеты — собираются из ОБНОВЛЕННОГО дерева портов — регулярно.
соответственно, если порт A-версия10 зависит от B-версия3,C-версия7,D-версия5 .
то пакет A-версия10 и будет подтягивать ТЕ ЗАИВИСМОСТИ, с котороыми он собран.
Что тут сложного или непонятного?!

Вы используете в работе ПАКЕТЫ, и если Вам потребовалось обновить A-версия5 до A-версия10,
а по run-depends A-версия5 у Вас еще в наличии: B-версия1, С-версия4, D-версия3 — то
что по Вашему должен сделать пакетный менеджер?

Правильно, обновить сперва run-depends:
B-версия1, С-версия4, D-версия3 — до —> B-версия3,C-версия7,D-версия5
и потом установить A-версия10.

Ну вот что тут сложного и непонятного? Это копейки, потому как мы не рассмотрели
что какой-то другой, установленный у нас пакет X-версия3, в свою очередь зависит от
B и от D, последние зависят от K,L,M.

— соберите нужные пакеты из свежих портов в месяце A (сохраните их в своем репозитории
или в /usr/ports/packages/All -> man pkg + man ports
— обновите порты и снова соберите тот же набор пакетов в месяце A+1 (сохраните в новом
репозиторее. )

теперь попробуйте обновить свои пакеты из своего репозитория или из локального хранилища,
ну и посмотрите физику, если не понимаете логику.

— затем те же шаги через два или три месяца.

Есть три глобальных подхода:
1) используете только пакеты и обновление из пакетов;
2) на чистую систему ставим только те пакеты, которые не требуют НУЖНЫХ НАМ ДОП.ОПЦИЙ СБОРКИ,
после этого ставим из ПОРТОВ то что нам нужно со СВОИМИ ОПЦИЯМИ
Далее, обновляемся только из портов, про пакеты — забыли!
3) создаем свою машину для сборки, со своими опциями и возможно со своими мета-портами
— свой репозиторий для регулярных (раз в месяц или в два или в три) сборок

источник

Установка pkg с зависимостями

pkgng — ЬФП ХУПЧЕТЫЕОУФЧПЧБООЩК ЙОУФТХНЕОФ, РТЙЫЕДЫЙК ОБ УНЕОХ ФТБДЙГЙПООЩН ХФЙМЙФБН ХРТБЧМЕОЙС РБЛЕФБНЙ FreeBSD. пО ПВМБДБЕФ НОПЦЕУФЧПН ЖХОЛГЙПОБМШОЩИ ЧПЪНПЦОПУФЕК, ХУЛПТСАЭЙИ Й ПВМЕЗЮБАЭЙИ ТБВПФХ У ВЙОБТОЩНЙ РБЛЕФБНЙ. рЕТЧЩК ТЕМЙЪ pkgng УПУФПСМУС Ч БЧЗХУФЕ 2012 ЗПДБ.

pkgng ОЕ СЧМСЕФУС ЪБНЕОПК ДМС ХФЙМЙФ ХРТБЧМЕОЙС РПТФБНЙ, ФБЛЙИ ЛБЛ ports-mgmt/portmaster ЙМЙ ports-mgmt/portupgrade. ч ФП ЧТЕНС, ЛБЛ ports-mgmt/portmaster Й ports-mgmt/portupgrade РПЪЧПМСАФ ХУФБОБЧМЙЧБФШ РТЙМПЦЕОЙС УФПТПООЙИ ТБЪТБВПФЮЙЛПЧ ЛБЛ ЙЪ ВЙОБТОЩИ РБЛЕФПЧ, ФБЛ Й ЙЪ лПММЕЛГЙЙ рПТФПЧ, ХФЙМЙФБ pkgng ДБЕФ ЧПЪНПЦОПУФШ ХУФБОБЧМЙЧБФШ РТЙМПЦЕОЙС ЙУЛМАЮЙФЕМШОП ЙЪ ВЙОБТОЩИ РБЛЕФПЧ.

5.5.1. оБЮБМП ТБВПФЩ У pkgng

чП FreeBSDљ9.1 Й ВПМЕЕ РПЪДОЙЕ ЧЛМАЮЕОБ РТПЗТБННБ «УБНПОБУФТПКЛЙ» («bootstrap») pkgng . пОБ УЛБЮЙЧБЕФ Й ХУФБОБЧМЙЧБЕФ ПУОПЧОХА ХФЙМЙФХ pkgng .

дМС ЪБРХУЛБ УБНПОБУФТПКЛЙ, ЧЩРПМОЙФЕ:

дМС ВПМЕЕ ТБООЙИ ЧЕТУЙК FreeBSD ХФЙМЙФХ pkgng ОЕПВИПДЙНП ХУФБОПЧЙФШ ЙЪ лПММЕЛГЙЙ рПТФПЧ ЙМЙ ЙЪ ВЙОБТОЩИ РБЛЕФПЧ.

дМС ХУФБОПЧЛЙ pkgng ЙЪ РПТФБ, ЪБРХУФЙФЕ УМЕДХАЭЕЕ:

дМС ХУФБОПЧЛЙ ЙЪ ВЙОБТОПЗП РБЛЕФБ, ЧЩРПМОЙФЕ:

дЕКУФЧХАЭЙЕ ЙОУФБММСГЙЙ FreeBSD ФТЕВХАФ РТЕПВТБЪПЧБОЙС ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ ХФЙМЙФЩ pkg_install Л ОПЧПНХ ЖПТНБФХ. дМС ЧЩРПМОЕОЙС ЛПОЧЕТФЙТПЧБОЙС, ЪБРХУФЙФЕ:

чЩЫЕРТЙЧЕДЕООЩК ЫБЗ ОЕ ФТЕВХЕФУС ДМС ОПЧЩИ ЙОУФБММСГЙК, Ч ЛПФПТЩИ ОЕ ВЩМП ХУФБОПЧМЕОП РТПЗТБНН УФПТПООЙИ ТБЪТБВПФЮЙЛПЧ.

чБЦОП:

ьФПФ ЫБЗ ОЕПВТБФЙН. рПУМЕ РЕТЕЧПДБ ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ Л ЖПТНБФХ pkgng ХФЙМЙФБНЙ pkg_install ВПМЕЕ РПМШЪПЧБФШУС ОЕ УМЕДХЕФ.

рТЙНЕЮБОЙЕ:

ч РТПГЕУУЕ ЛПОЧЕТФЙТПЧБОЙС ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ НПЗХФ ЧПЪОЙЛБФШ УППВЭЕОЙС ПВ ПЫЙВЛБИ. оБ ДБООПН ЬФБРЕ ЙИ НПЦОП ЙЗОПТЙТПЧБФШ, ФБЛ ЛБЛ РЕТЕЮЕОШ РТПЗТБНН УФПТПООЙИ ТБЪТБВПФЮЙЛПЧ, ЙОЖПТНБГЙС П ЛПФПТЩИ ОЕ ВЩМБ РТЕПВТБЪПЧБОБ, ВХДЕФ РЕТЕЮЙУМЕО РП ЪБЧЕТЫЕОЙЙ ТБВПФЩ pkg2ng . оБД ЬФЙН РЕТЕЮОЕН РТЙДЕФУС РПТБВПФБФШ ЧТХЮОХА.

юФПВЩ ХВЕДЙФШУС, ЮФП лПММЕЛГЙС рПТФПЧљFreeBSD ТЕЗЙУФТЙТХЕФ ОПЧЩЕ РТПЗТБННЩ РТЙ РПНПЭЙ pkgng , Б ОЕ pkg_install , ДМС ЧЕТУЙК FreeBSD, РТЕДЫЕУФЧХАЭЙИ 10. X , Ч ЖБКМ /etc/make.conf ОЕПВИПДЙНП ЧОЕУФЙ УМЕДХАЭХА ЪБРЙУШ:

5.5.2. оБУФТПКЛБ ПЛТХЦЕОЙС pkgng

уЙУФЕНБ ХРТБЧМЕОЙС РБЛЕФБНЙ pkgng РТЙ ЧЩРПМОЕОЙЙ ВПМШЫЙОУФЧБ ПРЕТБГЙК ПВТБЭБЕФУС Л РБЛЕФОПНХ ТЕРПЪЙФПТЙА. бДТЕУ ЙУРПМШЪХЕНПЗП РП ХНПМЮБОЙА ТЕРПЪЙФПТЙС ХЛБЪБО Ч /usr/local/etc/pkg.conf ЙМЙ Ч РЕТЕНЕООПК ПЛТХЦЕОЙС PACKAGESITE . рПУМЕДОСС РЕТЕПРТЕДЕМСЕФ БДТЕУ, ХЛБЪБООЩК Ч ЛПОЖЙЗХТБГЙПООПН ЖБКМЕ.

дПРПМОЙФЕМШОЩЕ ПРГЙЙ ЛПОЖЙЗХТБГЙЙ pkgng ПРЙУБОЩ Ч pkg.conf(5).

5.5.3. пУОПЧОЩЕ ПРЕТБГЙЙ pkgng

йОЖПТНБГЙА РП ТБВПФЕ У pkgng НПЦОП ОБКФЙ ОБ УФТБОЙГЕ УРТБЧПЮОЙЛБ pkg(8), ЙМЙ Ч ЧЩЧПДЕ ХФЙМЙФЩ pkg , ЪБРХЭЕООПК ВЕЪ БТЗХНЕОФПЧ.

лБЦДЩК БТЗХНЕОФ ЛПНБОДЩ pkgng ПРЙУБО ОБ УППФЧЕФУФЧХАЭЕК УФТБОЙГЕ УРТБЧПЮОЙЛБ. оБРТЙНЕТ, ЮФПВЩ ПЪОБЛПНЙФШУС УП УФТБОЙГЕК УРТБЧПЮОЙЛБ ДМС pkg install , ЪБРХУФЙФЕ МАВХА ЙЪ ДЧХИ ОЙЦЕУМЕДХАЭЙИ ЛПНБОД:

5.5.3.1. рПМХЮЕОЙЕ ЙОЖПТНБГЙЙ ПВ ХУФБОПЧМЕООЩИ РБЛЕФБИ РТЙ РПНПЭЙ pkgng

йОЖПТНБГЙС ПВ ХУФБОПЧМЕООЩИ Ч УЙУФЕНЕ РБЛЕФБИ НПЦЕФ ВЩФШ ПФПВТБЦЕОБ РТЙ РПНПЭЙ ЛПНБОДЩ pkg info . рПДПВОП ДП pkg_info (1) , Ч ЧЩЧПДЕ РЕТЕЮЙУМСАФУС ЧЕТУЙЙ Й ПРЙУБОЙС ЧУЕИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ.

Читайте также:  Установка карбюратор на вольво

еУМЙ ОЕПВИПДЙНБ ЙОЖПТНБГЙС П ЛПОЛТЕФОПН РБЛЕФЕ, ЧЩРПМОЙФЕ:

оБРТЙНЕТ, ДМС РПМХЮЕОЙС ЧЕТУЙЙ pkgng , ЛПФПТЩК ХУФБОПЧМЕО Ч УЙУФЕНЕ, ЪБРХУФЙФЕ:

5.5.3.2. хУФБОПЧЛБ Й ХДБМЕОЙЕ РБЛЕФПЧ РТЙ РПНПЭЙ pkgng

ч ПВЭЕН, ВЙОБТОЩЕ РБЛЕФЩ ХУФБОБЧМЙЧБАФУС РТЙ РПНПЭЙ:

лПНБОДБ pkg install ПВТБЭБЕФУС Л РБЛЕФОПНХ ТЕРПЪЙФПТЙА, ЬФП ХРПНЙОБМПУШ Ч тБЪДЕМљ5.5.2, pkgng >>. лПНБОДБ pkg-add(8), ОБРТПФЙЧ, ОЕ ЧЩРПМОСЕФ ПВТБЭЕОЙК Л РБЛЕФОПНХ ТЕРПЪЙФПТЙА, Б ФБЛЦЕ ЙЗОПТЙТХЕФ РЕТЕНЕООХА PACKAGESITE . лБЛ УМЕДУФЧЙЕ — ЪБЧЙУЙНПУФЙ ОЕ ПФУМЕЦЙЧБАФУС, Й ОЕПВИПДЙНЩЕ ЪБЧЙУЙНЩЕ ЛПНРПОЕОФЩ ОЕ УЛБЮЙЧБАФУС У ХДБМЕООПЗП ЙУФПЮОЙЛБ. ч ЬФПН ТБЪДЕМЕ ПРЙУБОБ ТБВПФБ У pkg install . ъБ РПДТПВОПУФСНЙ ТБВПФЩ У pkg add ПВТБФЙФЕУШ Л УРТБЧПЮОПК УФТБОЙГЕ РП pkg-add(8).

хФЙМЙФБ pkg install НПЦЕФ ХУФБОБЧМЙЧБФШ ДПРПМОЙФЕМШОЩЕ ВЙОБТОЩЕ РБЛЕФЩ. оБРТЙНЕТ, ДМС ХУФБОПЧЛЙ curl , ЧЩРПМОЙФЕ:

оПЧЩК РБЛЕФ, ЛБЛ Й МАВЩЕ ДПРПМОЙФЕМШОЩЕ РБЛЕФЩ, ЛПФПТЩЕ ВЩМЙ ХУФБОПЧМЕОЩ ЛБЛ ЪБЧЙУЙНПУФЙ, РЕТЕЮЙУМСАФУС Ч УРЙУЛЕ ХУФБОПЧМЕООЩИ РБЛЕФПЧ:

рБЛЕФЩ, Ч ЛПФПТЩИ ВПМЕЕ ОЕФ ОЕПВИПДЙНПУФЙ, НПЗХФ ВЩФШ ХДБМЕОЩ РТЙ РПНПЭЙ pkg delete . оБРТЙНЕТ, ЕУМЙ ЧЩСУОЙФУС, ЮФП curl ОЕ ОХЦЕО:

5.5.3.3. пВОПЧМЕОЙЕ ХУФБОПЧМЕООЩИ РБЛЕФПЧ РТЙ РПНПЭЙ pkgng

рБЛЕФЩ, ЧЕТУЙЙ ЛПФПТЩИ ХУФБТЕМЙ, НПЦОП ОБКФЙ РТЙ РПНПЭЙ ЛПНБОДЩ pkg version . чЕТУЙЙ ХУФБОПЧМЕООЩИ РБЛЕФПЧ УТБЧОЙЧБАФУС У ЧЕТУЙСНЙ РТЙМПЦЕОЙК ЙЪ МПЛБМШОПЗП ДЕТЕЧБ РПТФПЧ, Б Ч УМХЮБЕ ПФУХФУФЧЙС РПТФПЧ pkg-version(8) ПВТБЭБЕФУС Л ХДБМЕООПНХ ТЕРПЪЙФПТЙА РБЛЕФПЧ.

рТЙ РПНПЭЙ pkgng НПЦОП ПВОПЧМСФШ РБЛЕФЩ ДП ОПЧЩИ ЧЕТУЙК. рТЕДРПМПЦЙН, ЧЩЫМБ ОПЧБС ЧЕТУЙС curl . хУФБОПЧМЕООЩК РБЛЕФ НПЦОП ПВОПЧЙФШ Л ОПЧПК ЧЕТУЙЙ, ЧЩРПМОЙЧ:

5.5.3.4. бХДЙФ ВЕЪПРБУОПУФЙ РБЛЕФПЧ РТЙ РПНПЭЙ pkgng

йЪТЕДЛБ Ч РТЙМПЦЕОЙСИ ЙЪ лПММЕЛГЙЙ рПТФПЧ ПВОБТХЦЙЧБАФУС ХСЪЧЙНПУФЙ. ч pkgng ЧУФТПЕОБ ЧПЪНПЦОПУФШ ЧЩРПМОСФШ БХДЙФ ВЕЪПРБУОПУФЙ, ДЕКУФЧХАЭБС РПДПВОП РТЙМПЦЕОЙА ЙЪ ports-mgmt/portaudit. дМС ЧЩРПМОЕОЙС БХДЙФБ ХУФБОПЧМЕООЩИ Ч УЙУФЕНХ РТПЗТБНН, ЧЩРПМОЙФЕ:

5.5.4. уМПЦОЩЕ ЧПРТПУЩ ТБВПФЩ У pkgng

5.5.4.1. бЧФПНБФЙЮЕУЛПЕ ХДБМЕОЙЕ ОЕЙУРПМШЪХЕНЩИ ЪБЧЙУЙНПУФЕК РТЙ РПНПЭЙ pkgng

рПУМЕ ХДБМЕОЙС РБЛЕФБ Ч УЙУФЕНЕ НПЗХФ ПУФБФШУС ОЕЙУРПМШЪХЕНЩЕ ЪБЧЙУЙНПУФЙ, ОБРПДПВЙЕ security/ca_root_nss ЙЪ РТЙНЕТБ ЧЩЫЕ. фБЛЙЕ РБЛЕФЩ ПУФБАФУС ХУФБОПЧМЕООЩНЙ, ОЕУНПФТС ОБ ФП, ЮФП ПОЙ ВПМЕЕ ОЕ ФТЕВХАФУС ДТХЗЙН РБЛЕФБН. пРТЕДЕМЙФШ Й ХДБМЙФШ ОЕЙУРПМШЪХЕНЩЕ РБЛЕФЩ, ЛПФПТЩЕ ВЩМЙ ХУФБОПЧМЕОЩ ЛБЛ ЪБЧЙУЙНПУФЙ, НПЦОП РТЙ РПНПЭЙ:

5.5.4.2. тЕЪЕТЧОПЕ ЛПРЙТПЧБОЙЕ ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ pkgng

ч ПФМЙЮЙЕ ПФ ФТБДЙГЙПООПК УЙУФЕНЩ ХРТБЧМЕОЙС РБЛЕФБНЙ, pkgng ТБУРПМБЗБЕФ УЧПЙН УПВУФЧЕООЩН НЕИБОЙЪНПН ТЕЪЕТЧОПЗП ЛПРЙТПЧБОЙС ВБЪЩ ДБООЩИ. дМС ТХЮОПЗП УПЪДБОЙС ТЕЪЕТЧОПК ЛПРЙЙ ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ, ЧЩРПМОЙФЕ:

рТЙНЕЮБОЙЕ:

ъБНЕОЙФЕ ЙНС ЖБКМБ pkgng.db ОБ ВПМЕЕ РПДИПДСЭЕЕ.

ч ДПРПМОЕОЙЕ, pkgng УПДЕТЦЙФ УЛТЙРФ periodic (8) , РПЪЧПМСАЭЙК ЧЩРПМОСФШ ЕЦЕДОЕЧОПЕ БЧФПНБФЙЮЕУЛПЕ ЛПРЙТПЧБОЙЕ ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ. дМС БЛФЙЧБГЙЙ ДБООПК ЧПЪНПЦОПУФЙ ЪБДБКФЕ РЕТЕНЕООПК daily_backup_pkgng_enable ЪОБЮЕОЙЕ YES Ч ЖБКМЕ periodic.conf (5) .

рПДУЛБЪЛБ:

дМС РТЕДПФЧТБЭЕОЙС РЕТЙПДЙЮЕУЛПЗП ЪБРХУЛБ БОБМПЗЙЮОПЗП УЛТЙРФБ УЙУФЕНЩ pkg_install , ФБЛЦЕ ЧЩРПМОСАЭЕЗП ТЕЪЕТЧОПЕ ЛПРЙТПЧБОЙЕ ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ, ЪБДБКФЕ РЕТЕНЕООПК daily_backup_pkgdb_enable ЪОБЮЕОЙЕ NO Ч ЖБКМЕ periodic.conf (5) .

дМС ЧПУУФБОПЧМЕОЙС УПДЕТЦЙНПЗП ВБЪЩ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ ЙЪ ТЕЪЕТЧОПК ЛПРЙЙ, ЧЩРПМОЙФЕ:

5.5.4.3. хДБМЕОЙЕ ЛПРЙК ХУФБТЕЧЫЙИ РБЛЕФПЧ Ч УЙУФЕНЕ pkgng

рП ХНПМЮБОЙА, pkgng УПИТБОСЕФ ЛПРЙЙ ХУФБОПЧМЕООЩИ ВЙОБТОЩИ РБЛЕФПЧ Ч ЛБФБМПЗ, ХЛБЪБООЩК РЕТЕНЕООПК PKG_CACHEDIR Ч pkg.conf(5). рТЙ ПВОПЧМЕОЙЙ РБЛЕФПЧ ЛПНБОДПК pkg upgrade УФБТЩЕ ЧЕТУЙЙ ПВОПЧМЕООЩИ РБЛЕФПЧ БЧФПНБФЙЮЕУЛЙ ОЕ ХДБМСАФУС.

дМС ХДБМЕОЙС ХУФБТЕЧЫЙИ ЧЕТУЙК ВЙОБТОЩИ РБЛЕФПЧ ЙЪ ЛЕЫ-ЛБФБМПЗБ, ЧЩРПМОЙФЕ:

5.5.4.4. йЪНЕОЕОЙЕ НЕФБДБООЩИ РБЛЕФПЧ pkgng

уП ЧТЕНЕОЕН РТПЗТБННЩ ЙЪ лПММЕЛГЙЙ рПТФПЧ НПЗХФ РТЕФЕТРЕЧБФШ ЙЪНЕОЕОЙС УФБТЫЕЗП (major) ОПНЕТБ ЧЕТУЙЙ. ч ПФМЙЮЙЕ ПФ pkg_install , pkgng ТБУРПМБЗБЕФ ЧУФТПЕООПК ЛПНБОДПК ДМС ПВОПЧМЕОЙС ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ (origin) РБЛЕФБ. оБРТЙНЕТ, ЙЪОБЮБМШОП РПТФ lang/php5 ВЩМ ЧЕТУЙЙ 5.3 . рПЪЦЕ ЬФПФ РПТФ ВЩМ РЕТЕЙНЕОПЧБО Ч lang/php53, Б РПД ЙНЕОЕН lang/php5 ВЩМ УПЪДБО РПТФ ЧЕТУЙЙ 5.4 . хФЙМЙФБН УЙУФЕНЩ pkg_install ДМС ПВОПЧМЕОЙС ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ (origin) РБЛЕФБ Ч УПВУФЧЕООПК ВБЪЕ ДБООЩИ ХУФБОПЧМЕООЩИ РБЛЕФПЧ РПФТЕВПЧБМБУШ ВЩ РПНПЭШ ДПРПМОЙФЕМШОПЗП РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС, ФБЛПЗП ЛБЛ ports-mgmt/portmaster.

ч ПФМЙЮЙЕ ПФ ports-mgmt/portmaster Й ports-mgmt/portupgrade ДМС РПТФПЧ, РПТСДПЛ РЕТЕЮЙУМЕОЙС ОПЧПК Й УФБТПК ЧЕТУЙК ПФМЙЮБАФУС. дМС pkgng ОЕПВИПДЙН УМЕДХАЭЙК РПТСДПЛ:

оБРТЙНЕТ, Ч ЧЩЫЕРТЙЧЕДЕООПН УМХЮБЕ ДМС ЪБНЕОЩ ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ РБЛЕФБ, ЧЩРПМОЙФЕ:

еЭЕ ПДЙО РТЙНЕТ: ДМС ЙЪНЕОЕОЙС ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ РБЛЕФБ У lang/ruby18 ОБ lang/ruby19, ЧЩРПМОЙФЕ:

й РПУМЕДОЙК РТЙНЕТ: ДМС ЪБНЕОЩ ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ РБЛЕФБ ТБЪДЕМСЕНПК ВЙВМЙПФЕЛЙ libglut У graphics/libglut ОБ graphics/freeglut, ЪБРХУФЙФЕ:

рТЙНЕЮБОЙЕ:

чЩРПМОСС ЪБНЕОХ ЙОЖПТНБГЙЙ П РТПЙУИПЦДЕОЙЙ РБЛЕФПЧ, Ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ФБЛЦЕ ФТЕВХЕФУС РЕТЕХУФБОПЧЙФШ РБЛЕФЩ, ЛПФПТЩЕ ЪБЧЙУСФ ПФ ЙЪНЕОЙЧЫЕЗПУС РБЛЕФБ. дМС РТЙОХДЙФЕМШОПК РЕТЕХУФБОПЧЛЙ ЪБЧЙУСЭЙИ РБЛЕФПЧ, ЧЩРПМОЙФЕ:

рП ЧПРТПУБН, УЧСЪБООЩН У FreeBSD, РТПЮЙФБКФЕ ДПЛХНЕОФБГЙА РТЕЦДЕ ЮЕН РЙУБФШ Ч .
рП ЧПРТПУБН, УЧСЪБООЩН У ЬФПК ДПЛХНЕОФБГЙЕК, РЙЫЙФЕ Ч ТБУУЩМЛХ .

источник

Записки инженера

Доступным языком заметки по IT технологиям

Установка и удаление программ в FreeBSD, коллекция портов (ports), установка пакетов (tbz)

Заметка о том как устанавливать и удалять программы в FreeBSD, используя коллекцию портов (ports) и пакетов (tbz).

В системе FreeBSD существует два механизма для установки нового программного обеспечения.

  1. Установка из портов (ports).
  2. Установка пакетов (уже скомпилированных бинарных файлов)

Немного теории о каждом методе

Про порты …

Термин порт (port) — сокращение от portability, то есть переносимый. Порт для любого конкретно взятого приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. Установка из портов, означает что программа будет скачана в виде исходных кодов, скомпилирована и установлена в автоматическом режиме.

Про пакеты …

Пакет — это архив (tbz файл), содержащий уже скомпилированную программу (бинарные файлы). Установка пакета, означает, распаковку данного архива с помощью специальной программы. Файлы распаковываются по указанным в пакете путям.

Установка пакетов (tbz)

Если вы используете одну из последних версий (с FreeBSD 9.1), то вам необходимо установить новый менеджер

Читайте также:  Установка ксенона с автосветом

пакетов — pkgng, для это введите в командной строке

Далее, укажем системе что нужно использовать pkgng.

Создадим файл конфигурации.

Работа с менджером пакетов pkng:

— для установки пакетов используется команда pkg install имя_пакета

— для удаления pkg delete имя_пакета

— для вывода списка установленных пакетов — pkg info

— для вывода установленных файлов пакета — pkg info -l имя_пакета

— для поиска пакета — pkg search имя пакета

Более подробно как работать с pkgng — тут

Полезная информация при работе с pkgng — тут )

1. Устанавливаем пакет с именем name_package (пакет будет скачан с сервера ftp.freebsd.org)

P.S. Параметр -r, означает установку пакета с ftp сервера со всеми зависимостями.

2. После установки обновляем файловую систему (перечитываем)

3. Удаляем пакет name_package (не нужные программы удаляйте, мусорить не есть хорошо)

P.S. Что-бы посмотреть список всех установленных пакетов можно воспользоваться командой pkg_info. Если вы не помните точное имя установленного пакета, узнать его можно с помощью комбинации pkg_info | grep примерное_имя_пакета.

Что бы удалить пакет со всем зависимостями (т.е. c пакетами которые были скачены при установке) используем опцию -r, например pkg_delete -r name_package

Установка пакета без подключения к интернету

1. Копируем заранее скаченный пакет с USB-флешки или с CD/DVD в файловую систему FreeBSD (как это сделать)

2. Переходим в директорию с пакетом

3. Устанавливаем пакет с именем name_package, посредством команды:

P.S. Для работы программ, как правило требуется заранее установленные программы/библиотеки, вообщем некие заранее установленные пакеты. Эти пакеты называется зависимостями. Процесс установки всех нужных пакетов для работы устанавливаемой программы называют удовлетворение зависимостей. В нашем случае все зависимые пакеты нужно поместить в ту-же директорию где и name_package, тогда при установке данной программы автоматически установятся и все зависимые пакеты. Узнать список зависимых пакетов, можно с помощью команды pkg_info -r name_package.

4. После установки обновляем файловую систему (перечитываем)

5. Удаляем пакет name_package (не нужные программы удаляйте, мусорить не есть хорошо)

P.S. Что-бы посмотреть список всех установленных пакетов можно воспользоваться командой pkg_info. Если вы не помните точное имя установленного пакета, узнать его можно с помощью комбинации pkg_info | grep примерное_имя_пакета.

Что бы удалить пакет со всем зависимостями (т.е. c пакетами от которых зависит данная программа) используем опцию -r, например pkg_delete -r name_package

Установка из портов

(В FreeBSD с версии 9.2, не знаю по каким причинам, но чтобы заработали порты их сначала нужно удалить (т.е. удалить папку /usr/local/ports) а потом уже скачать с помощью portsnap fetch

Также, перед использованием портов, необходимо установить новую систему управлением пакетами — pkgng (как это сделать, написано выше).

Что-бы установленные пакеты регистрировались в системе с помощью pkgng, нужно

ИНАЧЕ ВЫ НЕ СМОЖЕТЕ УСТАНАВЛИВАТЬ ИЗ ПОРТОВ!

Если вы устанавливали FreeBSD в режиме MINIMAL, то система портов отсутствует и ее необходимо установить.

1. Установка системы портов (получение портов)

Используем стандартную утилиту portsnap

Распаковываем коллекцию портов

P.S. Установить систему портов можно и вручную не использую всяких дополнительных утилит. Первым делом переходим в директорию/usr/ports, далее скачиваем порты с помощью команды fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports-stable и распаковываем архив командой tar zxvf ports.tar.gz

В случае если система портов уже была установлена, ее необходимо обновить до актуального состояния. Если вы только что установили порты, то шаг 2 можно пропустить.

2. Обновление системы портов

3. Установка программ из портов

Что бы установить программу из портов, необходимо перейти в директорию /usr/ports/, далее выбрать интересующий нас раздел (например www) и зайти в директорию с интересующем названием программы (например apache13). После чего, установим данную программу с помощью следующей команды:

P.S. По хорошему, желательно проводить установку в следующей последовательности.

Заходим в директорию с названием программы, далее конфигурируем программу перед компиляцией с помощью команды make config, конфигурирование может быть как и автоматическим так и с указанием дополнительных параметров, тогда открывается окно типа

Нажимаем Ok, далее компилируем программу с помощью команды make (cкомпилированные файлы располагаются в директории work). Устанавливаем программу вводя команду make install и удаляем скомпелированные файлы которые располагаются в порту (в work) с помощью make clean.

В вкратце повторим последовательность:

make config

make install

4. После установки обновляем файловую систему (перечитываем)

источник

Предложение от 8host.com

Управление пакетами в FreeBSD 10.1

Менеджер бинарных пакетов FreeBSD по имени pkg позволяет управлять установкой предварительно скомпилированных приложений. По сравнению с другим распространенным методом установки программного обеспечения в системе FreeBSD, — компиляцией портов при помощи коллекции портов (FreeBSD Ports Collection), — использование пакетов является гораздо более простым, быстрым и универсальным способом установки. Пакеты, однако, не обладают такой гибкостью, как порты, поскольку они не могут быть изменены; потому при необходимости отредактировать параметры установки программного обеспечения рекомендуется использовать порты вместо пакетов.

В данном руководстве показано, как управлять пакетами в системе FreeBSD 10.1: устанавливать, удалять пакеты, а также выполнять множество других подобных задач.

Требования

Для запуска команд данного руководства необходимы привилегии root. Это значит, пользователь должен войти на сервер FreeBSD как root и создать альтернативного пользователя с расширенными привилегиями при помощи команды sudo. В целом, можно просто использовать учётную запись root, но это более опасно.

Установка пакетов при помощи pkg

Если вам известно имя пакета, который нужно установить, используйте следующую команду:

Читайте также:  Установка odis win xp

sudo pkg install имя_пакета

Можно также указать сразу несколько пакетов, разделив их при помощи пробела:

sudo pkg install package1 package2 .

Для примера можно установить популярный веб-сервер Nginx:

Данная команда запустит установку указанного пакета. Сначала система проверит обновления в каталоге репозитория. Если репозиторий уже полностью обновлен, то система будет искать указанный пакет. Если пакет найден, на экране появятся его зависимости и запрос на подтверждение.

В данном примере будет установлен только nginx. Нажмите y, чтобы подтвердить установку.

New packages to be INSTALLED:
nginx: 1.6.2_1,2
The process will require 654 KB more space.
244 KB to be downloaded.
Proceed with this action? [y/N]: y

После этого перечисленные на экране пакеты будут загружены и установлены. Некоторые пакеты предоставят важную послеинсталляционную информацию или инструкции по использованию приложения; обязательно выполните все появившиеся инструкции.

В стандартной оболочке (tcsh или csh) нужно восстановить список бинарных пакетов в PATH при помощи команды:

Также важно помнить, что приложения, которые используются как сервисы, не запускаются автоматически и не являются сервисами по умолчанию.

Запуск сервисов

В системе FreeBSD сервисы, установленные через пакеты, предоставляют скрипт инициализации в /usr/local/etc/rc.d. Установив nginx, который можно запустить как сервис, нужно выполнить его скрипт запуска, который называется nginx.

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

Сервис не будет запущен, а на экране появится сообщение:

Cannot ‘start’ nginx. Set nginx_enable to YES in /etc/rc.conf or use ‘onestart’ instead of ‘start’.

Чтобы включить сервис, следуйте инструкциям этого сообщения и добавьте в /etc/rc.conf следующую строку:

Можно либо открыть /etc/rc.conf в редакторе, либо использовать утилиту sysrc:

sudo sysrc nginx_enable=yes

Теперь nginx включен как сервис. Он запустится при загрузке системы; чтобы запустить его вручную, используйте команду:

Чтобы запустить сервис только один раз, не включая его, используйте подкоманду onestart. В этом случае скрипт будет запущен сразу, но он не будет запускаться при загрузке системы.

sudo service nginx onestart

Субкоманда onestart полезна при тестировании настроек сервиса.

Просмотр информации о пакете при помощи pkg

Чтобы просмотреть информацию об установленных пакетах, используйте команду pkg info.

Это выведет на экран информацию о заданном пакете, включая описание ПО, опции, использованные при его компиляции, и список библиотек и зависимостей.

Обновление установленных пакетов

Чтобы получить последние доступные версии установленных ранее пакетов, используйте команду:

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

Updating FreeBSD repository catalogue.
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 packages will be affected (of 0 checked):
Installed packages to be UPGRADED:
python27: 2.7.8_6 -> 2.7.9
perl5: 5.18.4_10 -> 5.18.4_11
The process will require 2 MB more space.
23 MB to be downloaded.
Proceed with this action? [y/N]: y

Введите y, после чего пакеты, указанные в списке, будут обновлены.

Удаление пакетов

Если вам известно имя пакета, который нужно удалить, используйте команду:

sudo pkg delete имя_пакета

Можно также удалить сразу несколько пакетов, указав имена пакетов через пробел:

sudo pkg delete package1 package2 .

Теперь попробуйте удалить пакет Nginx:

На экране появится сообщение и запрос на подтверждение:

Checking integrity. done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
nginx-1.6.2_1,2
The operation will free 654 KB.
Proceed with deinstalling packages? [y/N]: y

После подтверждения указанный пакет будет удалён.

Удаление зависимостей

После удаления пакета в системе может остаться ряд ненужных зависимостей. Чтобы удалить пакеты, которые больше не нужны ни одному из оставшихся в системе пакетов, выполните следующую команду:

На экране появится список пакетов, которые будут удалены, и запрос на подтверждение. Подтвердите удаление пакетов, введя y.

Поиск пакетов

Чтобы найти бинарный файл, доступный в репозитории, используйте команду pkg search.

Поиск по имени

Основной способ поиска нужного пакета – это поиск по имени пакета. Для этого используется команда:

К примеру, чтобы найти пакет по имени nginx, нужно выполнить:

На экране появится список пакетов с именем nginx и номерами версий:

nginx-1.6.2_1,2
nginx-devel-1.7.8
p5-Nginx-ReadBody-0.07_1
p5-Nginx-Simple-0.07_1
p5-Test-Nginx-0.24

Чтобы получить подробную информацию о пакете, используйте флаг –f.

Эта опция выведет на экран информацию обо всех найденных пакетах с таким именем.

Поиск по описанию

Если точное имя пакета вам неизвестно, можно использовать поиск по описанию пакета; для этого существует опция –D. по умолчанию, поисковой шаблон нечувствителен к регистру.

pkg search -D поисковой шаблон

К примеру, чтобы найти все пакеты, содержащие в описании java, используйте:

Это выведет на экран имена и информацию обо всех доступных пакетах с заданным описанием.

Примечание: Утилита pkg очень гибкая; конечно, данное руководство неспособно охватить все её функции. К счастью, существует простой способ получить более подробную информацию о работе pkg.

Чтобы получить список всех доступных опций pkg, используйте:

Кроме того, можно ознакомиться с руководством по субкомандам pkg; для этого используйте команду pkg help в таком виде:

К примеру, чтобы получить подробности о команде search, введите:

На экране появится страница руководства по использованию pkg search.

Заключение

Теперь вы знакомы с основами использования менеджера пакетов pkg на сервере FreeBSD.

источник

Добавить комментарий

Adblock
detector