GNU/Linux >> Znalost Linux >  >> Linux

Začínáme s příkazy Pacman v distribucích Linuxu založených na Arch

Stručně:Tato příručka pro začátečníky vám ukáže, co můžete dělat s příkazy pacman v Linuxu, jak je používat k hledání nových balíčků, instalaci a aktualizaci nových balíčků a čištění systému.

Správce balíčků pacman je jedním z hlavních rozdílů mezi Arch Linuxem a dalšími hlavními distribucemi, jako je Red Hat a Ubuntu/Debian. Kombinuje jednoduchý binární formát balíčku se snadno použitelným systémem sestavování. Cílem pacmana je snadno spravovat balíčky, ať už z oficiálních repozitářů, nebo z vlastních sestavení uživatele.

Pokud jste někdy používali distribuce založené na Ubuntu nebo Debianu, možná jste použili příkazy apt-get nebo apt. Pacman je ekvivalentem v Arch Linuxu. Pokud jste právě nainstalovali Arch Linux, jednou z prvních věcí, které je třeba po instalaci Arch Linuxu udělat, je naučit se používat příkazy pacmana.

V této příručce pro začátečníky vysvětlím některé základní způsoby použití příkazu pacmand, které byste měli znát pro správu systému založeného na Archu.

Základní příkazy pacmana, které by uživatelé Arch Linuxu měli znát

Stejně jako ostatní správci balíčků může pacman synchronizovat seznamy balíčků se softwarovými repozitáři a umožnit tak uživateli stahovat a instalovat balíčky pomocí jednoduchého příkazu vyřešením všech požadovaných závislostí.

Instalujte balíčky pomocí pacmana

Můžete nainstalovat jeden balíček nebo více balíčků pomocí příkazu pacman tímto způsobem:

pacman -S _package_name1_ _package_name2_ ...

-S znamená synchronizaci. To znamená, že pacman nejprve synchronizuje

Databáze pacman kategorizuje nainstalované balíčky do dvou skupin podle důvodu, proč byly nainstalovány:

  • explicitně nainstalováno :balíčky, které byly nainstalovány pomocí obecného příkazu pacman -S nebo -U
  • závislosti :balíčky, které byly implicitně nainstalovány, protože je vyžadoval jiný balíček, který byl explicitně nainstalován.

Odebrání nainstalovaného balíčku

Chcete-li odebrat jeden balíček a ponechat všechny jeho závislosti nainstalované:

pacman -R package_name_

Chcete-li odstranit balíček a jeho závislosti, které nejsou vyžadovány žádným jiným nainstalovaným balíčkem:

pacman -Rs _package_name_

Chcete-li odstranit závislosti, které již nejsou potřeba. Byl například odstraněn balíček, který potřeboval závislosti.

pacman -Qdtq | pacman -Rs -

Upgradování balíčků

Pacman poskytuje snadný způsob aktualizace Arch Linuxu. Všechny nainstalované balíčky můžete aktualizovat pouze jedním příkazem. To může chvíli trvat v závislosti na tom, jak je systém aktuální.

Následující příkaz synchronizuje databáze úložiště a aktualizuje balíčky systému, s výjimkou „místních“ balíčků, které nejsou v nakonfigurovaných úložištích:

pacman -Syu
  • S znamená synchronizaci
  • y slouží k obnovení (místní mezipaměť)
  • u je aktualizace systému

V zásadě se říká, že synchronizujte s centrálním úložištěm (databáze hlavních balíčků), obnovte místní kopii databáze hlavních balíčků a poté proveďte aktualizaci systému (aktualizací všech balíčků, které mají k dispozici novější verzi).

Pozor!

Pokud jste před upgradem uživatelem Arch Linuxu, doporučujeme vám navštívit domovskou stránku Arch Linuxu a zkontrolovat nejnovější zprávy, zda neobsahují neobvyklé aktualizace. Je-li nutný ruční zásah, bude vytvořen příslušný zpravodajský příspěvek. Případně se můžete přihlásit k odběru RSS kanálu nebo mailing listu arch-announce.

Nezapomeňte se také před aktualizací základního softwaru (jako je jádro, xorg, systemd nebo glibc) podívat na příslušné fórum, kde se vyskytují jakékoli hlášené problémy.

Částečné upgrady nejsou podporovány v průběžné distribuci, jako je Arch a Manjaro. To znamená, že když jsou nové verze knihoven odeslány do úložišť, všechny balíčky v úložištích musí být přestavěny proti knihovnám. Pokud například dva balíčky závisí na stejné knihovně, aktualizace pouze jednoho balíčku může poškodit druhý balíček, který závisí na starší verzi knihovny.

K vyhledávání balíčků použijte pacman

Pacman se dotazuje na lokální databázi balíčků s parametrem -Q, synchronizační databázi s parametrem -S a databázi souborů s parametrem -F.

Pacman umí vyhledávat balíčky v databázi, a to jak v názvech, tak v popisech balíčků:

pacman -Ss _string1_ _string2_ ...

Chcete-li vyhledat již nainstalované balíčky:

pacman -Qs _string1_ _string2_ ...

Chcete-li vyhledat názvy souborů balíčků ve vzdálených balíčcích:

pacman -F _string1_ _string2_ ...

Chcete-li zobrazit strom závislostí balíčku:

pactree _package_naenter code hereme_

Čištění mezipaměti balíčku

Pacman ukládá své stažené balíčky do /var/cache/pacman/pkg/ a neodstraňuje staré nebo odinstalované verze automaticky. To má některé výhody:

  1. Umožňuje přejít na nižší verzi balíčku bez nutnosti získávat předchozí verzi z jiných zdrojů.
  2. Balík, který byl odinstalován, lze snadno znovu nainstalovat přímo ze složky mezipaměti.

Je však nutné pravidelně čistit mezipaměť, aby se zabránilo zvětšování velikosti složky.

Skript paccache(8), který je součástí balíčku pacman-contrib, ve výchozím nastavení odstraní všechny verze nainstalovaných a odinstalovaných balíčků uložených v mezipaměti, kromě nejnovějších 3:

paccache -r

Chcete-li odstranit všechny balíčky uložené v mezipaměti, které nejsou aktuálně nainstalovány, a nepoužívanou synchronizační databázi, spusťte:

pacman -Sc

Chcete-li odstranit všechny soubory z mezipaměti, použijte dvakrát čistý přepínač, toto je nejagresivnější přístup a ve složce mezipaměti nezůstane nic:

pacman -Scc

Instalace místních balíčků nebo balíčků třetích stran

Nainstalujte „místní“ balíček, který nepochází ze vzdáleného úložiště:

pacman -U _/path/to/package/package_name-version.pkg.tar.xz_

Nainstalujte „vzdálený“ balíček, který není obsažen v oficiálním úložišti:

pacman -U http://www.example.com/repo/example.pkg.tar.xz

Bonus:Odstraňování běžných chyb s pacmanem

Zde jsou některé běžné chyby, se kterými se můžete setkat při správě balíčků pomocí pacmana.

Nepodařilo se potvrdit transakci (konfliktní soubory)

Pokud se zobrazí následující chyba:

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /path/to/file exists in filesystem
Errors occurred, no packages were upgraded.

To se děje, protože pacman zjistil konflikt souborů a soubory za vás nepřepíše.

Bezpečným způsobem, jak to vyřešit, je nejprve zkontrolovat, zda soubor vlastní jiný balíček (pacman -Qo /cesta/k/souboru ). Pokud je soubor ve vlastnictví jiného balíčku, odešlete hlášení o chybě. Pokud soubor nevlastní jiný balíček, přejmenujte soubor, který „existuje v systému souborů“ a znovu zadejte příkaz aktualizace. Pokud vše půjde dobře, soubor může být odstraněn.

Namísto ručního přejmenování a pozdějšího odstranění všech souborů, které patří do příslušného balíčku, můžete explicitně spustit pacman -S –overwrite glob package donutit pacmana přepsat soubory, které odpovídají glob .

Nepodařilo se potvrdit transakci (neplatný nebo poškozený balíček)

Vyhledejte soubory .part (částečně stažené balíčky) ve /var/cache/pacman/pkg/ a odstraňte je. Často je to způsobeno použitím vlastního XferCommand v pacman.conf.

Nepodařilo se zahájit transakci (nelze uzamknout databázi)

Když se pacman chystá změnit databázi balíčků, například nainstalovat balíček, vytvoří soubor zámku na /var/lib/pacman/db.lck. To zabrání jiné instanci pacmana ve snaze změnit databázi balíčků ve stejnou dobu.

Pokud je pacman přerušen při změně databáze, tento zastaralý soubor zámku může zůstat. Pokud jste si jisti, že nejsou spuštěny žádné instance pacmana, odstraňte soubor zámku.

Zkontrolujte, zda proces drží soubor zámku:

lsof /var/lib/pacman/db.lck

Pokud výše uvedený příkaz nic nevrací, můžete soubor zámku odstranit:

rm /var/lib/pacman/db.lck

Pokud najdete PID procesu obsahujícího soubor zámku s výstupem příkazu lsof, nejprve jej ukončete a poté soubor zámku odstraňte.

Doufám, že se vám líbí moje skromné ​​úsilí při vysvětlování základních příkazů pacmana. Zanechte prosím své komentáře níže a nezapomeňte se přihlásit k odběru na našich sociálních sítích. Zůstaňte v bezpečí!



Linux
  1. Začínáme s příkazem tac systému Linux

  2. Začínáme s PiFlash:Spuštění Raspberry Pi v systému Linux

  3. Začínáme s linuxovým příkazem cat

  1. Začínáme s linuxovými firewally

  2. Začínáme s PostgreSQL na Linuxu

  3. Začínáme s SSH v Linuxu

  1. Začínáme s btrfs pro Linux

  2. Rady pro začátek s GNOME

  3. Začínáme s pracovním prostředím GNOME Linux