Jak používat Správce balíčků Pkg na FreeBSD 12

Úvod

FreeBSD je open source operační systém podobný Unixu používaný k napájení moderních serverů, desktopů a vestavěných platforem. Giganti jako Netflix, Yahoo!, WhatsApp, BBC a Sony v nějaké formě používají FreeBSD. Systém FreeBSD není tak široce známý jako Linux, především proto, že se Linux po mnoho let soustředil na Desktop a projekt FreeBSD měl tendenci být více založen na serveru.

V této příručce se dozvíte o správě balíčků na FreeBSD 12.

Porty vs. balíčky

Na FreeBSD máme dva různé způsoby, jak nainstalovat doplňkový software: prostřednictvím Ports Collection nebo Ports a pomocí předem nakonfigurovaných balíčků pro instalaci a správu softwaru.

Ports je systém pro vytváření dalšího softwaru na FreeBSD. S porty začínáte s nezpracovaným zdrojovým kódem poskytnutým dodavatelem softwaru a vytváříte software přesně tak, jak potřebujete, s aktivací a deaktivací funkcí, jak potřebujete.

Balíčky jsou předkompilovaný software a jsou výsledkem budování portů pomocí možností, o kterých si správci portů myslí, že budou nejužitečnější pro nejširší škálu lidí, a sbalí je do balíčku, aby se daly snadno nainstalovat. Balíčky umožňují rychlou instalaci, odinstalaci a upgrade doplňkového softwaru. Balíčkovací systém FreeBSD se nazývá package , nebo pkg. Informace o balíčcích se ukládají do databáze SQLite, kterou můžete dotazovat na data balíčku.

Další důležitou věcí o správě balíčků FreeBSD je umístění binárních souborů balíčků. Balíčky instalují binární soubory pod /usr/locala většina konfiguračních souborů končí /usr/local/etcspíše než /etc. Pokud pocházíte ze světa Linuxu, může se vám to zdát velmi neobvyklé.

Správce balíčků FreeBSD, pkg

Další generací náhrady za tradiční nástroje pro správu balíčků FreeBSD je pkg. Nabízí mnoho funkcí, které urychlují a usnadňují práci s binárními balíčky, pkgje nejjednodušším způsobem instalace softwaru, který ještě není součástí základního systému FreeBSD. Je to jediný program s mnoha dílčími příkazy, které budete používat téměř pro každou operaci s balíčky, jako je instalace, odstranění a prozkoumání balíčků. Všechny operace s balíčky a změny musí být spouštěny jako rootnebo přes sudo.

Zde je návod, jak byste curlbalíček nainstalovali na FreeBSD:

pkg install curl

Můžete zadat příkaz pomocí, -yabyste se vyhnuli Proceed with this action? [y/N]:otázce při instalaci softwaru, nebo můžete nakonfigurovat tak, pkgaby vždy převzal -yv konfiguračním souboru.

K odstranění balíčku byste použili delete:

pkg delete curl

Jak vidíte, je to velmi jednoduché a intuitivní.

Použijte pkg helppro rychlý odkaz na dostupné dílčí příkazy nebo pkg help <subcommand>k zobrazení manuálové stránky pro konkrétní dílčí příkaz:

pkg help
pkg help install
pkg help delete

Instalace pkg

Skladová verze FreeBSD se nedodává s pkgnainstalovaným správcem balíčků. Při prvním pokusu o instalaci nějakého balíčku se pkgzobrazí výzva k instalaci nástroje pro správu balíčků. Řekněme například, že první balíček, který chcete nainstalovat do vašeho čerstvého FreeBSD, je wget, a ve vašem terminálu uvidíte následující výzvu:

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

Stisknete Ya ENTERa spustí se instalace nástroje pro správu balíčků. Po jeho umístění se nainstaluje počáteční softwarový balíček, který jste chtěli nainstalovat ( wget).

Balíčkovací systém můžete také nainstalovat samostatně, bez přidávání dalších balíčků, spuštěním pkg bootstrap. Kromě toho pkgví, jak nainstalovat a aktualizovat sebe a další balíčky.

POZNÁMKA: Instance Vultr jsou pkgve výchozím nastavení nainstalovány, takže je nemusíte instalovat.

Konfigurace pkg

pkgProgram je navržen tak, aby byl vysoce flexibilní, přičemž každý dílčí příkaz, který má mnoho možností. Můžete vytvořit přizpůsobené, ale konzistentní chování pro většinu programů pomocí celosystémového konfiguračního souboru pro pkg, který se nachází v /usr/local/etc/pkg.conf.

Soubor obsahuje zakomentované výchozí hodnoty pro pkg. Pouhým přečtením tohoto souboru se můžete dozvědět hodně o tom, jak se pkgchová. Konfigurace je napsána v univerzálním konfiguračním jazyce (UCL) a je zde spousta komentovaných konfiguračních možností a nemálo aliasů. Proměnné lze nastavit na celé číslo, řetězec nebo booleovskou hodnotu:

#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;
. . .

Aliasy pro pkgdílčí příkazy můžete definovat v pkg.conf. V dolní části pkg.confnaleznete sekci označenou ALIAS. Když zjistíte, že opakovaně spouštíte složité příkazy, měli byste přidat aliasy.

Další informace o formátu souboru a možnostech naleznete na pkg.conf(5)manuálové stránce:

man pkg.conf

Hledání balíčků

Nyní, když máte nainstalovaného správce balíčků, můžete balíčky instalovat. Pokud jste sys-admin, jste obeznámeni se skutečností, že různé operační systémy přidělují zabaleným verzím stejného softwaru různá jména. Například balíček pro webový server Apache na FreeBSD bude mít úplně jiné jméno než zabalený Apache na různých distribucích Linuxu. Než tedy budete moci cokoli nainstalovat, musíte zjistit, jak se jmenuje balíček, který chcete nainstalovat.

Projekt FreeBSD nabízí několik sad balíčků ve veřejném úložišti a jsou aktualizovány každých několik dní. Aktuálně je k dispozici přes 25 000 balíčků.

Zkusme například vyhledat webový server Apache:

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

Najde všechny balíčky, které mají apachev názvu. Tím se vrátí dlouhý seznam, ale to, co hledáte, je apache24balíček. U každého balíčku je krátký popis. To by vám mělo pomoci při rozhodování, jaký balíček nainstalovat, ale není to vždy jednoduché.

Některá vyhledávání mohou generovat stovky výsledků. K oříznutí nebo úpravě výsledků hledání budete muset použít různé možnosti příkazového řádku. Nahlédněte do pkg-searchmanuálové stránky nebo stránky nápovědy, pkg help searchkde se dozvíte více o běžných možnostech vyhledávání.

Pokud si nejste jisti, zda je balíček to, co opravdu chcete, můžete pomocí následujícího příkazu vyhledat podrobnosti o balíčku:

pkg search -R apache24

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

Tento příkaz vám poskytne mnoho užitečných informací o balíčku.

Instalace balíčků

Chcete-li nainstalovat software, použijte installdílčí příkaz a název balíčku k instalaci:

pkg install apache24

Když instalujete balíčky pomocí pkg install, pkgprohlédne si místní katalog balíčků a stáhne požadovaný balíček z úložiště na adrese pkg.FreeBSD.org. Jakmile je balíček nainstalován, je registrován v databázi SQLite uložené v /var/db/pkg/local.sqlite. Dávejte pozor, abyste tento soubor nesmazali, jinak váš systém ztratí přehled o tom, které balíčky byly nainstalovány. Pokud má software závislosti, pkgzjistí je a nainstaluje je spolu se základním balíčkem. Balíčky nainstalované jako závislosti se nazývají automatické balíčky.

Správce balíčků má možnost pouze stahovat balíčky přes internet a ukládat je na jedno místo na disku. To vám umožní nainstalovat je v jiném čase. pkg fetchKe stažení balíčku bez instalace můžete použít příkaz:

pkg fetch nginx

Tento příkaz načte pouze Nginx bez jeho závislostí. -dPříznak můžete použít k zachycení všech závislostí i pojmenovaného balíčku:

pkg fetch -d nginx

Balíčky se stahují do adresáře mezipaměti balíků /var/cache/pkg. Poté, co stáhnete balíčky, pkgpřidá je do tohoto adresáře. Můžete zobrazit seznam souborů, abyste viděli, co obsahuje:

ls /var/cache/pkg

Nyní, chcete-li nainstalovat stažený balíček po načtení, spusťte jej pkg installnormálně. Instalační proces používá soubory uložené v mezipaměti spíše než stažené.

Časem se může adresář mezipaměti balíčků zvětšit. pkg cleanPříkaz odebere všechny mezipaměti balíků, které byly nahrazeny novějšími verzemi, stejně jako každý jiný balík souborů, které jsou již v úložišti:

pkg clean

Pokud chcete odstranit všechny balíčky uložené v mezipaměti, použijte -apříznak:

pkg clean -a

Pokud chcete čistit mezipaměť balíčků automaticky po každé instalaci nebo aktualizaci balíčku, nastavte pkg.confvolbu AUTOCLEANna true.

Získání informací o nainstalovaných balíčcích

Pokud zapomenete, které balíčky jste nainstalovali do systému, můžete pkg infozískat úplný seznam nainstalovaného softwaru:

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
# . . .
# . . .

Pokud chcete více informací o nainstalovaném balíčku, použijte pkg infoa název balíčku. Zde jsou zobrazeny podrobnosti o instalaci balíčku v přehledu přátelském k lidem:

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

Můžete vidět mnoho užitečných informací, jako je verze softwaru, čas instalace softwaru, softwarová licence, příznaky při kompilaci a další. pkg-infoÚplné podrobnosti najdete na manuálové stránce.

Odebírání balíčků

Chcete-li odinstalovat binární balíčky, použijte pkg deletedílčí příkaz . Je také k dispozici jako pkg remove:

pkg delete nginx
# or
pkg remove nginx

Získáte seznam balíčků, které mají být odstraněny, a kolik místa se tím uvolní.

Pokud odeberete balíček, na kterém závisí jiné balíčky, pkgodstraní také závislé balíčky.

Uzamykání balíků

Může nastat situace, kdy budete chtít, aby se balíček na vašem serveru nikdy neupgradoval. Když balíček zamknete, pkgneprovede se upgrade, downgrade, odinstalace ani přeinstalace. Aplikuje stejná pravidla na závislosti balíčku a programy, na kterých závisí.

K pkg lockuzamčení balíčku použijte :

pkg lock openssl

Tento opensslbalíček je nyní uzamčen.

Chcete-li vypsat všechny aktuálně zamčené balíčky v systému, použijte -lpříznak:

pkg lock -l

Chcete-li zámek odstranit, použijte pkg unlockpříkaz:

pkg unlock openssl

Chcete-li zamknout nebo odemknout všechny balíčky v systému najednou, použijte -apříznak:

pkg lock -a
pkg unlock -a

Úložiště balíčků

Úložiště balíčků jsou podporována pkg, což jsou pojmenované kolekce balíčků. Můžete přidávat, odebírat, povolit a zakázat úložiště. Každé úložiště byste měli nakonfigurovat v jeho vlastním souboru pomocí formátu UCL. Oficiální úložiště FreeBSD patří do tohoto /etc/pkgadresáře. FreeBSD se dodává s povoleným repo "FreeBSD". Jeho konfigurační soubor najdete v /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
}

Podle potřeby můžete přidávat a odebírat úložiště. Jak /etc/pkgje vyhrazeno pro oficiální repozitáře FreeBSD, budete potřebovat další adresář. Tradiční umístění je /usr/local/etc/pkg/repos. Pokud chcete použít jiný adresář, musíte pkg.confpomocí této REPO_DIRSmožnosti nastavit umístění . Adresář místního úložiště ve výchozím nastavení neexistuje, takže jej budete muset vytvořit pomocí mkdir -p /usr/local/etc/pkg/repos. Do tohoto adresáře vložte své vlastní konfigurace úložiště.

Příklad pkgdílčích příkazů

Tato část uvádí některé z nejčastěji používaných dílčích příkazů, které s největší pravděpodobností použijete při správě serveru 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

Důležité soubory a adresáře

  • pkgKonfigurační soubor -/usr/local/etc/pkg.conf
  • Adresář vyhrazený pro oficiální repozitáře FreeBSD - /etc/pkg
  • Soubor úložiště FreeBSD - /etc/pkg/FreeBSD.conf
  • Tradiční umístění pro vlastní úložiště - /usr/local/etc/pkg/repos
  • Adresář mezipaměti balíčku - /var/cache/pkg
  • SQLite databáze - /var/db/pkg/local.sqlite

souhrn

FreeBSD poskytuje dvě doplňkové technologie pro instalaci softwaru třetích stran: FreeBSD Ports Collection, pro instalaci ze zdroje a balíčků, pro instalaci z předem sestavených binárních souborů. Protože FreeBSD posouvá systém rozhodněji směrem k univerzální správě balíčků, snažte se pkgv co největší míře spravovat software třetích stran . Vyhněte se používání portů, pokud požadovaný software nemá žádnou zabalenou verzi nebo nepotřebujete přizpůsobit možnosti kompilace.


Jak nainstalovat Tiny Tiny RSS Reader na FreeBSD 11 FAMP VPS

Jak nainstalovat Tiny Tiny RSS Reader na FreeBSD 11 FAMP VPS

Používáte jiný systém? Tiny Tiny RSS Reader je bezplatný a otevřený zdroj s vlastním hostitelem webového zdroje zpráv (RSS/Atom) a agregátorem určeným pro

Jak nainstalovat Wiki.js na FreeBSD 11

Jak nainstalovat Wiki.js na FreeBSD 11

Používáte jiný systém? Wiki.js je bezplatná a open source, moderní wiki aplikace postavená na Node.js, MongoDB, Git a Markdown. Zdrojový kód Wiki.js je veřejný

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Pagekit 1.0 CMS je krásný, modulární, rozšiřitelný a lehký, bezplatný a open source systém správy obsahu (CMS) s

Jak nainstalovat MODX Revolution na FreeBSD 11 FAMP VPS

Jak nainstalovat MODX Revolution na FreeBSD 11 FAMP VPS

Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, open source podnikový systém správy obsahu (CMS) napsaný v PHP. To i

Nastavení OpenBSD 5.5 64-bit

Nastavení OpenBSD 5.5 64-bit

Tento článek vás provede nastavením OpenBSD 5.5 (64-bit) na KVM pomocí Vultr VPS. Krok 1. Přihlaste se do ovládacího panelu Vultr. Krok 2. Klikněte na DEPLOY

Jak nainstalovat osTicket na FreeBSD 12

Jak nainstalovat osTicket na FreeBSD 12

Používáte jiný systém? osTicket je open-source systém pro podporu zákazníků. Zdrojový kód osTicket je veřejně hostován na Github. V tomto tutoriálu

Jak nainstalovat Flarum Forum na FreeBSD 12

Jak nainstalovat Flarum Forum na FreeBSD 12

Používáte jiný systém? Flarum je bezplatný a open source software fóra nové generace, díky kterému je online diskuze zábavná. Zdrojový kód Flarum je hostován o

Jak povolit TLS 1.3 v Nginx na FreeBSD 12

Jak povolit TLS 1.3 v Nginx na FreeBSD 12

Používáte jiný systém? TLS 1.3 je verze protokolu Transport Layer Security (TLS), který byl publikován v roce 2018 jako navrhovaný standard v RFC 8446.

Nainstalujte WordPress na OpenBSD 6.2

Nainstalujte WordPress na OpenBSD 6.2

Úvod WordPress je dominantním redakčním systémem na internetu. Pohání vše od blogů po složité webové stránky s dynamickým obsahem

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Subrion 4.1 CMS je výkonný a flexibilní open source systém správy obsahu (CMS), který přináší intuitivní a jasný obsah

Jak nakonfigurovat DJBDNS na FreeBSD

Jak nakonfigurovat DJBDNS na FreeBSD

Tento tutoriál vám ukáže, jak nakonfigurovat službu DNS, která se snadno udržuje, snadno konfiguruje a je obecně bezpečnější než klasický BIN.

Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Zásobník FEMP, který je srovnatelný se zásobníkem LEMP na Linuxu, je kolekce softwaru s otevřeným zdrojovým kódem, který se obvykle instaluje společně, aby umožnil FreeBS.

Instalace MongoDB na FreeBSD 10

Instalace MongoDB na FreeBSD 10

MongoDB je prvotřídní NoSQL databáze, která se často používá v novějších webových aplikacích. Poskytuje vysoce výkonné dotazy, sdílení a replikaci

Jak nainstalovat Monicu na FreeBSD 12

Jak nainstalovat Monicu na FreeBSD 12

Používáte jiný systém? Monica je open source systém pro řízení osobních vztahů. Představte si to jako CRM (oblíbený nástroj používaný prodejními týmy v tis

OpenBSD jako řešení elektronického obchodu s PrestaShop a Apache

OpenBSD jako řešení elektronického obchodu s PrestaShop a Apache

Úvod Tento tutoriál ukazuje OpenBSD jako řešení pro e-commerce využívající PrestaShop a Apache. Apache je vyžadován, protože PrestaShop má složité UR

Instalace Fork CMS na FreeBSD 12

Instalace Fork CMS na FreeBSD 12

Používáte jiný systém? Fork je open source CMS napsaný v PHP. Zdrojový kód Forks je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat Fork CM

Jak nainstalovat Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Directus 6.4 CMS je výkonný a flexibilní, bezplatný a open source systém pro správu obsahu bez hlavy (CMS), který poskytuje vývojářům

Vylepšení zabezpečení pro FreeBSD pomocí IPFW a SSHGuard

Vylepšení zabezpečení pro FreeBSD pomocí IPFW a SSHGuard

VPS servery jsou často cílem útočníků. Běžný typ útoku se objevuje v systémových protokolech jako stovky neoprávněných pokusů o přihlášení přes ssh. Nastavení

Nastavení httpd v OpenBSD

Nastavení httpd v OpenBSD

Úvod OpenBSD 5.6 představilo nového démona s názvem httpd, který podporuje CGI (přes FastCGI) a TLS. K instalaci nového http není potřeba žádná další práce

Nastavte iRedMail na FreeBSD 10

Nastavte iRedMail na FreeBSD 10

Tento tutoriál vám ukáže, jak nainstalovat groupwarový iRedMail na čerstvou instalaci FreeBSD 10. Měli byste použít server s alespoň jedním gigabajtem o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více