Pacman (Česky)
From ArchWiki
i18n |
---|
Česky |
Deutsch |
English |
Español |
Français |
Italiano |
Nederlands |
Polski |
Português de Portugal |
Romanian |
Русский |
简体中文 |
한국어 |
Contents |
Přehled
Správce balíčků Pacman je jedna z nejlepších věcí na Arch Linuxu. Kombinuje binární formát balíčku a easy-to-use system (více ABS). Pacman umožnuje snadno spravovat a případně upravovat balíčky, které můžou být buď z oficiálních Arch repozitářů nebo si je uživatel vytvořil sám. Systém repozitářů umožnuje uživatelům vytvořit a udržovat jejich vlastní balíčky v repozitářích, což povzbuzuje komunitu k přispívání (více AUR).
Pacman umí udržovat systém stále aktuální pomocí synchronizace seznamu balíčků s hlavním serverem, díky tomu máte vždy aktuální a bezpečný software. Tento server/client model vám také umožnuje stahovat/instalovat balíčky jediným příkazem, kompletně se všemi závistlostmi (podobně jako apt-get u Debianu).
NB: Pacman napsal a začal udržovat Judd Vinet, tvůrce Arch Linuxu. Je ale také používán jako správce balíčků v jiných distribucích FrugalWare (více [[1]]), Rubix, UfficioZero a samozřejmě Arch Linux-odvozeniny jako Archie a AEGIS.
Použití
Pacman je jak binární tak zdrojový správce balíčků. To kombinuje mnoho nápadů z FreeBSD, Debianu a Slackwaru do skupiny rozsáhlých a snadno použitelných správců balíčků dostupných pro GNU/Linux. Pacman umožnuje stáhnout, instalovat a upgradovat balíčky jak z lokálního tak vzdáleného repozitáře s plnou podporou řešení závislostí a snadnými nástroji pro tvorbu vlastních balíčků.
Instalování a odebírání balíčků
Před instalováním nebo upgradováním balíčků, není špatný nápad synchronizovat lokální seznam balíčků se vzdálenými repozitáři.
pacman -Sy
Pro instalaci nebo upgrade balíčku nebo seznamu balíčků (včetně závislostí), zadejte následující příkaz:
pacman -S jméno_balíčku1 jméno_balíčku2
Někdy najdete různé verze balíčků v jiných depozitářích (např. extra a testing). Můžete provést specifikaci následujícím způsobem:
pacman -S extra/jméno_balíčku pacman -S testing/jméno_balíčku
Můžete kombinovat parametry do jediného příkazu. Napříkald pro synchronizaci a následnou instalaci napište:
pacman -Sy jméno_balíčku
Pro odstranění jediného balíčku napište následující (všechny závislosti zůstanou nainstalovány):
pacman -R jméno_balíčku
Pro odinstalování nějakého balíčku společně se závistlostmi které jiný program nepoužívá použijte:
pacman -Rs jméno_balíčky
Upgrade systému
Pacman umí upgradovat všechny nainstalované balíčky jedním příkazem. Díky tomu můžete mít vždy aktuální systém rychle a jednoduše.
pacman -Su
Pozn: můžete synchronizovat databázi balíčků a provést upgrade jediným příkazem:
pacman -Syu
Databáze balíčků
Pacman může prohledat databázi pro seznam balíčků, můžete zadat část názvu pokud nevíte přesný název.
pacman -Ss balíček
Takto můžete prohledat již nainstalované balíčky:
pacman -Qs balíčky
Pokud si nejste jisti že vyhledaný balíček je přesně to co chcete můžete si o něm zobrazit podrobnější informace.
pacman -Si balíček pacman -Qi balíček
Pro seznam souborů obsažených v balíčku napište jen:
pacman -Ql balíček
Zpětně můžete i zjistit jaký soubor náleží k jakému balíčku.
pacman -Qo /cesta/k/souboru
Souběžné prohledávání repozitářů a instalovaných balíčků
Můžete použít následující bashový script pro tvorbu ekvivalentu současného hledání pacman -Ss foo a pacman -Qs foo, pro zjištění zda je balíček aktuálně nainstalován na vašem počítači. Poslední bude označen pomocí Asterisk.
#!/bin/bash if [ -z "$1" ]; then echo "usage: pacsearch [regex pattern]" echo "usage: pacsearch -h|--help" exit 0 fi if [ "$1" = "-h" -o "$1" = "--help" ]; then echo "usage: pacsearch [regex pattern]" echo " Like pacman -Ss [regex pattern] but installed packages are flagged with a *" echo "usage: pacsearch -h|--help" echo " Prints this message. No other options allowed" exit 0 fi firstchar=`echo "$1" | cut -c1` if [ $firstchar = "-" ]; then echo "Sorry, $1 is not a valid option!" echo "usage: pacsearch [regex pattern]" echo "usage: pacsearch -h|--help" exit 0 fi instpkg=`pacman -Qs $1 | egrep '^[^ ]' | sed 's|^local/||' | sed 's/ .\+$//'` syncdump=`mktemp` pacman -Ss $1 > $syncdump for pkg in $instpkg; do sed -i "s@^\(.\+/$pkg\) @\*\1 @" $syncdump done cat $syncdump
Uložte si script někde v počítači (např. ~/bin/) a pojmenujte ho pacsearch. Udělejte ho spustitelným pomocí chmod a+x pacsearch.
Nyní pokud například napíšete:
pacsearch ^qt
výstup bude vypadat takto:
extra/qca 1.0-1 QT Cryptography Architecture extra/qsynth 0.2.5-1 Qt GUI for fluidsynth *extra/qt 3.3.5-8 The QT gui toolkit. extra/qt-doc 3.3.5-1 The QT gui toolkit documentation. extra/qtella 0.6.5-1 Qtella is a Gnutella client for Linux using QT extra/qtiplot 0.7.7-1 Data analysis and scientific plotting - free clone of Origin extra/qtparted 0.4.5-3 A Partition Magic clone written in C++ using the Qt toolkit extra/qwt 4.2.0-3 Qt Widgets for Technical Applications extra/qwtplot3d 0.2.6-2 Qt/OpenGL-based C++ programming library containing 3d-widgets
Takto můžete snadno vidět které balíčky jsou na vašem počítači instalovány a které nikoliv.
Pozn: můžete modifikovat bashový script tak aby byl výstup barevný pomocí tohoto návodu a získat tak větší přehlednost.
Ostatní použití
Pacman je perfektní na správu balíčků ale umí i jiné věci.
- Stáhnutí balíčku bez instalace:
pacman -Sw jméno_balíčku
- Instalace lokálního balíčku (ne z repozitáře):
pacman -A /cesta/k/balíčku/jméno_balíčku-verze.pkg.tar.gz
- Vyčistění cache Pacmana (/var/cache/pacman/pkg):
pacman -Scc
Více detailů získáte napsáním pacman --help nebo man pacman.
Konfigurace
Konfigurační soubor Pacmana je /etc/pacman.conf
. V tomto souboru naleznete dvě základní sekce:
Hlavní nastavení (General options)
Hlavní nastavení je v sekci [options]. Můžete zde snadno nastavit jaké balíčku nebudete chtít upgradovat. To je důležité např. pro souborové systémy. Syntaxe je velice jednoduchá:
NoUpgrade = etc/passwd etc/group etc/shadow etc/sudoers NoUpgrade = etc/fstab etc/raidtab etc/ld.so.conf NoUpgrade = etc/rc.conf etc/rc.local NoUpgrade = etc/modprobe.conf etc/modules.conf NoUpgrade = etc/lilo.conf boot/grub/menu.lst
Další důležitý parametr je IgnorePkg. Pro příklad pokud máte nastavený a opatchovaný určitý balíček, přidáním do řádky IgnorePkg zabrání pacmanovy aby ho upgradoval i když bude k dispozici novější verze. Pacman vás upozorní že existuje novější verze ale k žádným zásahům nedojde. Tento parametr je dobrý např pro velké balíčky jako je Openoffice pokud jej nechcete stahovat a upgradovat pokaždé co vyjde nějaká změna. Pacman vás na to jen upozorní a můžete kdykoliv upgradovat ručně budete-li chtít.
Repozitáře (Repositories)
V této sekci specifikujete jaké depozitáře chcete používat. Můžete je definovat rychle nebo přidat z jiného souboru. Druhý zmíněný je použitelnější pro oficiální repozitáře které mají mnoho mirrorů.
[repository-name] Server = ftp://server.net/repo
[current] # Zde vložte vaše oblíbené servery, budou preferovány Include = /etc/pacman.d/current
Pro více informací zadejte man pacman.