Prezantimi
Portet kundrejt paketave
Menaxheri i paketave FreeBSD, pkg
Instalimi i pkg
Konfigurimi i pkg
Gjetja e paketave
Instalimi i paketave
Marrja e informacionit në lidhje me paketat e instaluara
Heqja e paketave
Mbyllja e paketave
Depot e paketave
Shembull i nënkomandave pkg
Skedarë dhe drejtori të rëndësishme
Përmbledhje
Prezantimi
FreeBSD është një sistem operativ me burim të hapur, i ngjashëm me Unix, i përdorur për të fuqizuar serverët modernë, desktopët dhe platformat e integruara. Gjigantët si Netflix, Yahoo!, WhatsApp, BBC dhe Sony përdorin FreeBSD në njëfarë forme. Sistemi FreeBSD nuk është aq i njohur sa Linux, kryesisht sepse Linux është përqendruar për shumë vite në Desktop dhe projekti FreeBSD ka prirje të jetë më shumë i bazuar në server.
Në këtë udhëzues, do të mësoni rreth menaxhimit të paketave në FreeBSD 12.
Portet kundrejt paketave
Në FreeBSD ne kemi dy mënyra të ndryshme për të instaluar softuer shtesë: nëpërmjet Ports Collection , ose Ports , dhe nëpërmjet paketave të parakonfiguruara për të instaluar dhe menaxhuar softuerin.
Portet është një sistem për ndërtimin e softuerit shtesë në FreeBSD. Me Portat ju filloni me kodin burimor të papërpunuar të ofruar nga shitësi i softuerit dhe e ndërtoni softuerin pikërisht në mënyrën që ju nevojitet, duke aktivizuar dhe çaktivizuar veçoritë sipas nevojës.
Paketat janë softuer të para-përpiluar dhe janë rezultat i ndërtimit të porteve, duke përdorur opsionet që mirëmbajtësi i portit mendon se do të jenë më të dobishme për shumëllojshmërinë më të gjerë të njerëzve dhe duke i bashkuar ato në një paketë për t'i bërë ato lehtësisht të instalueshme. Paketat ju lejojnë të instaloni, çinstaloni dhe përmirësoni shpejt softuerin shtesë. Sistemi i paketimit të FreeBSD quhet paketë , ose pkg. Informacioni i paketës ruhet në një bazë të dhënash SQLite që mund të kërkoni për të dhënat e paketës.
Një tjetër gjë e rëndësishme në lidhje me menaxhimin e paketave FreeBSD është vendndodhja e binarëve të paketave. Paketat instalojnë binare nën /usr/local, dhe shumica e skedarëve të konfigurimit përfundojnë në /usr/local/etcmë shumë se /etc. Nëse vini nga bota Linux, mund ta gjeni këtë shumë të pazakontë.
Menaxheri i paketave FreeBSD, pkg
Zëvendësimi i gjeneratës së ardhshme për mjetet tradicionale të menaxhimit të paketave FreeBSD është pkg. Ofrimi i shumë veçorive që e bëjnë më të shpejtë dhe më të lehtë trajtimin e paketave binare, pkgështë mënyra më e lehtë për të instaluar softuer që nuk është përfshirë tashmë në sistemin bazë të FreeBSD. Është një program i vetëm me shumë nënkomanda që do t'i përdorni pothuajse për çdo operacion në paketa të tilla si instalimi, heqja dhe hetimi i paketave. Të gjitha operacionet dhe ndryshimet e paketës duhet të ekzekutohen si rootose nëpërmjet sudo.
Ja se si do ta instaloni curlpaketën në FreeBSD:
pkg install curl
Ju mund ta ushqeni komandën me të -ypër të shmangur Proceed with this action? [y/N]:pyetjen kur instaloni softuerin ose mund të konfiguroni pkgqë gjithmonë të supozohet -ynë një skedar konfigurimi.
Për të hequr paketën, do të përdorni delete:
pkg delete curl
Siç mund ta shihni, është shumë e thjeshtë dhe intuitive.
Përdoreni pkg helppër një referencë të shpejtë në nënkomandat e disponueshme ose pkg help <subcommand>për të shfaqur faqen manuale për një nënkomandë të veçantë:
pkg help
pkg help install
pkg help delete
Instalimi pkg
Versioni i disponueshëm i FreeBSD nuk dërgohet me pkgmenaxherin e paketave të instaluar. Herën e parë që provoni të instaloni një paketë, pkgju kërkon të instaloni mjetin e menaxhimit të paketave. Për shembull, le të themi se paketa e parë që dëshironi të instaloni në FreeBSD tuaj të freskët është wget, dhe do të shihni kërkesën e mëposhtme në terminalin tuaj:
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Do të goditni Ydhe ENTERdo të fillojë instalimi i mjetit të menaxhimit të paketës. Pasi të jetë vendosur, wgetdo të instalohet paketa fillestare e softuerit që dëshironi të instaloni ( ).
Ju gjithashtu mund ta instaloni sistemin e paketimit vetë, pa shtuar paketa të tjera, duke ekzekutuar pkg bootstrap. Për më tepër, pkgdi të instalojë dhe përditësojë veten dhe paketat e tjera.
SHËNIM: Instancat e Vultr janë pkginstaluar si parazgjedhje, kështu që nuk keni nevojë ta instaloni atë.
Konfigurimi pkg
pkgProgram është projektuar të jetë shumë fleksibël, me çdo subcommand që ka shumë opsione. Ju mund të vendosni sjellje të personalizuara, por të qëndrueshme për shumicën e programeve me skedarin e konfigurimit në të gjithë sistemin për pkg, të vendosur në /usr/local/etc/pkg.conf.
Skedari përmban parazgjedhje të komentuara për pkg. Vetëm duke lexuar atë skedar, mund të mësoni shumë për mënyrën se si pkgsillet. Konfigurimi është shkruar në gjuhën universale të konfigurimit (UCL) dhe ka shumë opsione konfigurimi të komentuara dhe mjaft pseudonime. Variablat mund të vendosen në një numër të plotë, një varg ose një vlerë Boolean:
#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;
. . .
Ju mund të përcaktoni pseudonimet për pkgnënkomandat në pkg.conf. Në fund të pkg.conf, do të gjeni një seksion të etiketuar ALIAS. Kur e gjeni veten duke ekzekutuar vazhdimisht komanda komplekse, duhet të shtoni pseudonime.
Për më shumë informacion mbi formatin dhe opsionet e skedarit, mund t'i referoheni pkg.conf(5)faqes së njeriut:
man pkg.conf
Gjetja e paketave
Tani që keni të instaluar një menaxher paketash, mund të instaloni paketa. Nëse jeni administrator i sistemit, jeni njohur me faktin që sisteme të ndryshme operative caktojnë emra të ndryshëm për versionet e paketuara të të njëjtit softuer. Një paketë për ueb serverin Apache në FreeBSD, për shembull, do të ketë një emër krejtësisht të ndryshëm nga Apache i paketuar në shpërndarje të ndryshme Linux. Pra, përpara se të instaloni ndonjë gjë, do t'ju duhet të kuptoni se cili është emri i paketës që dëshironi të instaloni.
Projekti FreeBSD ofron disa grupe paketash në një depo publike dhe ato përditësohen çdo disa ditë. Aktualisht ka mbi 25,000 pako.
Për shembull, le të përpiqemi të kërkojmë për serverin në internet Apache:
pkg search apache
# apache24-2.4.38 Version 2.4.x of Apache web server
Do të gjejë të gjitha paketat me apacheemrat e tyre. Kjo do të kthejë një listë të gjatë, por ajo që ju kërkoni është apache24paketa. Ekziston një përshkrim i shkurtër i çdo pakete. Kjo duhet t'ju ndihmojë kur vendosni se çfarë pakete të instaloni, por nuk është gjithmonë e thjeshtë.
Disa kërkime mund të gjenerojnë qindra rezultate. Do t'ju duhet të përdorni opsione të ndryshme të linjës së komandës për të shkurtuar ose rregulluar rezultatet e kërkimit. Konsultohuni me pkg-searchfaqen e njeriut ose faqen e ndihmës pkg help searchpër të mësuar më shumë rreth opsioneve të zakonshme të kërkimit.
Nëse nuk jeni të sigurt nëse një paketë është ajo që dëshironi, mund të përdorni komandën e mëposhtme për të kërkuar detajet e paketës:
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"
# . . .
# . . .
Kjo komandë do t'ju japë shumë informacione të dobishme për paketën.
Instalimi i paketave
Për të instaluar softuerin, përdorni installnënkomandën dhe emrin e një pakete për të instaluar:
pkg install apache24
Kur instaloni paketat me pkg install, pkgkonsultohet me katalogun lokal të paketave dhe më pas shkarkon paketën e kërkuar nga depoja në pkg.FreeBSD.org. Pasi të instalohet paketa, ajo regjistrohet në një bazë të dhënash SQLite të mbajtur në /var/db/pkg/local.sqlite. Kini kujdes që të mos e fshini këtë skedar, përndryshe, sistemi juaj do të humbasë gjurmët se cilat paketa janë instaluar. Nëse softueri ka varësi, pkgdo t'i kuptojë dhe do t'i instalojë së bashku me paketën bazë. Paketat e instaluara si varësi quhen paketa automatike .
Menaxheri i paketave ka mundësinë që thjesht të shkarkojë paketa përmes internetit dhe t'i ruajë ato në një vend në disk. Kjo ju lejon t'i instaloni ato në një kohë tjetër. Ju mund të përdorni pkg fetchkomandën për të shkarkuar paketën pa e instaluar atë:
pkg fetch nginx
Kjo komandë do të marrë vetëm Nginx pa varësitë e tij. Ju mund të përdorni -dflamurin për të kapur të gjitha varësitë, si dhe paketën e emërtuar:
pkg fetch -d nginx
Paketat shkarkohen në drejtorinë e cache të paketave /var/cache/pkg. Pasi të keni marrë paketat, pkgdo t'i shtoni ato në këtë direktori. Ju mund të listoni skedarët për të parë se çfarë përmban:
ls /var/cache/pkg
Tani, për të instaluar një paketë të shkarkuar pas një tërheqjeje, ekzekutojeni pkg installnormalisht. Procesi i instalimit përdor skedarët e memorizuar në vend të atyre të shkarkuar.
Me kalimin e kohës, drejtoria e cache-it të paketave mund të rritet. pkg cleanKomanda heq ndonjë pako kopje e ruajtur që janë zëvendësuar nga versionet më të reja, si dhe ndonjë fotografi paketë që nuk janë më në depo:
pkg clean
Nëse dëshironi të hiqni të gjitha paketat e memorizuara, përdorni -aflamurin:
pkg clean -a
Nëse dëshironi të pastroni automatikisht cache-in e paketës pas çdo instalimi ose përmirësimi të paketës, vendosni pkg.confopsionin AUTOCLEANnë true.
Nëse harroni se cilat paketa keni instaluar në një sistem, mund të përdorni pkg infopër të marrë një listë të plotë të softuerit të instaluar:
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
# . . .
# . . .
Nëse dëshironi më shumë informacion për një paketë të instaluar, përdorni pkg infodhe emrin e paketës. Kjo tregon detajet e instalimit të paketës në një raport miqësor për njerëzit:
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.
Përdorni pkg lockpër të kyçur një paketë:
pkg lock openssl
Kjo opensslpaketë tani është e kyçur.
Për të listuar të gjitha paketat e kyçura aktualisht në sistem, përdorni -lflamurin:
pkg lock -l
Për të hequr bllokimin përdorni pkg unlockkomandën:
pkg unlock openssl
Për të kyçur ose zhbllokuar të gjitha paketat në sistem menjëherë, përdorni -aflamurin:
pkg lock -a
pkg unlock -a
Depot e paketave
Depot e paketave mbështeten nga pkg, të cilat quhen koleksione paketash. Mund të shtoni, hiqni, aktivizoni dhe çaktivizoni depo. Ju duhet të konfiguroni çdo depo në skedarin e vet duke përdorur formatin UCL. Depot zyrtare të FreeBSD i përkasin /etc/pkgdrejtorisë. FreeBSD dërgohet me depon "FreeBSD" të aktivizuar. Do ta gjeni skedarin e tij të konfigurimit në /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
}
Ju mund të shtoni dhe hiqni depo sipas nevojës. Siç /etc/pkgështë rezervuar për magazinat zyrtare të FreeBSD, do t'ju duhet një drejtori tjetër. Vendndodhja tradicionale është /usr/local/etc/pkg/repos. Nëse dëshironi të përdorni një drejtori tjetër, do t'ju duhet të vendosni një vendndodhje pkg.confme REPO_DIRSopsionin. Drejtoria lokale e depove nuk ekziston si parazgjedhje, kështu që do t'ju duhet ta krijoni atë me mkdir -p /usr/local/etc/pkg/repos. Vendosni konfigurimet tuaja të depove në atë drejtori.
Shembull pkgnënkomandash
Ky seksion do të listojë disa nga nënkomandat më të përdorura që me shumë mundësi do t'i përdorni kur administroni një server FreeBSD:
# 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
Skedarë dhe drejtori të rëndësishme
pkgKonfigurimit fotografi -/usr/local/etc/pkg.conf
- Drejtoria e rezervuar për depot zyrtare të FreeBSD -
/etc/pkg
- Skedari i ruajtjes së FreeBSD -
/etc/pkg/FreeBSD.conf
- Vendndodhja tradicionale për depo me porosi -
/usr/local/etc/pkg/repos
- Drejtoria e cache-it të paketës -
/var/cache/pkg
- Baza e të dhënave SQLite -
/var/db/pkg/local.sqlite
Përmbledhje
FreeBSD ofron dy teknologji plotësuese për instalimin e softuerit të palëve të treta: FreeBSD Ports Collection, për instalim nga burimi dhe paketat, për instalim nga binarët e para-ndërtuar. Ndërsa FreeBSD po e zhvendos sistemin në mënyrë më të vendosur drejt menaxhimit universal të paketave, përpiquni të menaxhoni softuerin e palëve të treta me pkgaq sa është e mundur. Shmangni përdorimin e porteve përveç nëse softueri që dëshironi nuk ka version të paketuar ose nuk keni nevojë të personalizoni opsionet e kohës së përpilimit.