Difference between revisions of "Pacman (Česky)"

From ArchWiki
Jump to navigation Jump to search
m
(I DEMAND CANDIES)
Line 1: Line 1:
 
[[Category:Package management (Česky)]]
 
[[Category:Package management (Česky)]]
 
[[Category:Utilities (Česky)]]
 
[[Category:Utilities (Česky)]]
[[Category:Tutorials (Česky)]]
+
[[Category:HOWTOs (Česky)]]
[[Category:Česky]]
+
[[de:Pacman]]
{{i18n|Pacman}}
+
{{i18n|pacman}} {{DISPLAYTITLE:pacman}}
  
==Přehled==
+
{{Article summary start|Shrnutí}}
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]]).  
+
{{Article summary text|Souhrnné informace o správci balíčků Arch Linuxu.}}
 +
{{Article summary heading|Přehled}}
 +
{{Article summary text|{{Package management overview (Česky)}}}}
 +
{{Article summary heading|Související}}
 +
{{Article summary wiki|Downgrading Packages (Česky)}}
 +
{{Article summary wiki|Improve Pacman Performance (Česky)}}
 +
{{Article summary wiki|pacman GUI Frontends (Česky)}}
 +
{{Article summary wiki|pacman Rosetta (Česky)}}
 +
{{Article summary wiki|pacman Tips (Česky)}}
 +
{{Article summary heading|Manuálové stránky (anglicky)}}
 +
{{Article summary link|libalpm(3)|http://www.archlinux.org/pacman/libalpm.3.html}}
 +
{{Article summary link|makepkg(8)|http://www.archlinux.org/pacman/makepkg.8.html}}
 +
{{Article summary link|makepkg.conf(5)|http://www.archlinux.org/pacman/makepkg.conf.5.html}}
 +
{{Article summary link|pacman(8)|http://www.archlinux.org/pacman/pacman.8.html}}
 +
{{Article summary link|pacman.conf(5)|http://www.archlinux.org/pacman/pacman.conf.5.html}}
 +
{{Article summary link|PKGBUILD(5)|http://www.archlinux.org/pacman/PKGBUILD.5.html}}
 +
{{Article summary link|repo-add(8)|http://www.archlinux.org/pacman/repo-add.8.html}}
 +
{{Article summary end}}
  
'''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).
+
Správce balíčků '''[http://archlinux.org/pacman/ pacman]''' je jedním z hlavních rysů Arch Linuxu. Kombinuje jednoduchý binární formát balíčků se sestavovacím systémem jednoduchým na použití (viz [[makepkg (Česky)|makepkg]] a [[Arch Build System (Česky)|Arch Build System]]. Cílem pacmana je umožnit jednoduchou správu balíčků, ať už pocházejí z oficiálních repozitářů Archu nebo jsou sestaveny samotnými uživateli.
  
NB: '''Pacman''' napsal a začal udržovat  [http://distrowatch.com/dwres.php?resource=interview-arch Judd Vinet], tvůrce [[Arch Linux|Arch Linuxu]].
+
pacman udržuje systém aktuální pomocí synchronizace seznamů balíčků s hlavním serverem. Tento model server/klient též umožňuje stáhnutí/instalaci balíčků jedním jednoduchým příkazem, a to včetně všech vynucených závislostí.
Je ale také používán jako správce balíčků v jiných distribucích
 
[http://frugalware.org FrugalWare] (více [[http://wiki.frugalware.org/FwPacman]]),
 
[http://www.rubixlinux.org Rubix], [http://www.ufficiozero.org UfficioZero] a samozřejmě Arch Linux-odvozeniny jako [http://archie.dotsrc.org Archie] a [http://arch-egis.berlios.de/content.php?article.1 AEGIS].
 
  
==Použití==
+
Narozdíl od většiny ostatních správců balíčků je pacman napsán v programovacím jazyku C. Používá formát balíčků .tar.gz a v současnosti migruje k používání formátu .tar.xz (komprese LZMA2).
'''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ů===
+
== Konfigurace ==
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
+
Konfigurace pacmana se nachází v souboru {{Filename|/etc/pacman.conf}}. Ten je místem, kde si uživatel nakonfiguruje program tak, aby pracoval požadovaným způsobem. Zevrubné informace o konfiguračním souboru můžete nalézt v [http://www.archlinux.org/pacman/pacman.conf.5.html manuálové stránce pacman.conf (anglicky)].
  
Pro instalaci nebo upgrade balíčku nebo seznamu balíčků (včetně závislostí), zadejte následující příkaz:
+
=== Hlavní volby ===
  
pacman -S jméno_balíčku1 jméno_balíčku2
+
Hlavní volby jsou v sekci {{Codeline|[options]}}. Pro informace týkající se toho, co zde můžete udělat, si přečtěte si manuálovou stránku nebo si prohlédněte výchozí {{Filename|pacman.conf}}.
  
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:
+
Český překlad bohužel v současnosti neexistuje.
  
pacman -S extra/jméno_balíčku
+
==== Zamezení upgradu balíčku ====
pacman -S testing/jméno_balíčku
 
  
Pro odstranění jediného balíčku napište následující (všechny závislosti zůstanou nainstalovány):
+
Abyste zamezili upgradu některého specifického balíčku, uveďte ho v souboru tímto způsobem:
  
  pacman -R jméno_balíčku
+
  IgnorePkg=kernel26
  
Pro odinstalování nějakého balíčku společně se závistlostmi které jiný program nepoužívá použijte:
+
Pokud zde potřebujete uvést vícero balíčků, oddělte je mezerami.
  
pacman -Rs jméno_balíčky
+
==== Zamezení upgradu skupiny balíčků ====
  
===Upgrade systému===
+
Stejně jako u jednotlivých balíčků je možné zamezit i upgradu celé skupiny balíčků:
'''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
+
  IgnoreGroup=gnome
  
Pozn: můžete synchronizovat databázi balíčků a provést upgrade jediným příkazem:
+
=== Repozitáře ===
pacman -Syu
 
  
===Databáze balíčků===
+
Tato sekce definuje, které repozitáře mají být použity. Mohou zde být uvedeny přímo nebo zahrnuty z jiného souboru.
'''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
+
Všechny oficiální repozitáře používají shodný soubor se seznamem zrcadel {{Filename|/etc/pacman.d/mirrorlist}}, jenž pro umožnění udržování takovéhoto jednotného seznamu využívá proměnnou "{{Codeline|$repo}}". Ta se při každém zahrnutí seznamu zrcadel v určitém repozitáři nahradí za jméno onoho repozitáře.
  
Takto můžete prohledat již nainstalované balíčky:
+
Následuje příklad pro [[Official Repositories (Česky)|oficiální repozitáře]], jenž využívá [[mirrors (Česky)|zrcadla]] ze zmíněného souboru.
  
  pacman -Qs balíčky
+
  [core]
 +
# Add your preferred servers here, they will be used first
 +
Include=/etc/pacman.d/mirrorlist
  
Pokud si nejste jisti že vyhledaný balíček je přesně to co chcete můžete si o něm zobrazit podrobnější informace.
+
[extra]
 +
# Add your preferred servers here, they will be used first
 +
Include=/etc/pacman.d/mirrorlist
  
  pacman -Si balíček  
+
  [community]
  pacman -Qi balíček
+
  # Add your preferred servers here, they will be used first
 +
  Include=/etc/pacman.d/mirrorlist
  
Pro seznam souborů obsažených v balíčku napište jen:
+
{{Note|Při využívání repozitáře {{Codeline|[testing]}} byste si měli dávat pozor. Je v aktivním vývoji a aktualizace mohou způsobit nefunkčnost některých balíčků. Lidem užívající repozitář {{Codeline|[testing]}} je doporučeno se přihlásit na anglický mailing list [http://mailman.archlinux.org/mailman/listinfo/arch-dev-public arch-dev-public], aby měli k dispozici aktuální informace.}}
  
pacman -Ql balíček
+
== Použití ==
  
Zpětně můžete i zjistit jaký soubor náleží k jakému balíčku.
+
Pro další ukázky schopností pacmana vizte anglickou [http://archlinux.org/pacman/pacman.8.html manuálovou stránku pacmana]. Ukázky uvedené níže jsou pouze malým vzorkem operací, jež mohou být provedeny.
  
pacman -Qo /cesta/k/souboru
+
=== Instalace balíčků ===
  
===Souběžné prohledávání repozitářů a instalovaných balíčků===
+
Abyste nainstalovali buď jeden balíček nebo seznam balíčků (včetně závislostí), použijte následující příkaz:
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
+
  # pacman -S jméno_prvního_balíčku jméno_druhého_balíčku
 
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.
+
Někdy je od jednoho balíčku vícero verzí v různých repozitářích (např. extra a testing). Můžete určit, který z nich má být nainstalován:
  
Nyní pokud například napíšete:
+
  # pacman -S extra/jméno_balíčku
pacsearch ^qt
+
  # pacman -S testing/jméno_balíčku
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.
+
{{Note|1='''Neměňte''' během instalace balíčků jejich seznam (např. pomocí {{Codeline|pacman -Sy jméno_balíčku}}); může to vést k problémům se závislostmi [http://bbs.archlinux.org/viewtopic.php?id=89328]. Namísto toho onen [[#Upgrade balíčků|upgrade]] proveďte '''před''' instalací jakýchkoliv nových balíčků.}}
  
'''Pozn:''' ''můžete modifikovat bashový script tak aby byl výstup barevný pomocí tohoto [[Colored_Pacman_output|návodu]] a získat tak větší přehlednost.''
+
=== Odstraňování balíčků ===
  
===Ostatní použití===
+
Pro odstranění konkrétního balíčku, nechávajíc všechny jeho závislosti i nadále nainstalované:
'''Pacman''' je perfektní na správu balíčků ale umí i jiné věci.
 
  
* Stáhnutí balíčku bez instalace:
+
  # pacman -R jméno_balíčku
  pacman -Sw jméno_balíčku
 
  
* Instalace lokálního balíčku (ne z repozitáře):
+
Pro odstranění balíčku a všech jeho závislostí, jenž nejsou vyžadovány žádným jiným nainstalovaným balíčkem:
pacman -A /cesta/k/balíčku/jméno_balíčku-verze.pkg.tar.gz
 
  
* Vyčistění cache Pacmana (/var/cache/pacman/pkg):
+
  # pacman -Rs jméno_balíčku
  pacman -Scc
 
  
Více detailů získáte napsáním '''pacman --help''' nebo '''man pacman'''.
+
Při odstraňování jistých aplikací pacman ukládá důležité konfigurační soubory s koncovkou {{Filename|.pacsave}}. Abyste smazali i tyto záložní soubory, použijte volbu -n:
  
==Konfigurace==
+
# pacman -Rn jméno_balíčku
Konfigurační soubor Pacmana je <code>/etc/pacman.conf</code>. V tomto souboru naleznete dvě základní sekce:
+
# pacman -Rns jméno_balíčku
  
===Hlavní nastavení (General options)===
+
{{Note|pacman neodstraňuje konfigurační soubory vytvořené samotnou aplikací (například {{Filename|.tečkové}} soubory v domovském adresáři).}}
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á:
 
  
<pre>
+
=== Upgrade balíčků ===
NoUpgrade  = etc/passwd etc/group etc/shadow etc/sudoers
+
 
NoUpgrade  = etc/fstab etc/raidtab etc/ld.so.conf
+
pacman může zaktualizovat všechny balíčky přítomné v systému pomocí jednoho jediného příkazu. V závislosti na tom, jak je váš systém aktuální, to může chvíli trvat. Tento příkaz sesynchronizuje databáze repozitářů ''a zároveň'' zaktualizuje balíčky v systému:
NoUpgrade  = etc/rc.conf etc/rc.local
+
 
NoUpgrade  = etc/modprobe.conf etc/modules.conf
+
# pacman -Syu
NoUpgrade  = etc/lilo.conf boot/grub/menu.lst
+
 
</pre>
+
{{Note|Jsouc distribucí využívající postupné aktualizace, nebude vždy aktualizace vašeho Arch Linux systému tak přímočará jako u distribucí s pevnými vydáními. Navíc pacman není balíčkovačem s principem "udělat a zapomenout". Údržba systému s Arch Linuxem má proto sklon mást nováčky (vycházeje ze stále se opakujících diskuzí na fóru).
 +
 
 +
Před pokračováním si, prosím, ''pečlivě'' pročtěte následující sekci.}}
 +
 
 +
pacman je mocný nástroj pro správu balíčků, ale nepokouší se "udělat všechno možné". Pokud vás to mate, přečtěte si článek [[The Arch Way (Česky)|o principech Arch Linuxu]]. Místo toho by měli být uživatelé ostražití a za údržbu vlastního systému brát odpovědnost. Například, když vykonováte aktualizaci systému ({{Codeline|pacman -Syu}}), '''je nezbytné, abyste si přečetli veškerý výstup z pacmana a používali zdravý rozum.'''
 +
 
 +
Namísto okamžitého aktualizování, jakmile jsou balíčky dostupné, by měli uživatelé mít na paměti, že aktualizace ''kritického'' balíčku může mít nedozírné následky. To znamená, že není moudré aktualizovat {{Codeline|xorg-server}}, máte-li za chvíli předvádět důležitou prezentaci, ku příkladu. Raději aktualizujte ve volném čase a buďte připraveni se popást s jakýmkoliv problémem, který kvůli aktualizaci může nastat.
 +
 
 +
Dále je zárukou navštívení [http://archlinux.org/ domovské stránky Arch Linuxu]. Když aktualizace vyžadují zásah uživatele, často se na http://archlinux.org objeví příslušné oznámení, které o tom pojednává. Krátce po tom, co se stanou aktualizace dostupné na zrcadlech, se na též fóru obvykle objeví příspěvky popisující ten samý problém a případně poskytující jeho řešení.
 +
 
 +
Když je prováděna samotná aktualizace, nezapomeňte si pročíst zprávy vypsané pacmanem. Balíčkovači často popisují změny a očekávané problémy, a vedou uživatele k příslušnému zdroji nebo stránce na této wiki. '''Vždy si pročtěte veškeré informace ve výstupu pacmana!'''
 +
 
 +
{{Tip|Nezapomeňte, že výstup pacmana je logován do souboru {{Filename|/var/log/pacman.log}}.}}
 +
 
 +
=== Dotazování databází balíčků ===
 +
 
 +
Je-li uvedena volba -Q, pacman se dotazuje lokální databáze balíčků, viz:
 +
$ pacman -Q --help
 +
 
 +
Je-li uvedena volba -S, dotazuje se databáze synchronizované se servery, viz:
 +
$ pacman -S --help
 +
 
 +
pacman může v databázi vyhledávat určité balíčky, a to jak podle jmen tak podle popisů balíčků:
 +
$ pacman -Ss balíček
 +
 
 +
Pro prohledání již nainstalovaných balíčků:
 +
$ pacman -Qs balíček
 +
 
 +
Pokud chcete širší informace o některém balíčku:
 +
$ pacman -Si balíček
 +
 
 +
A opět pro lokálně nainstalované balíčky:
 +
$ pacman -Qi balíček
 +
 
 +
Pro zobrazení seznamu souborů nainstalovaných některým balíčkem:
 +
$ pacman -Ql balíček
 +
 
 +
Též se můžete dotázat databáze, zda-li neví, k jakému balíčku patří určitý soubor v souborovém systému.
 +
$ pacman -Qo /cesta/k/souboru
 +
 
 +
Pro vypsání všech balíčků, které již nadále nejsou potřebné jako závislosti pro jiné balíčky (sirotci):
 +
$ pacman -Qdt
 +
 
 +
=== Další příkazy ===
 +
 
 +
Stáhnout balíček, ale neinstalovat ho:
 +
# pacman -Sw balíček
 +
 
 +
Instalace "lokálního" balíčku, který nepochází z repozitáře:
 +
# pacman -U /cesta/k/balíčku/jméno_balíčku-verze.pkg.tar.gz
 +
 
 +
Instalace "vzdáleného" balíčku (taktéž nepocházejícího z repozitáře):
 +
# pacman -U http://www.ukázkovýbalíček/repo/ukázkovýbal.tar.gz
 +
 
 +
Vyčištění cache balíčků od balíčků, jenž nejsou momentálně nainstalovány ({{Filename|/var/cache/pacman/pkg}}):
 +
# pacman -Sc
 +
 
 +
Smazání kompletně celé cache balíčků:
 +
 
 +
{{Warning|Toto provádějte pouze tehdy, jste-li si jistí, že nebude třeba [[Downgrading Packages (Česky)|downgrade některého balíčku]], protože {{Codeline|pacman -Scc}} z cache odstraní skutečně ''všechny'' balíčky.}}
 +
# pacman -Scc
 +
 
 +
== Řešení problémů ==
 +
 
 +
{{FAQ
 +
|question=Aktualizace balíčku XYZ mi rozbila systém!
 +
|answer=Arch Linux je distribuce s postupnými aktualizacemi a nejnovějším dostupným softwarem. Aktualizace balíčků jsou dostupné, jakmile jsou považovány za dostatečně stabilní pro obecné použití. Aktualizace nicméně někdy vyžadují zásah uživatele: konfigurační soubory mohou potřebovat aktualizovat, volitelné závislosti se mohou změnit atp.
 +
 
 +
Nejdůležitější rada pro zapamatování je neaktualizovat systém "naslepo". Vždy si přečtěte seznam balíčků, které mají být zaktualizovány. Všímejte si případů, kdy mají být aktualizovány "kritické" balíčky ({{Codeline|kernel26}}, {{Codeline|xorg-server}}, a tak dále). Pokud ano, je obvykle dobrý nápad podívat se na http://archlinux.org po jakýchkoliv novinkách a projít si poslední příspěvky na fóru, abyste předem věděli, zda lidé nemají v důsledku některé aktualizace problémy.
 +
 
 +
Pokud je očekáváno/známo, že aktualizace balíčku způsobí problémy, balíčkovači (lidé, kteří se starají o balíčky) nezapomenou přidat příslušnou zprávu, kterou pacman zobrazí při aktualizaci daného balíčku. Pokud po aktualizaci máte nějaké potíže, dvakrát si projděte výstup pacmana, jenž naleznete v logu ({{Filename|/var/log/pacman.log}}).
 +
 
 +
V tomto momentě, '''pouze poté, co jste se ujistili, že pacman neposkytuje žádné informace, že nejsou žádné související novinky na http://archlinux.org, a že nejsou na fóru žádné příspěvky ohledně dané aktualizace''', byste měli zvážit vyhledání pomoci na fóru, [[IRC Channel (Česky)|IRC]] nebo zkuste [[Downgrading Packages (Česky)|downgradovat problematický balíček]].
 +
 
 +
Přečtěte si poslední odstavec znova.}}
 +
 
 +
{{FAQ
 +
|question=Vím o tom, že byl vydán update balíčku ABC, ale pacman mi stále říká, že je můj systém aktuální!
 +
|answer=Zrcadla pro pacmana nejsou sesynchronizována okamžitě. Může trvat i déle než 24 hodin, než bude aktualizace pro vás dostupná.
 +
 
 +
Jediné možnosti jsou zde být trpělivý nebo použít jiné zrcadlo.}}
 +
 
 +
{{FAQ
 +
|question=Při aktualizaci dostávám chybu: "file exists in filesystem"!
 +
|answer=Pozn. stranou: ''Převzato z http://bbs.archlinux.org/viewtopic.php?id=56373 od Misfit138.''
 +
 
 +
error: could not prepare transaction
 +
error: failed to commit transaction (conflicting files)
 +
package: /cesta/k/souboru exists in filesystem
 +
Errors occurred, no packages were upgraded.
 +
 
 +
Proč se to stává: pacman zjistil konflikt souborů a shodně s jeho návrhem tyto soubory pro vás nepřepíše. Je to vlastnost návrhu, nikoliv nedostatek.
 +
 
 +
Je odpovědností uživatele udržovat svůj systém, ne správce balíčků. (Pro dotázání, který balíček, pokud vůbec nějaký, vlastní daný soubor, můžete zavolat {{Codeline|pacman -Qo}}.)
 +
 
 +
Tato záležitost má obvykle triviální řešení. Bezpečný způsob je nejdříve si ověřit, zda-li tento soubor nevlastní jiný balíček ({{Codeline|pacman -Qo /cesta/k/souboru}}). Pokud je soubor vlastněn jiným balíčkem, [[Reporting Bug Guidelines (Česky)|vyplňte zprávu o bugu]]. Pokud onen soubor ''není'' vlastněn jiným balíčkem, přejmenujte soubor, který "existuje v souborovém systému" a vyvolejte příkaz pro aktualizaci znovu. Pokud všechno půjde dobře, ten soubor budete moci odstranit.}}
 +
 
 +
{{FAQ
 +
|question=Při instalaci balíčku dostávám chybu: "not found in sync db"
 +
|answer=Nejdříve se ujistěte, že balíček skutečně existuje (a pozor na překlepy!). Pokud daný balíček existuje, buď může být váš seznam balíčků zastaralý nebo můžete mít špatně nakonfigurované repozitáře. Zkuste spustit {{Codeline|pacman -Syy}} pro vynucenou obnovu všech seznamů balíčků.}}
 +
 
 +
{{FAQ
 +
|question=pacman opakovaně upgraduje ten samý balíček!
 +
|answer=Toto nastává kvůli duplikovaným záznamům ve {{Filename|/var/lib/pacman/local/}}, např. dvoum instancím {{Codeline|kernel26}}. {{Codeline|pacman -Qi}} vypíše správnou verzi, ale {{Codeline|pacman -Qu}} rozpozná tu starou verzi a proto se pokusí balíček upgradovat.
 +
 
 +
Řešení: smažte problematický záznam ve {{Filename|/var/lib/pacman/local/}}.
  
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.  
+
{{Note|pacman verze 3.4 by již měl v případě duplikovaných záznamů vyhlásit chybu. Tato poznámka by tedy měla být zastaralá.}}}}
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)===
+
{{FAQ
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ů.
+
|question=pacman během upgradu sletěl!
 +
|answer=V případě, že pacman během odstraňování balíčků spadne spolu s chybovou hláškou ohledně zápisu do databáze a další pokusy o reinstalaci nebo upgrade balíčků selhávají:
 +
#Nabootujte pomocí Live CD Arch Linuxu
 +
#Připojte svůj kořenový souborový systém (root)
 +
#Aktualizujte databázi balíčků pomocí {{Codeline|pacman -Syy}}
 +
#Nainstalujte poškozený balíček pomocí {{Codeline|pacman -r /cesta/k/rootu -S balíček}}}}
  
 +
{{FAQ
 +
|question=Nainstaloval jsem software pomocí {{Codeline|make install}}; tyto soubory nepatří žádnému balíčku!
 +
|answer=Pokud předáte pacmanovi při instalaci přepínač {{Codeline|-Sf}}, přepíše ručně nainstalovaný software. Pokud byl software nainstalován do {{Filename|/usr/local}}, můžete nechat vyhledat soubory, o kterých pacman ''má'' přehled:
 
<pre>
 
<pre>
[repository-name]
+
# find /usr/local -exec bash -c 'file={}; pacman -Qo "$file" 2>/dev/null' \;
Server = ftp://server.net/repo
 
 
</pre>
 
</pre>
  
 +
Pro vyhledání všech souborů, které ''nejsou'' sledovány pacmanem:
 
<pre>
 
<pre>
[current]
+
# find / -xdev -exec bash -c 'file={}; [[ "$file" =~ ^/root || \
# Zde vložte vaše oblíbené servery, budou preferovány
+
> "$file" =~ ^/boot/(grub|kernel) || "$file" =~ ^/usr/(include|lib) ]] || \
Include = /etc/pacman.d/current
+
> pacman -Qo "$file" &>/dev/null || echo "$file"' \;
 
</pre>
 
</pre>
 
+
}}
Pro více informací zadejte '''man pacman'''.
 
 
 
==Viz také==
 
*[[Boost Pacman]]
 
*[[Colored Pacman output]]
 
*[[Downgrade packages]]
 
*[[Redownloading all installed packages]]
 
*[[Arch User Repository]]
 
*[[Local repository HOW-TO]]
 
*[[Custom local repository with ABS and gensync]]
 
*[[Howto Upgrade via Home Network]]
 
*[[rucksack]]
 
*[[Pacman GUI Frontends]]
 

Revision as of 18:14, 9 July 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary end

Správce balíčků pacman je jedním z hlavních rysů Arch Linuxu. Kombinuje jednoduchý binární formát balíčků se sestavovacím systémem jednoduchým na použití (viz makepkg a Arch Build System. Cílem pacmana je umožnit jednoduchou správu balíčků, ať už pocházejí z oficiálních repozitářů Archu nebo jsou sestaveny samotnými uživateli.

pacman udržuje systém aktuální pomocí synchronizace seznamů balíčků s hlavním serverem. Tento model server/klient též umožňuje stáhnutí/instalaci balíčků jedním jednoduchým příkazem, a to včetně všech vynucených závislostí.

Narozdíl od většiny ostatních správců balíčků je pacman napsán v programovacím jazyku C. Používá formát balíčků .tar.gz a v současnosti migruje k používání formátu .tar.xz (komprese LZMA2).

Konfigurace

Konfigurace pacmana se nachází v souboru Template:Filename. Ten je místem, kde si uživatel nakonfiguruje program tak, aby pracoval požadovaným způsobem. Zevrubné informace o konfiguračním souboru můžete nalézt v manuálové stránce pacman.conf (anglicky).

Hlavní volby

Hlavní volby jsou v sekci Template:Codeline. Pro informace týkající se toho, co zde můžete udělat, si přečtěte si manuálovou stránku nebo si prohlédněte výchozí Template:Filename.

Český překlad bohužel v současnosti neexistuje.

Zamezení upgradu balíčku

Abyste zamezili upgradu některého specifického balíčku, uveďte ho v souboru tímto způsobem:

IgnorePkg=kernel26

Pokud zde potřebujete uvést vícero balíčků, oddělte je mezerami.

Zamezení upgradu skupiny balíčků

Stejně jako u jednotlivých balíčků je možné zamezit i upgradu celé skupiny balíčků:

IgnoreGroup=gnome

Repozitáře

Tato sekce definuje, které repozitáře mají být použity. Mohou zde být uvedeny přímo nebo zahrnuty z jiného souboru.

Všechny oficiální repozitáře používají shodný soubor se seznamem zrcadel Template:Filename, jenž pro umožnění udržování takovéhoto jednotného seznamu využívá proměnnou "Template:Codeline". Ta se při každém zahrnutí seznamu zrcadel v určitém repozitáři nahradí za jméno onoho repozitáře.

Následuje příklad pro oficiální repozitáře, jenž využívá zrcadla ze zmíněného souboru.

[core]
# Add your preferred servers here, they will be used first
Include=/etc/pacman.d/mirrorlist
[extra]
# Add your preferred servers here, they will be used first
Include=/etc/pacman.d/mirrorlist
[community]
# Add your preferred servers here, they will be used first
Include=/etc/pacman.d/mirrorlist
Note: Při využívání repozitáře Template:Codeline byste si měli dávat pozor. Je v aktivním vývoji a aktualizace mohou způsobit nefunkčnost některých balíčků. Lidem užívající repozitář Template:Codeline je doporučeno se přihlásit na anglický mailing list arch-dev-public, aby měli k dispozici aktuální informace.

Použití

Pro další ukázky schopností pacmana vizte anglickou manuálovou stránku pacmana. Ukázky uvedené níže jsou pouze malým vzorkem operací, jež mohou být provedeny.

Instalace balíčků

Abyste nainstalovali buď jeden balíček nebo seznam balíčků (včetně závislostí), použijte následující příkaz:

# pacman -S jméno_prvního_balíčku jméno_druhého_balíčku

Někdy je od jednoho balíčku vícero verzí v různých repozitářích (např. extra a testing). Můžete určit, který z nich má být nainstalován:

# pacman -S extra/jméno_balíčku
# pacman -S testing/jméno_balíčku
Note: Neměňte během instalace balíčků jejich seznam (např. pomocí Template:Codeline); může to vést k problémům se závislostmi [1]. Namísto toho onen upgrade proveďte před instalací jakýchkoliv nových balíčků.

Odstraňování balíčků

Pro odstranění konkrétního balíčku, nechávajíc všechny jeho závislosti i nadále nainstalované:

# pacman -R jméno_balíčku

Pro odstranění balíčku a všech jeho závislostí, jenž nejsou vyžadovány žádným jiným nainstalovaným balíčkem:

# pacman -Rs jméno_balíčku

Při odstraňování jistých aplikací pacman ukládá důležité konfigurační soubory s koncovkou Template:Filename. Abyste smazali i tyto záložní soubory, použijte volbu -n:

# pacman -Rn jméno_balíčku
# pacman -Rns jméno_balíčku
Note: pacman neodstraňuje konfigurační soubory vytvořené samotnou aplikací (například Template:Filename soubory v domovském adresáři).

Upgrade balíčků

pacman může zaktualizovat všechny balíčky přítomné v systému pomocí jednoho jediného příkazu. V závislosti na tom, jak je váš systém aktuální, to může chvíli trvat. Tento příkaz sesynchronizuje databáze repozitářů a zároveň zaktualizuje balíčky v systému:

# pacman -Syu
Note: Jsouc distribucí využívající postupné aktualizace, nebude vždy aktualizace vašeho Arch Linux systému tak přímočará jako u distribucí s pevnými vydáními. Navíc pacman není balíčkovačem s principem "udělat a zapomenout". Údržba systému s Arch Linuxem má proto sklon mást nováčky (vycházeje ze stále se opakujících diskuzí na fóru). Před pokračováním si, prosím, pečlivě pročtěte následující sekci.

pacman je mocný nástroj pro správu balíčků, ale nepokouší se "udělat všechno možné". Pokud vás to mate, přečtěte si článek o principech Arch Linuxu. Místo toho by měli být uživatelé ostražití a za údržbu vlastního systému brát odpovědnost. Například, když vykonováte aktualizaci systému (Template:Codeline), je nezbytné, abyste si přečetli veškerý výstup z pacmana a používali zdravý rozum.

Namísto okamžitého aktualizování, jakmile jsou balíčky dostupné, by měli uživatelé mít na paměti, že aktualizace kritického balíčku může mít nedozírné následky. To znamená, že není moudré aktualizovat Template:Codeline, máte-li za chvíli předvádět důležitou prezentaci, ku příkladu. Raději aktualizujte ve volném čase a buďte připraveni se popást s jakýmkoliv problémem, který kvůli aktualizaci může nastat.

Dále je zárukou navštívení domovské stránky Arch Linuxu. Když aktualizace vyžadují zásah uživatele, často se na http://archlinux.org objeví příslušné oznámení, které o tom pojednává. Krátce po tom, co se stanou aktualizace dostupné na zrcadlech, se na též fóru obvykle objeví příspěvky popisující ten samý problém a případně poskytující jeho řešení.

Když je prováděna samotná aktualizace, nezapomeňte si pročíst zprávy vypsané pacmanem. Balíčkovači často popisují změny a očekávané problémy, a vedou uživatele k příslušnému zdroji nebo stránce na této wiki. Vždy si pročtěte veškeré informace ve výstupu pacmana!

Tip: Nezapomeňte, že výstup pacmana je logován do souboru Template:Filename.

Dotazování databází balíčků

Je-li uvedena volba -Q, pacman se dotazuje lokální databáze balíčků, viz:

$ pacman -Q --help

Je-li uvedena volba -S, dotazuje se databáze synchronizované se servery, viz:

$ pacman -S --help

pacman může v databázi vyhledávat určité balíčky, a to jak podle jmen tak podle popisů balíčků:

$ pacman -Ss balíček

Pro prohledání již nainstalovaných balíčků:

$ pacman -Qs balíček

Pokud chcete širší informace o některém balíčku:

$ pacman -Si balíček

A opět pro lokálně nainstalované balíčky:

$ pacman -Qi balíček

Pro zobrazení seznamu souborů nainstalovaných některým balíčkem:

$ pacman -Ql balíček

Též se můžete dotázat databáze, zda-li neví, k jakému balíčku patří určitý soubor v souborovém systému.

$ pacman -Qo /cesta/k/souboru

Pro vypsání všech balíčků, které již nadále nejsou potřebné jako závislosti pro jiné balíčky (sirotci):

$ pacman -Qdt

Další příkazy

Stáhnout balíček, ale neinstalovat ho:

# pacman -Sw balíček

Instalace "lokálního" balíčku, který nepochází z repozitáře:

# pacman -U /cesta/k/balíčku/jméno_balíčku-verze.pkg.tar.gz

Instalace "vzdáleného" balíčku (taktéž nepocházejícího z repozitáře):

# pacman -U http://www.ukázkovýbalíček/repo/ukázkovýbal.tar.gz

Vyčištění cache balíčků od balíčků, jenž nejsou momentálně nainstalovány (Template:Filename):

# pacman -Sc

Smazání kompletně celé cache balíčků:

Warning: Toto provádějte pouze tehdy, jste-li si jistí, že nebude třeba downgrade některého balíčku, protože Template:Codeline z cache odstraní skutečně všechny balíčky.
# pacman -Scc

Řešení problémů

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ