Како користити Пкг менаџер пакета на ФрееБСД 12

Увод

ФрееБСД је оперативни систем отвореног кода сличан Уник-у који се користи за напајање модерних сервера, десктопа и уграђених платформи. Дивови као што су Нетфлик, Иахоо!, ВхатсАпп, ББЦ и Сони користе ФрееБСД у неком облику. ФрееБСД систем није тако широко познат као Линук, углавном због тога што се Линук годинама фокусирао на радну површину и ФрееБСД пројекат је имао тенденцију да буде више базиран на серверима.

У овом водичу ћете научити о управљању пакетима на ФрееБСД 12.

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

На ФрееБСД-у имамо два различита начина за инсталирање додатног софтвера: преко колекције портова или портова и преко унапред конфигурисаних пакета за инсталирање и управљање софтвером.

Портови су систем за прављење додатног софтвера на ФрееБСД-у. Са портовима почињете са сировим изворним кодом који обезбеђује произвођач софтвера и градите софтвер тачно онако како вам је потребно, омогућавајући и онемогућавајући функције по потреби.

Пакети су унапред компајлирани софтвер и резултат су изградње портова, користећи опције за које одржавалац порта сматра да ће бити најкорисније најширем спектру људи и спајајући их у пакет како би се лако инсталирали. Пакети вам омогућавају да брзо инсталирате, деинсталирате и надоградите додатни софтвер. ФрееБСД-ов систем паковања се зове пакет или pkg. Информације о пакету се чувају у СКЛите бази података коју можете питати о подацима о пакету.

Још једна важна ствар у вези са управљањем ФрееБСД пакетима је локација бинарних датотека пакета. Пакети инсталирати бинарне под /usr/local, а већина цонфигуратион филес завршити у /usr/local/etcнего /etc. Ако долазите из Линук света, ово вам може бити веома неуобичајено.

ФрееБСД менаџер пакета, pkg

Следећа генерација замена за традиционалне ФрееБСД алате за управљање пакетима је pkg. Нудећи многе функције које чине рад са бинарним пакетима бржим и лакшим, pkgје најлакши начин за инсталирање софтвера који већ није укључен у основни систем ФрееБСД-а. То је један програм са много поднаредби које ћете користити за скоро сваку операцију на пакетима као што је инсталирање, уклањање и истраживање пакета. Све операције и промене пакета морају бити покренуте као rootили преко sudo.

Ево како бисте инсталирали curlпакет на ФрееБСД:

pkg install curl

Можете да унесете команду са -yда бисте избегли Proceed with this action? [y/N]:питање приликом инсталирања софтвера или можете да конфигуришете pkgда увек претпостави -yу конфигурационој датотеци.

Да бисте уклонили пакет, користили бисте delete:

pkg delete curl

Као што видите, врло је једноставно и интуитивно.

Користите pkg helpза брзу референцу о доступним подкомандама или pkg help <subcommand>за приказ странице приручника за одређену подкоманду:

pkg help
pkg help install
pkg help delete

Инсталирање pkg

Стандардна верзија ФрееБСД-а се не испоручује са pkgинсталираним менаџером пакета. Када први пут покушате да инсталирате неки пакет, pkgтражи од вас да инсталирате алатку за управљање пакетима. На пример, рецимо да је први пакет који желите да инсталирате на ваш нови ФрееБСД wgetи видећете следећу промпт у свом терминалу:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Погодићете Yи ENTERинсталација алата за управљање пакетима ће почети. Након што буде постављен, wgetбиће инсталиран почетни софтверски пакет који сте желели да инсталирате ( ).

Такође можете инсталирати систем за паковање самостално, без додавања других пакета, тако што ћете покренути pkg bootstrap. Поред тога, pkgзна како да инсталира и ажурира себе и друге пакете.

НАПОМЕНА: Вултр инстанце су pkgинсталиране по подразумеваној вредности, тако да не морате да их инсталирате.

Конфигурисање pkg

pkgПрограм је дизајниран да буде веома флексибилан, са сваким подопција има много опција. Можете успоставити прилагођено, али доследно понашање за већину програма помоћу конфигурационе датотеке за цео систем за pkg, која се налази у /usr/local/etc/pkg.conf.

Датотека садржи коментарисане подразумеване вредности за pkg. Читајући ту датотеку, можете научити много о томе како pkgсе понаша. Конфигурација је написана на универзалном конфигурационом језику (УЦЛ) и постоји много опција за конфигурисање са коментарима и доста алијаса. Променљиве се могу подесити на цео број, стринг или логичку вредност:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

Можете дефинисати псеудониме за pkgподкоманде у pkg.conf. На дну pkg.conf, наћи ћете одељак са ознаком ALIAS. Када приметите да више пута изводите сложене команде, требало би да додате псеудониме.

За више информација о формату датотеке и опцијама, можете погледати pkg.conf(5)ман страницу:

man pkg.conf

Проналажење пакета

Сада када имате инсталиран менаџер пакета, можете инсталирати пакете. Ако сте сис-админ, упознати сте са чињеницом да различити оперативни системи додељују различита имена упакованим верзијама истог софтвера. Пакет за Апацхе веб сервер на ФрееБСД-у, на пример, имаће потпуно другачије име од упакованог Апацхе-а на различитим Линук дистрибуцијама. Дакле, пре него што можете било шта да инсталирате, мораћете да схватите како се зове пакет који желите да инсталирате.

ФрееБСД пројекат нуди неколико сетова пакета у јавном спремишту и они се ажурирају сваких неколико дана. Тренутно има преко 25.000 пакета.

На пример, хајде да покушамо да потражимо Апацхе веб сервер:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Пронаћи ће све пакете apacheу њиховим именима. Ово ће вратити дугачку листу, али оно што тражите је apache24пакет. Постоји кратак опис сваког пакета. Ово би требало да вам помогне када одлучујете који пакет да инсталирате, али није увек једноставно.

Неке претраге могу генерисати стотине резултата. Мораћете да користите различите опције командне линије да бисте скратили или прилагодили резултате претраге. Консултујте pkg-searchман страницу или страницу помоћи pkg help searchда бисте сазнали више о уобичајеним опцијама претраге.

Ако нисте сигурни да ли је пакет оно што заиста желите, можете користити следећу команду да бисте потражили детаље о пакету:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "apache@FreeBSD.org"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

Ова команда ће вам дати много корисних информација о пакету.

Инсталирање пакета

Да бисте инсталирали софтвер, користите installподкоманду и назив пакета за инсталирање:

pkg install apache24

Када инсталирате пакете са pkg install, pkgконсултујте локални каталог пакета, а затим преузимате тражени пакет из спремишта на адреси pkg.FreeBSD.org. Када се пакет инсталира, он се региструје у СКЛите бази података која се чува у /var/db/pkg/local.sqlite. Водите рачуна да не избришете ову датотеку, иначе ће ваш систем изгубити траг о томе који су пакети инсталирани. Ако софтвер има зависности, pkgоткриће их и инсталирати заједно са основним пакетом. Пакети инсталирани као зависности називају се аутоматски пакети.

Менаџер пакета има могућност да само преузме пакете преко интернета и сачува их на једној локацији на диску. Ово вам омогућава да их инсталирате у неко друго време. Можете користити pkg fetchнаредбу да преузмете пакет без инсталирања:

pkg fetch nginx

Ова команда ће преузети само Нгинк без његових зависности. Можете користити -dзаставицу да зграбите све зависности као и именовани пакет:

pkg fetch -d nginx

Пакети се преузимају у директоријум кеш меморије пакета /var/cache/pkg. Након што преузмете пакете, pkgдодаћете их у овај директоријум. Можете да наведете датотеке да видите шта садржи:

ls /var/cache/pkg

Сада, да бисте инсталирали преузети пакет након преузимања, покрените pkg installнормално. Процес инсталације користи кеширане датотеке, а не преузете.

Временом, директоријум кеша пакета може постати велики. pkg cleanКоманда уклања све кеширане пакете који су замењени новим верзијама, као и све пакет датотеке које више нису у спремишту:

pkg clean

Ако желите да уклоните све кеширане пакете, користите -aознаку:

pkg clean -a

Ако желите да аутоматски очистите кеш пакета након сваке инсталације или надоградње пакета, подесите pkg.confопцију AUTOCLEANна true.

Добијање информација о инсталираним пакетима

Ако заборавите које сте пакете инсталирали на систему, можете користити pkg infoда добијете комплетну листу инсталираног софтвера:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Ако желите више информација о инсталираном пакету, користите pkg infoи назив пакета. Ово показује детаље о инсталацији пакета у извештају прилагођеном људима:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

You can see a lot of useful information like the version of the software, the time of software installation, software license, compile-time flags and more. Check the pkg-info man page for the complete details.

Removing packages

To uninstall binary packages use the pkg delete subcommand. It’s also available as pkg remove:

pkg delete nginx
# or
pkg remove nginx

You will get a list of packages to be removed and how much space this will free up.

If you remove a package that other packages depend on, pkg removes the depending packages as well.

Locking packages

There may be a time when you want a package on your server to never upgrade. When you lock a package, pkg won’t upgrade, downgrade, uninstall or reinstall it. It applies the same rules to the package’s dependencies and the programs it depends on.

Користите pkg lockза закључавање пакета:

pkg lock openssl

Овај opensslпакет је сада закључан.

Да бисте навели све тренутно закључане пакете на систему, користите -lзаставицу:

pkg lock -l

Да бисте уклонили закључавање, користите pkg unlockнаредбу:

pkg unlock openssl

Да бисте закључали или откључали све пакете на систему одједном, користите -aзаставицу:

pkg lock -a
pkg unlock -a

Спремишта пакета

Репозиторијуми пакета подржавају pkg, који су именоване колекције пакета. Можете додати, уклонити, омогућити и онемогућити спремишта. Требало би да конфигуришете свако спремиште у сопственој датотеци користећи УЦЛ формат. Званична ФрееБСД спремишта припадају /etc/pkgдиректоријуму. ФрееБСД се испоручује са омогућеним репо "ФрееБСД". Његову конфигурациону датотеку ћете пронаћи у /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Можете додавати и уклањати спремишта по потреби. Као што /etc/pkgје резервисано за званична ФрееБСД спремишта, требаће вам још један директоријум. Традиционална локација је /usr/local/etc/pkg/repos. Ако желите да користите други директоријум, мораћете да подесите локацију pkg.confпомоћу REPO_DIRSопције. Директоријум локалног спремишта подразумевано не постоји, тако да ћете морати да га креирате са mkdir -p /usr/local/etc/pkg/repos. Ставите своје сопствене конфигурације спремишта у тај директоријум.

Пример pkgподкоманди

Овај одељак ће навести неке од најчешће коришћених подкоманди које ћете највероватније користити када администрирате ФрееБСД сервер:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

Важне датотеке и директоријуми

  • pkgКонфигурација фајл -/usr/local/etc/pkg.conf
  • Директоријум резервисан за званична ФрееБСД спремишта - /etc/pkg
  • ФрееБСД датотека спремишта - /etc/pkg/FreeBSD.conf
  • Традиционална локација за прилагођена спремишта - /usr/local/etc/pkg/repos
  • Директоријум кеш меморије пакета - /var/cache/pkg
  • СКЛите база података - /var/db/pkg/local.sqlite

Резиме

ФрееБСД обезбеђује две комплементарне технологије за инсталирање софтвера треће стране: ФрееБСД Портс Цоллецтион, за инсталацију из извора и пакета, за инсталацију из унапред изграђених бинарних датотека. Како ФрееБСД одлучније помера систем ка универзалном управљању пакетима, покушајте да управљате софтвером треће pkgстране колико је то могуће. Избегавајте коришћење портова осим ако софтвер који желите нема упаковану верзију или ако морате да прилагодите опције времена компајлирања.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више