GNU/Linux >> Znalost Linux >  >> FreeBSD

23 Užitečné příklady příkazů PKG pro správu balíčků ve FreeBSD

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:

  1. 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 nginx
Nají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.


FreeBSD
  1. 12 Užitečné příklady příkazů Wget v Linuxu

  2. Příkaz ls v Linuxu:17 vysvětlení užitečných příkladů

  3. Apt get příklady příkazů pro správu balíčků na Ubuntu/Debianu

  1. 15 užitečných „Příklady příkazů Sockstat“ k nalezení otevřených portů ve FreeBSD

  2. Užitečné příklady příkazu Docker ps

  3. Příklady příkazů Dpkg pro správu balíčků v Ubuntu/Debianu

  1. 20 užitečných příkladů příkazů Docker v Linuxu

  2. 20 Příklady příkazů Zypper pro správu balíčků v systému SUSE Linux

  3. 5 Užitečné příklady příkazu firewall-cmd