.TH pacman 8 "17 września 2004" "pacman #VERSION#" ""
.SH NAME
pacman \- menedżer pakietów
.SH SYNOPSIS
\fBpacman  <operacja> [opcje] <pakiet> [pakiet] ...\fP
.SH DESCRIPTION
\fBpacman\fP służy do \fIzarządzania pakietami\fP w systemie Linux. Posiada
prostą obsługę zależności, a także możliwość łączenia się z serwerami FTP
oraz automatycznej aktualizacji pakietów w lokalnym systemie. pacman obsługuje
pakiety w formacie \fIarchiwum TAR, skompresowanego metodą GZIP\fP.
.SH OPERACJE
.TP
.B "\-A, \-\-add"
Dodaje pakiet do systemu. Pakiet zostanie zdekompresowany w drzewie instalacji,
a baza danych o pakietach zostanie uaktualniona.
.TP
.B "\-F, \-\-freshen"
Działą podobnie do --upgrade, lecz aktualizuje tylko te pakiety, które już są
zainstalowane w systemie.
.TP
.B "\-Q, \-\-query"
Odpytuje bazę danych o pakietach. Funkcja ta pozwala przeglądać zainstalowane
pakiety oraz pliki, które do nich należą, jak również wyświetlać informacje 
o poszczególnych pakietach (zależności, konflikty, data instalacji, data
budowy, rozmiar). Operacja może zostać wykonana na lokalnej bazie pakietów
lub na poszczególnych pakietach. Więcej informacji w sekcji
\fBOPCJE ZAPYTAŃ\fP.
.TP
.B "\-R, \-\-remove"
Usuwa pakiet z systemu. Pliki należące do pakietu zostaną usunięte, a baza
danych zostanie uaktualniona. Większość plików konfiguracyjnych zostanie
zachowana z rozszerzeniem \fI.pacsave\fP, chyba że zostanie używa opcja
\fB--nosave\fP.
.TP
.B "\-S, \-\-sync"
Synchronizuje pakiety. Za pomocą tej funkcji można instalować pakiety
bezpośrednio z serwerów FTP, z uwzględnieniem wszystkich wymaganych zależności.
Przykładowo, \fBpacman -S qt\fP pobierze i zainstaluje zarówno pakiet qt, jak i
wszystkie pakiety, od których on zależy. Można też wykonać \fBpacman -Su\fP,
aby uaktualnić wszystkie pakiety, których istnieją nowsze wersje (patrz niżej).
.TP
.B "\-U, \-\-upgrade"
Aktualizuje pakiet. Dokładnie jest to operacja "usuń-i-dodaj". Zobacz sekcję
\fBHANDLING CONFIG FILES\fP, aby dowiedzieć się więcej na temat sposobu, w jaki
pacman traktuje pliki konfiguracyjnie.
.TP
.B "\-V, \-\-version"
Pokazuje wersję i zakończ pracę.
.TP
.B "\-h, \-\-help"
Pokazuje składnię danej fukncji. Jeżeli żadna funkcja nie zostanie określona,
wyświetli się składnia ogólna.
.SH OPCJE
.TP
.B "\-d, \-\-nodeps"
Pomija sprawdzanie zależności. Standardowo, pacman zawsze sprawdza zależności
pakietów, aby upewnić się, że wszystkie wymagane pakiety są zainstalowane oraz
nie istnieją w systemie żadne konflikty. Niniejsza opcja wyłącza tą
funkcjonalność.
.TP
.B "\-f, \-\-force"
Pomija sprawdzanie konfliktów, nadpisując kolidujące pliki. Jeżeli instalowany
pakiet zawiera pliki, które już istnieją w systemie, opcja ta spowoduje
nadpisanie tych plików. Opcja powinna być używana bardzo ostrożnie,
a najlepiej w ogóle.
.TP
.B "\-r, \-\-root <ścieżka>"
Określa alternatywne drzewo instalacji (domyślnie jest to "/"). Opcja ta
\fInie\fP powinna być użyta do instalacji oprogramowania przykładowo w katalogu
/usr/local, zamiast /usr. Opcja służy do instalacji pakietów na tymczasowo
zamontowanej partycji, na której znajduje się inny system. Za pomocą tej opcji
określa się nie tylko, gdzie pakiety mają być instalowane, ale też która
bazę danych o pakietach powinna być użyta.
.TP
.B "\-v, \-\-verbose"
Pokazuje więcej informacji o działaniu i błędach.
.TP
.B "\-\-config <ścieżka>"
Określa alternatywny plik konfiguracyjny.
.TP
.B "\-\-noconfirm"
Pomija pytania typu "czy jesteś pewny". O ile pacman nie jest uruchamiany z
poziomu skryptu, najlepiej nie używać tej opcji.
.SH OPCJE SYNCHRONIZACJI
.TP
.B "\-c, \-\-clean"
Usuwa stare pakiety z pamięci podręcznej. Kiedy pacman pobiera pakiet, zapisuje
go w katalogu \fI/var/cache/pacman/pkg\fP. Jeżeli istnieje potrzeba zwolnienia
miejsca na dysku, można usunąć niepotrzebne pakiety za pomocą niniejszej opcji.
Używając pojedynczej opcji --clean (lub -c), tylko \fIstare\fP pakiety zostaną
usunięte. Podwójne użycie opcji spowoduje usunięcie wszystkich pakietów.
.TP
.B "\-g, \-\-groups"
Pokazuje pakiety należące do określonej grupy pakietów. Jeżeli grupa nie
zostanie podana, zostaną wyświetlone wszystkie grupy.
.TP
.B "\-i, \-\-info"
Pokazuje informacje o zależnościach danego pakietu. Spowoduje to przeszukanie
wszystkich repozytoriów pod kątem pasujących pakietów oraz wyświetlenie ich
zależności, konfliktów, itd.
.TP
.B "\-l, \-\-list"
Pokazuje wszystkie pliki w danym repozytorium. Można też podać kilka
repozytoriów.
.TP
.B "\-p, \-\-print-uris"
Pokazuje adresy URI danych pakietów oraz ich zależności. Pakiety można później
pobrać, przekazując adresy innej apliacji, takiej jak wget.
.TP
.B "\-s, \-\-search <łańcuch>"
Przeszukuje listę pakietów pod kątem występowania danego łańcucha w nazwie
lub opisie pakietu.
.TP
.B "\-u, \-\-sysupgrade"
Aktualizuje wszystkie pakiety. pacman sprawdzi każdy zainstalowany w systemie
pakiet oraz uaktualni go, jeżeli istnieje nowsza wersja. Zanim to zrobi,
wyświetli listę wszystkich pakietów, które mają być uaktualnione, a następnie
poprosi o pozwolenie na wykonanie operacji. Zależności są rozwiązywane
automatycznie.
.TP
.B "\-w, \-\-downloadonly"
Pobiera wymanage pakiety z serwera, ale niczego instaluje.
.TP
.B "\-y, \-\-refresh"
Pobiera najnowszą wercję listy pakietów znajdujących sięna serwerach FTP,
zdefiniowanych w pliku \fI/etc/pacman.conf\fP. Operacja powinna być
przeprowadzana przed każdym użyciem opcji \fB--sysupgrade\fP.
.SH OPCJE USUWANIA
.TP
.B "\-c, \-\-cascade"
Usuwa zadane pakiety oraz wszystkie pakiety, które od nich zależą. Operacja ta
jest rekursywna.
.TP
.B "\-k, \-\-keep"
Usuwa tylko wpisy z bazy danych. Pliki pozostają na swoim miejscu.
.TP
.B "\-n, \-\-nosave"
Powoduje, że pacman nie zachowa plików konfiguracyjnych. Standardowo, kiedy
plik ma być \fIusunięty\fP z systemu, pacman sprawdza czy powinien zachować
jego kopię w pliku z rozszerzeniem .pacsave. Jeżeli zostanie użyta opcja
\fB--nosave\fP, postępowanie to zostanie pominięte i plik zostanie po prostu
usunięty.
.TP
.B "\-s, \-\-recursive"
Usuwa zadane pakiety oraz ich zależności, pod warunkiem, że (A) nie są
wymagane przez żadne inne pakiety oraz (B) zostały zainstalowane na wyraźne
polecenie użytkownika, a nie jako zlaeżność dla innego pakietu. Operacja jest
odwrotnością funkcji --sync.
.SH OPCJE ZAPYTAŃ
.TP
.B "\-e, \-\-orphans"
Pokazuje wszystkie pakiety, które zostały zainstalowane na wyraźne polecenie
użytkownika (tzn. nie jako zależność dla innego pakietu) i nie są wymagane
przez żaden inny pakiet.
.TP
.B "\-g, \-\-groups"
Pokazuje wszystkie grupy, do których należy dany pakiet. Jeżeli pakiet nie jest
podany, wyświetla wszystkie grupy i należące do nich pakiety.
.TP
.B "\-i, \-\-info"
Pokazuje informacje o danym pakiecie. Jeżeli użyta jest również opcja \fB-p\fP,
to zostanie wyświetlona zawartość pliku .PKGINFO.
.TP
.B "\-l, \-\-list"
Pokazuje wszystkie pliki, które zawiera dany pakiet. Można też podać kilka
pakietów.
.TP
.B "\-o, \-\-owns <plik>"
Pokazuje, który pakiet zawiera dany plik.
.TP
.B "\-p, \-\-file"
Informuje pacmana, że dany pakiet jest plikiem, a nie wpisem w bazie danych.
pacman zdekompresuje plik i wykona na nim zadaną operację. Opcja ta jest
użyteczna przy funkcjach \fB--info\fP oraz \fB--list\fP.
.TP
.B "\-s, \-\-search <łańcuch>"
Przeszukuje zainstalowane pakiety pod kątem występowania łańcucha w ich nazwie
lub opisie.
.SH OBSŁUGA PLIKÓW KONFIGURACYJNYCH
pacman postępuje tak samo jak rpm, jeżeli chodzi o decyzję w sprawie plików,
dla których powinna zostać zrobiona kopia zapastowa. Podczas aktualizacji
dla każdego pliku konfiguracyjnego pacman używa trzech sygnatur MD5:
oryginalnie zainstalowanego pliku, nowego pliku, który ma być zainstalowany,
oraz obecnie istniejącej wersji pliku. W zależności od wyniku porównania,
możliwy jest jeden z następujących scenariuszy:
.TP
oryginalny=\fBX\fP, obecny=\fBX\fP, nowy=\fBX\fP
Wszystkie trzy pliki są jednakowe, więc bez różnicy co się stanie. pacman
instaluje nowy plik.
.TP
oryginalny=\fBX\fP, obecny=\fBX\fP, nowy=\fBY\fP
Obecny plik jest taki sam jak oryginalny, ale nowy plik jest inny. Ponieważ
użytkownik nigdy nie modyfikował pliku, a nowa wersja może zawierać ulepszenia
lub poprawki błędów, pacman instaluje nowy plik.
.TP
oryginalny=\fBX\fP, obecny=\fBY\fP, nowy=\fBX\fP
Nowy plik jest taki sam jak oryginalny, ale obecny plik jest inny. pacman
zostawia obecny plik w spokoju.
.TP
oryginalny=\fBX\fP, obecny=\fBY\fP, nowy=\fBY\fP
Nowy plik jest taki sam jak obecny. pacman instaluje nowy plik.
.TP
oryginalny=\fBX\fP, obecny=\fBY\fP, nowy=\fBZ\fP
Wszystkie trzy pliki są różne. pacman instaluje nowy plik, ale zachowuje stary
w pliku z rozszerzeniem .pacsave. W ten sposób użytkownik może przywrócić stary
plik, jeżeli zajdzie taka potrzeba.
.SH KONFIGURACJA
pacman próbuje odczytać plik \fI/etc/pacman.conf\fP za każdym razem, kiedy jest
uruchamiany. Plik ten jest podzielony na sekcje, czy też \fIrepozytoria\fP.
Każda sekcja definiuje reporzytorium, które pacman może użyć przy poszukiwaniu
pakietów funkcją --sync. Wyjątkiem jest sekcja \fIoptions\fP, która definiuje
opcje globalne.
.TP
.SH Przykład:
.RS
.nf
[options]
NoUpgrade = etc/passwd etc/group etc/shadow
NoUpgrade = etc/fstab

Include = /etc/pacman.d/current

[custom]
Server = file:///home/pkgs

.fi
.RE
.SH KONFIGURACJA: OPCJE
.TP
.B "DBPath = ścieżka/do/katalogu/bazy/danych"
Nadpisuje domyślne położenie katalogu głównego bazy danych. Domyślnie
\fIvar/lib/pacman\fP.
.TP
.B "HoldPkg = <pakiet> [pakiet] ..."
Jeżeli użytkownik próbuje usunąć pakiet (funkcja \fB--remove\fP), który jest
wymieniony w zmiennej HoldPkg, pacman zapyta wcześniej o potwierdzenie.
.TP
.B "IgnorePkg = <pakiet> [pakiet] ..."
Nakazuje pacmanowi ignorować aktualizacje wymienionych pakietów, kiedy
wykonuje się funkcja \fB--sysupgrade\fP.
.TP
.B "Include = <ścieżka>"
Dołącz inny plik konfiguracyjny. Plik ten może dodawać nowe repozytoria lub
ogólne opcje konfiguracyjne.
.TP
.B "ProxyServer = <host|ip>[:port]"
Jeżeli ustawione, pacman użyje podanego serwera proxy do wszystkich transferów
FTP i HTTP.
.TP
.B "XferCommand = /ścieżka/do/polecenia %u"
Jeżeli ustawione, pacman użyje zewnętrznego programu do pobierania wszystkich
zdalnych plików. Wszystkie występienia \fB%u\fP zostaną zastąpione przez adresy
URL, które mają być pobrane. Wszystkie wystąpienia \fB%o\fP zostaną zastąpione
przez docelowe nazwy plików wraz z rozszerzeniem ".part", co pozwoli programom
takim jak wget poprawnie wznawiać transfery.

Niniejsza opcja jest użyteczna dla użytkowników, którzy mają problemy z
wbudowaną w pacmana obsługą transferów FTP i HTTP, lub potrzebują bardziej
zaawansowanej obsługi serwerów proxy, jak tej, którą posiada wget.
.TP
.B "NoPassiveFtp"
Nie używa trybu pasywnego podczas połączeń FTP (inaczej tryb aktywny).
.TP
.B "NoUpgrade = <plik> [plik] ..."
Żaden plik wymieniony w tej zmiennej nigdy nie zostanie ruszony przy
instalacji lub aktualizacji. \fIUwaga:\fP na początku ścieżki do pliku nie
należy umieszczać znaku slash.
.TP
.B "UseSyslog"
Loguje komunikaty z użyciem funkcji syslog(). Komunikaty będą pojawiać się w
pliku /var/log/messages lub jego odpowiedniku.
.TP
.B "LogFile = /ścieżka/do/pliku"
Loguje komunikaty bezpośrednio do pliku, zazwyczaj do /var/log/pacman.log.

.SH KONFIGURACJA: REPOZYTORIA
Każda definicja repozytorium składa się z nazwy sekcji i przynajmniej jednej
lokalizacji pakietów. Nazwa sekcji to łańcuch znaków zawarty w nawiasach
kwadratowych (np. [current] lub [custom]). Lokalizacje są określone za pomocą
dyrektywy \fIServers\fP i mają postać zgodną z konwencją URL. Obecnie
obsługiwany jest tylko protokół FTP. Aby użyć lokalnego katalogu, należy podać
pełną ścieżkę poprzedzoną łańcuchem 'file://', jak w przykładzie wyżej.
.SH UŻYCIE WŁASNEGO REPOZYTORIUM
Załóżmy, że w katalogu \fI/home/pkgs\fP znajdują się pakiety, a odpowiadające
im pliki PKGBUILD położone są w katalogu \fI/var/abs/local\fP. Wystarczy
wygenerować skompresowany indeks tych pakietów i zachować go w katalogu
\fI/home/pkgs\fP, aby pacman mógł go znaleść w trakcie operacji --refresh.

.RS
.nf
# gensync /var/abs/local /home/pkgs/custom.db.tar.gz
.fi
.RE

Powyższe polecnie odczyta wszystkie pliki PKGBUILD znajdujące się w katalogu
/var/abs/local i wygeneruje ich spis jako plik /home/pkgs/custom.db.tar.gz.
Należy zauważyć, że nazwa tego pliku mysi mieć postać
\fI{nazwadrzewa}.db.tar.gz\fP, gdzie {nazwadrzewa} jest nazwą sekcji
zdefiniowanej w pliku konfiguracyjnym, w tym przypadku \fIcustom\fP, jak w
przykładzie wyżej. Odtąd pacman będzie używał lokalne repozytorium pakietów.
Po dodaniu nowych pakietów do repozytorium nie należy zapomnieć o ponownym
wygenerowaniu indeksu oraz uruchomienia pacmana z opcją --refresh.
.SH ZOBACZ TAKŻE
\fBmakepkg\fP jest narzędziem służącym do budowania pakietów i jest dołączone
do pacmana.
.SH AUTOR
.nf
Judd Vinet <jvinet@zeroflux.org>
.fi
.SH TŁUMACZENIE
.nf
Jarosław Świerczyński <swiergot@juvepoland.com>
.fi
