V tomto tutoriálu vysvětlíme, jak spravovat předkompilované aplikace binárních balíčků v FreeBSD pomocí nástroje pro správu balíčků s názvem PKG přes Porty úložiště sbírky softwaru.
Porty úložiště nabízí potřebné nástroje pro kompilaci aplikací ze zdrojového kódu spolu s jejich závislostmi, ale také spravuje obrovskou sbírku předkompilovaných balíčků, aktuálně více než 24 000 balíčky, které lze nainstalovat na systém FreeBSD pomocí pkg příkaz.
Požadavky:
- Instalace FreeBSD 11.x
Hledejte a najděte aplikace ve stromu portů ve FreeBSD
1. Úložiště portů jsou ve FreeBSD rozdělena do kategorií , přičemž každá kategorie je reprezentována adresářem v /usr/ports/ cestu k systému souborů.
Jednoduchý výpis adresáře /usr/ports/ zobrazí všechny dostupné kategorie, jak je znázorněno na níže uvedeném snímku obrazovky.
# ls /usr/ports/
2. Chcete-li zobrazit všechny dostupné aplikace patřící do kategorie, zadejte příkaz ls proti adresáři kategorie.
Předpokládejme, že chcete zobrazit všechny dostupné softwarové balíčky, které kategorie databáze nabízí, spusťte v konzole níže uvedený příkaz. Výsledek propojte pomocí příkazu less, abyste mohli snadněji procházet výstupem.
# ls /usr/ports/databases/ | less
3. Chcete-li zobrazit, kolik balíčků je k dispozici v kategorii, vypište adresář kategorie a přeneste výsledek pomocí příkazu wc, jak je znázorněno v příkladu níže.
# ls /usr/ports/databases/ | wc -l
Jak můžete vidět na výše uvedeném snímku obrazovky, kategorie databáze FreeBSD obsahuje více než 1000 databázové předpřipravené balíčky.
4. Chcete-li zjistit, zda je konkrétní aplikace dostupná v kategorii, znovu použijte příkaz ls a filtrujte výsledek pomocí nástroje grep, abyste našli vlastní aplikaci.
V níže uvedených příkladech bude hledat mongodb dostupné balíčky databáze a clam antivirus bezpečnostní balíčky.
# ls /usr/ports/databases/ | grep mongodb # ls /usr/ports/security/ | grep clam
Jak můžete vidět, ve FreeBSD Ports může být k dispozici více verzí aplikace.
5. V případě, že nevíte, do které kategorie software patří, můžete použít jiný způsob nalezení kategorie softwaru. Použijte zástupný znak *
znak k vyhledání vzoru v celém stromu adresářů portů.
Za předpokladu, že chcete vidět, v jaké kategorii můžete najít softwarové balíčky pro mailx můžete spustit následující příkaz.
# ls /usr/ports/*/*mailx
6. Další metodou pro vyhledávání softwarového balíčku a kategorie, do které balíček patří, je použití příkazu locate proti vzoru řetězce.
Před provedením vyhledávacího řetězce byste měli aktualizovat databázi lokalizace pomocí následujícího příkazu.
# /usr/libexec/locate.updatedb
7. Po aktualizaci databáze lokalizace vyhledejte konkrétní softwarový balíček pomocí vzoru klíčových slov z názvu balíčku. Pokud například chcete vyhledat mailx můžete spustit níže uvedený příkaz.
# locate mailx
Jak vidíte, pro mailx jsou k dispozici dva balíčky nástroj, oba se nacházejí v /usr/ports/mail/ kategorie.
8. Podobně jako při hledání balíčku pomocí příkazu locate můžete také použít příkaz whereis k zobrazení kategorie aplikace.
# whereis mailx
Prohledávejte software pomocí příkazu PKG ve FreeBSD
9. Nejjednodušší způsob, jak vyhledat a najít aplikaci ve FreeBSD, je pomocí příkazového řádku pro správu balíčků PKG. Chcete-li vyhledat binární balíčky pro aplikaci, například postfix software, zadejte níže uvedený příkaz.
# pkg search package_name
10. V případě, že chcete vidět, do které kategorie balíček patří, spusťte stejný příkaz jako výše s -o
příznak, jak je znázorněno v níže uvedených příkladech.
# pkg search -o package_name
Správa softwaru ve FreeBSD
11. Chcete-li nainstalovat předkompilovaný balíček z repozitářů portů ve FreeBSD, vydejte pkg příkaz, jak je znázorněno v níže uvedeném příkladu.
# pkg install package_name
12. Chcete-li zjistit informace o konkrétním nainstalovaném balíčku v systému, zadejte níže uvedený příkaz.
# pkg info package_name
13. Informace o balíčku příkazový přepínač zobrazí zprávu „Žádné balíčky neodpovídají názvu balíčku ” pokud softwarový balíček ještě není nainstalován ve vašem systému, jak je znázorněno na níže uvedeném snímku obrazovky.
# pkg info tcpdump
14. Chcete-li zobrazit seznam všech nainstalovaných softwarových balíků ve FreeBSD, spusťte pkg info příkaz bez možnosti nebo přepínačů.
Filtr grep proti informacím o balíčku příkaz vám může ukázat, zda jsou v systému již přítomny některé konkrétní balíčky nebo aplikace, jak ukazuje příklad níže.
# pkg info | grep ftp
15. Chcete-li odebrat balíček ze systému, zadejte níže uvedené příkazy.
# pkg remove package_name or # pkg delete package_name
16. V případě, že chcete zabránit odstranění nebo úpravě nainstalovaného balíčku, můžete použít zámek přepínač pro příkaz pkg, jak je znázorněno na obrázku níže.
# pkg lock package_name
Odemknout pkg command switch vám umožní odstranit omezení balíčku a upravit nebo odinstalovat balíček.
# pkg unlock package_name
17. Chcete-li zjistit, ke kterému nainstalovanému balíčku patří příkaz nebo spustitelný soubor, zadejte následující příkaz, jak je znázorněno na níže uvedených příkladech snímků obrazovky.
# pkg which /path/to/executable
18. Chcete-li lokálně stáhnout balíček z Portů úložiště, bez instalace balíčku do systému spusťte příkaz pkg pomocí načtení přepínač.
Binární soubor staženého balíčku, což je komprimovaný soubor .txz soubor naleznete v /var/cache/pkg/ systémová cesta.
# pkg fetch package_name # ls /var/cache/pkg/ | grep package_name
19. Chcete-li zkontrolovat, zda jsou nainstalované balíčky vystaveny běžným zranitelnostem nebo chybám, zadejte níže uvedený příkaz.
# pkg audit -F
Chcete-li zobrazit seznam starých zranitelností, které ovlivňují softwarový balíček v dřívějších verzích, zadejte níže uvedený příkaz.
# pkg audit package_name
Níže je uveden výňatek všech známých zranitelností, které byly nalezeny v Nginx webový server zkompilovaný pro FreeBSD.
# pkg audit nginxNajít zranitelnosti softwaru
nginx is vulnerable: Affected versions: <= 0.8.41 : > 1.4.4,1 nginx -- Request line parsing vulnerability CVE: CVE-2013-4547 WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html nginx is vulnerable: Affected versions: < 1.0.15 nginx -- Buffer overflow in the ngx_http_mp4_module CVE: CVE-2012-2089 WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html nginx is vulnerable: Affected versions: < 1.4.7 nginx -- SPDY heap buffer overflow CVE: CVE-2014-0133 WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html ...
Údržba nástroje pro správu balíčků ve FreeBSD
20. Abyste zajistili, že softwarová úložiště a všechny vaše nainstalované balíčky budou aktuální s nejnovějšími verzemi nebo záplatami zabezpečení, zadejte následující příkazy.
# pkg update # pkg upgrade
21. Chcete-li zobrazit statistiky vzdálených úložišť a místních balíčků, například kolik balíčků je nainstalováno ve vašem systému a kolik místa na disku zaplnil nainstalovaný software, spusťte následující příkaz.
# pkg stats
22. Chcete-li odstranit všechny závislosti zanechané nainstalovanými balíčky v systému, zadejte níže uvedený příkaz.
# pkg autoremove
23. Chcete-li automaticky vymazat místní mezipaměť správy balíčků pro vzdáleně stažené balíčky, spusťte níže uvedený příkaz. Nejprve byste měli ověřit seznam lokálně stažených binárních balíčků.
# pkg clean -a -n # pkg clean -a -y
To je vše! Jak můžete vidět, FreeBSD má působivý systém shromažďování balíčků, podobný nástrojům pro správu balíčků používaným v linuxových distribucích, jako je Yum, RPM a APT, s velkým množstvím předkompilovaných softwarových binárních souborů a jednoduchým a efektivním příkazovým řádkem pkg, který lze použít ke správě software slušným způsobem.