https://wiki.archlinux.org/api.php?action=feedcontributions&user=Maciex&feedformat=atomArchWiki - User contributions [en]2024-03-29T11:51:06ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=574399Pacman (Polski)2019-06-01T10:53:12Z<p>Maciex: /* Wstęp */ literówka</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponadto ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Powód instalacji pakietu===<br />
<br />
Baza danych pacmana dzieli zainstalowane pakiety wg powodu/przyczyny (''reason''), dla jakiego zostały zainstalowane:<br />
* '''explicite zainstalowane''' (''explicitly-installed''): pakiety, które bezpośrednio zostały zainstalowane komendą <code>pacman -S</code> albo <code>-U</code>;<br />
* '''zależności''': pakiety, które chociaż nie zostały bezpośrednio zainstalowane ww. komendą, to zostały implicite zainstalowane, bo były wymagane przez inny pakiet, który był instalowany bezpośrednio. <br />
<br />
Jeżeli chcemy explicite instalowany pakiet zainstalować jako pakiet zależny, możemy wymusić to komendą:<br />
# pacman -S --asdeps ''nazwa_pakietu''<br />
<br />
{{Tip|Instalowanie opcjonalnych dependencji z użyciem {{ic|-–asdeps}} skutkuje tym, że w sytuacji, gdy będziemy usuwać osierocone pakiety, pacman usunie też takie pozostawione opcjonalne zależności.}} <br />
W czasie reinstalacji pakietu, domyślnie powód instalacji pakietu pozostaje niezmieniony. <br />
Listę explicite zainstalowanych pakietów możemy zobaczyć stosując<br />
{{ic|pacman -Qe}}, listę pakietów oznaczonych jako zależności:<br />
{{ic|pacman -Qd}}. Zmiana ustawień celu instalacji jest możliwa po zastosowaniu:<br />
# pacman -D –-asdeps ''nazwa_pakietu''<br />
# pacman -D --asexplicit ''nazwa_pakietu''<br />
{{Note|Odradza się używanie {{ic|–-asdeps}} i {{ic|–-asexplicit}} razem z upgradem, np. <code>pacman -Syu ''nazwa_pakietu'' -–asdeps</code>. To zmieni ustawienia powodu nie tylko dla instalowanego pakietu, ale także dla tych upgradowanych.}}<br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg|pacman-contrib}} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. <br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== Archiwa Archa ====<br />
<br />
Jeżeli nie znalazłeś starszej wersji pakietu w systemie, możesz skorzystać z dostępnych archiwów.<br />
<br />
=====Arch Linux Archive=====<br />
<br />
[https://archive.archlinux.org/ Arch Linux Archive (ALA)], znane wcześniej pod nazwą Arch Linux Rollback Machine (ARM), przechowuje oficjalne snapshoty repozytoriów, obrazy iso i pliki tarball.<br />
Może zostać wykorzystane do:<br />
* Downgrade do poprzedniej wersji pakietu (np. kiedy najnowsza nie działa poprawnie);<br />
* Odtworzenia wszystkich pakietów w stanie z pewnego konkretnego momentu (np. kiedy system nie działa, chcę wrócić do stanu sprzed dwóch miesięcy);<br />
* Znalezienie poprzedniej wersji obrazu ISO.<br />
<br />
=====Arch Linux Historical Archive=====<br />
Co jakiś czas stare pakiety są usuwane z bieżącego archiwum ALA i przesuwane do [https://archive.org/details/archlinuxarchive dedykowanego archiwum w serwisie archive.org]. <br />
<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=574398Pacman (Polski)2019-06-01T10:51:42Z<p>Maciex: /* Inne użycie */ ta informacja jest wyżej w osobnej sekcji</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Powód instalacji pakietu===<br />
<br />
Baza danych pacmana dzieli zainstalowane pakiety wg powodu/przyczyny (''reason''), dla jakiego zostały zainstalowane:<br />
* '''explicite zainstalowane''' (''explicitly-installed''): pakiety, które bezpośrednio zostały zainstalowane komendą <code>pacman -S</code> albo <code>-U</code>;<br />
* '''zależności''': pakiety, które chociaż nie zostały bezpośrednio zainstalowane ww. komendą, to zostały implicite zainstalowane, bo były wymagane przez inny pakiet, który był instalowany bezpośrednio. <br />
<br />
Jeżeli chcemy explicite instalowany pakiet zainstalować jako pakiet zależny, możemy wymusić to komendą:<br />
# pacman -S --asdeps ''nazwa_pakietu''<br />
<br />
{{Tip|Instalowanie opcjonalnych dependencji z użyciem {{ic|-–asdeps}} skutkuje tym, że w sytuacji, gdy będziemy usuwać osierocone pakiety, pacman usunie też takie pozostawione opcjonalne zależności.}} <br />
W czasie reinstalacji pakietu, domyślnie powód instalacji pakietu pozostaje niezmieniony. <br />
Listę explicite zainstalowanych pakietów możemy zobaczyć stosując<br />
{{ic|pacman -Qe}}, listę pakietów oznaczonych jako zależności:<br />
{{ic|pacman -Qd}}. Zmiana ustawień celu instalacji jest możliwa po zastosowaniu:<br />
# pacman -D –-asdeps ''nazwa_pakietu''<br />
# pacman -D --asexplicit ''nazwa_pakietu''<br />
{{Note|Odradza się używanie {{ic|–-asdeps}} i {{ic|–-asexplicit}} razem z upgradem, np. <code>pacman -Syu ''nazwa_pakietu'' -–asdeps</code>. To zmieni ustawienia powodu nie tylko dla instalowanego pakietu, ale także dla tych upgradowanych.}}<br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg|pacman-contrib}} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. <br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== Archiwa Archa ====<br />
<br />
Jeżeli nie znalazłeś starszej wersji pakietu w systemie, możesz skorzystać z dostępnych archiwów.<br />
<br />
=====Arch Linux Archive=====<br />
<br />
[https://archive.archlinux.org/ Arch Linux Archive (ALA)], znane wcześniej pod nazwą Arch Linux Rollback Machine (ARM), przechowuje oficjalne snapshoty repozytoriów, obrazy iso i pliki tarball.<br />
Może zostać wykorzystane do:<br />
* Downgrade do poprzedniej wersji pakietu (np. kiedy najnowsza nie działa poprawnie);<br />
* Odtworzenia wszystkich pakietów w stanie z pewnego konkretnego momentu (np. kiedy system nie działa, chcę wrócić do stanu sprzed dwóch miesięcy);<br />
* Znalezienie poprzedniej wersji obrazu ISO.<br />
<br />
=====Arch Linux Historical Archive=====<br />
Co jakiś czas stare pakiety są usuwane z bieżącego archiwum ALA i przesuwane do [https://archive.org/details/archlinuxarchive dedykowanego archiwum w serwisie archive.org]. <br />
<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=574397Pacman (Polski)2019-06-01T10:47:54Z<p>Maciex: /* Downgrade pakietów */ uzupełnienie tłumaczenia i poprawka</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Powód instalacji pakietu===<br />
<br />
Baza danych pacmana dzieli zainstalowane pakiety wg powodu/przyczyny (''reason''), dla jakiego zostały zainstalowane:<br />
* '''explicite zainstalowane''' (''explicitly-installed''): pakiety, które bezpośrednio zostały zainstalowane komendą <code>pacman -S</code> albo <code>-U</code>;<br />
* '''zależności''': pakiety, które chociaż nie zostały bezpośrednio zainstalowane ww. komendą, to zostały implicite zainstalowane, bo były wymagane przez inny pakiet, który był instalowany bezpośrednio. <br />
<br />
Jeżeli chcemy explicite instalowany pakiet zainstalować jako pakiet zależny, możemy wymusić to komendą:<br />
# pacman -S --asdeps ''nazwa_pakietu''<br />
<br />
{{Tip|Instalowanie opcjonalnych dependencji z użyciem {{ic|-–asdeps}} skutkuje tym, że w sytuacji, gdy będziemy usuwać osierocone pakiety, pacman usunie też takie pozostawione opcjonalne zależności.}} <br />
W czasie reinstalacji pakietu, domyślnie powód instalacji pakietu pozostaje niezmieniony. <br />
Listę explicite zainstalowanych pakietów możemy zobaczyć stosując<br />
{{ic|pacman -Qe}}, listę pakietów oznaczonych jako zależności:<br />
{{ic|pacman -Qd}}. Zmiana ustawień celu instalacji jest możliwa po zastosowaniu:<br />
# pacman -D –-asdeps ''nazwa_pakietu''<br />
# pacman -D --asexplicit ''nazwa_pakietu''<br />
{{Note|Odradza się używanie {{ic|–-asdeps}} i {{ic|–-asexplicit}} razem z upgradem, np. <code>pacman -Syu ''nazwa_pakietu'' -–asdeps</code>. To zmieni ustawienia powodu nie tylko dla instalowanego pakietu, ale także dla tych upgradowanych.}}<br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg|pacman-contrib}} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. <br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== Archiwa Archa ====<br />
<br />
Jeżeli nie znalazłeś starszej wersji pakietu w systemie, możesz skorzystać z dostępnych archiwów.<br />
<br />
=====Arch Linux Archive=====<br />
<br />
[https://archive.archlinux.org/ Arch Linux Archive (ALA)], znane wcześniej pod nazwą Arch Linux Rollback Machine (ARM), przechowuje oficjalne snapshoty repozytoriów, obrazy iso i pliki tarball.<br />
Może zostać wykorzystane do:<br />
* Downgrade do poprzedniej wersji pakietu (np. kiedy najnowsza nie działa poprawnie);<br />
* Odtworzenia wszystkich pakietów w stanie z pewnego konkretnego momentu (np. kiedy system nie działa, chcę wrócić do stanu sprzed dwóch miesięcy);<br />
* Znalezienie poprzedniej wersji obrazu ISO.<br />
<br />
=====Arch Linux Historical Archive=====<br />
Co jakiś czas stare pakiety są usuwane z bieżącego archiwum ALA i przesuwane do [https://archive.org/details/archlinuxarchive dedykowanego archiwum w serwisie archive.org]. <br />
<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=574385Pacman (Polski)2019-05-31T21:48:03Z<p>Maciex: /* Cel instalacji pakietu */ poprawka stylistyczna</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Powód instalacji pakietu===<br />
<br />
Baza danych pacmana dzieli zainstalowane pakiety wg powodu/przyczyny (''reason''), dla jakiego zostały zainstalowane:<br />
* '''explicite zainstalowane''' (''explicitly-installed''): pakiety, które bezpośrednio zostały zainstalowane komendą <code>pacman -S</code> albo <code>-U</code>;<br />
* '''zależności''': pakiety, które chociaż nie zostały bezpośrednio zainstalowane ww. komendą, to zostały implicite zainstalowane, bo były wymagane przez inny pakiet, który był instalowany bezpośrednio. <br />
<br />
Jeżeli chcemy explicite instalowany pakiet zainstalować jako pakiet zależny, możemy wymusić to komendą:<br />
# pacman -S --asdeps ''nazwa_pakietu''<br />
<br />
{{Tip|Instalowanie opcjonalnych dependencji z użyciem {{ic|-–asdeps}} skutkuje tym, że w sytuacji, gdy będziemy usuwać osierocone pakiety, pacman usunie też takie pozostawione opcjonalne zależności.}} <br />
W czasie reinstalacji pakietu, domyślnie powód instalacji pakietu pozostaje niezmieniony. <br />
Listę explicite zainstalowanych pakietów możemy zobaczyć stosując<br />
{{ic|pacman -Qe}}, listę pakietów oznaczonych jako zależności:<br />
{{ic|pacman -Qd}}. Zmiana ustawień celu instalacji jest możliwa po zastosowaniu:<br />
# pacman -D –-asdeps ''nazwa_pakietu''<br />
# pacman -D --asexplicit ''nazwa_pakietu''<br />
{{Note|Odradza się używanie {{ic|–-asdeps}} i {{ic|–-asexplicit}} razem z upgradem, np. <code>pacman -Syu ''nazwa_pakietu'' -–asdeps</code>. To zmieni ustawienia powodu nie tylko dla instalowanego pakietu, ale także dla tych upgradowanych.}}<br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg|pacman-contrib}} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=574265Pacman (Polski)2019-05-29T18:12:46Z<p>Maciex: uzupełnienie tłumaczenia</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Cel instalacji pakietu===<br />
<br />
Baza danych pacmana dzieli zainstalowane pakiety wg celu (''reason''), dla jakiego zostały zainstalowane:<br />
* '''explicite zainstalowane''' (''explicitly-installed''): pakiety, które bezpośrednio zostały zainstalowane komendą <code>pacman -S</code> albo <code>-U</code>;<br />
* '''zależności''': pakiety, które chociaż nie zostały bezpośrednio zainstalowane ww. komendą, to zostały implicite zainstalowane, bo były wymagane przez inny pakiet, który był instalowany bezpośrednio. <br />
<br />
Jeżeli chcemy explicite instalowany pakiet zainstalować jako pakiet zależny, możemy wymusić to komendą:<br />
# pacman -S --asdeps ''nazwa_pakietu''<br />
<br />
{{Tip|Instalowanie opcjonalnych dependencji z użyciem {{ic|-–asdeps}} skutkuje tym, że w sytuacji, gdy będziemy usuwać osierocone pakiety, pacman usunie też takie pozostawione opcjonalne zależności.}} <br />
W czasie reinstalacji pakietu, domyślnie cel instalacji pakietu pozostaje niezmieniony. <br />
Listę explicite zainstalowanych pakietów możemy zobaczyć stosując<br />
{{ic|pacman -Qe}}, listę pakietów oznaczonych jako zależności:<br />
{{ic|pacman -Qd}}. Zmiana ustawień celu instalacji jest możliwa po zastosowaniu:<br />
# pacman -D –-asdeps ''nazwa_pakietu''<br />
# pacman -D --asexplicit ''nazwa_pakietu''<br />
{{Note|Odradza się używanie {{ic|–-asdeps}} i {{ic|–-asexplicit}} razem z upgradem, np. <code>pacman -Syu ''nazwa_pakietu'' -–asdeps</code>. To zmieni ustawienia celu nie tylko dla instalowanego pakietu, ale także dla tych upgradowanych.}} <br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg|pacman-contrib}} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573733Pacman (Polski)2019-05-23T10:25:35Z<p>Maciex: update, uzupełnienie wg angielskiej wersji</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
===Czyszczenie cache===<br />
<br />
Pacman przechowuje ściągnięte pakiety w katalogu <code> /var/cache/pacman/pkg </code> i nie usuwa automatycznie odinstalowanych wersji. Dzięki temu można: <br />
# Przeprowadzić downgrade pakietu (powrót do starszych wersji, jeżeli zajdzie taka potrzeba), bez konieczności szukania poprzednich wersji w repozytoriach takich jak np. Arch Linux Archive.<br />
# Przy ponownej instalacji raz ściągniętego i odinstalowanego pakietu nie trzeba go ponownie ściągać. <br />
Konieczne jest jednak okresowe czyszczenie cache'a, tak żeby jego rozmiar nie urósł nadmiernie. <br />
Skrypt ''paccache'' z pakietu {{Pkg | pacman-contrib }} usuwa starsze wersje pakietów poza (domyślnie) trzema ostatnimi. <br />
# paccache –r<br />
Pacman ma też swoje własne ''build-in'' narzędzia do czyszczenia cache’a i plików z repozytoriów, które nie są już wymienione w <code> /etc/pacman.conf </code> . Pacman nie ma jednak opcji pozostawienia pewnej ilości starszych wersji. Jego działanie jest agresywniejsze niż ''paccache''. <br />
Żeby usunąć wszystkie pakiety, które nie są aktualnie zainstalowane razem z nieużywanymi plikami sync database:<br />
# pacman –Sc <br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Talk:Pacman_(Polski)&diff=573671Talk:Pacman (Polski)2019-05-22T14:09:44Z<p>Maciex: /* ARM */ new section</p>
<hr />
<div>== Pacman a AUR ==<br />
<br />
Proponuję rozdzielić artykuł o pacmanie od nakładek dostarczających obsługę AUR, w końcu od tego jest [[Arch User Repository (Polski)]]<br />
--[[User:Barthalion|Bartek &quot;Barthalion&quot; Piotrowski]] 03:08, 3 June 2010 (EDT)<br />
<br />
== ARM ==<br />
<br />
Za dużo się nie dzieje w temacie tłumaczeń, niemniej: proponuje usunąć fragment o ARM - nieaktualny + przydałoby się osobne hasło o archiwum.</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573666Pacman (Polski)2019-05-22T13:20:31Z<p>Maciex: minor style corrections</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych (tzw. sieroty):<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodów do dezaktualizacji pakietu dostarczyć mogą m.in. błędy w aktualnej wersji pakietu lub brak oczekiwanej funkcjonalności. Korzysta się z tej opcji także wtedy, gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573665Pacman (Polski)2019-05-22T13:09:43Z<p>Maciex: /* Użycie */ spelling</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerów pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573664Pacman (Polski)2019-05-22T12:28:57Z<p>Maciex: /* Usuwanie pakietów */ updated translation</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerow pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Note | Domyślnie usuwając aplikację pacman zapisuje ważne pliki konfiguracyjne z rozszerzeniem ''pacsave''. Opcja <code>-n</code> zapobiega tworzeniu takich plików, ale nie ma wpływu na pliki konfiguracyjne, które tworzą niektóre programy (np. jako dotfiles w katalogu home).}}<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i wszystkimi pakietami, które zależą od usuwanego pakietu: <br />
# pacman -Rsc <br />
<br />
{{Warning | Rekursywna operacja, która może usunąć wiele potencjalnie potrzebnych innym aplikacjom pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573663Pacman (Polski)2019-05-22T12:15:23Z<p>Maciex: /* Usuwanie pakietów */ update</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerow pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
{{Warning | Rekursywna operacja, która moze usunac wiele potencjalnie potrzebnych pakietów. }}<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573659Pacman (Polski)2019-05-22T09:39:27Z<p>Maciex: update</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerow pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
{{Warning|Zaleca sie używanie tych parametrów zawsze razem, żeby uniknać prób aktualizowania systemu w oparciu o nieaktualną listę pakietów. Może to prowadzić m.in. do problemów z zależnościami. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium. }}<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
Żeby zainstalować kilka pakietów, które mają cześć nazwy taką samą:<br />
# pacman -S plasma-{desktop,mediacenter,nm}<br />
# pacman -S plasma-{workspace{,-wallpapers},pa}</code><br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573657Pacman (Polski)2019-05-22T09:00:23Z<p>Maciex: update</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
<br />
== Użycie ==<br />
<br />
Pełna lista operacji, które można przeprowadzać z użyciem Pacmana: {{man|8|pacman}}. <br />
<br />
{{Tip| Użyteczna ściągawka dla tych, którzy przyzwyczaili się do menadżerow pakietow z innych dystrybucji [[Pacman Rosetta]].}}<br />
<br />
=== Aktualizacja systemu ===<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
Zaleca sie używanie tych parametrów razem, żeby uniknać sytuacji próby aktualizacji systemu w oparciu o nieaktualną listę pakietów. Podobnie przed każdą instalacją pakietu dobrze jest zsynchronizować lokalną bazę z repozytorium.<br />
<br />
=== Instalacja pakietów ===<br />
<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
<br />
=== Usuwanie pakietów ===<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
<br />
=== Zapytania do bazy danych ===<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
=== Downgrade pakietów ===<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
==== ARM ====<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
=== Inne użycie ===<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Pacman_(Polski)&diff=573652Pacman (Polski)2019-05-22T08:15:26Z<p>Maciex: /* Wstęp */ update and linguistic correction</p>
<hr />
<div>[[Category:Package management (Polski)]]<br />
[[Category:Utilities (Polski)]]<br />
[[Category:Polski]]<br />
[[ar:Pacman]]<br />
[[cs:Pacman]]<br />
[[da:Pacman]]<br />
[[de:Pacman]]<br />
[[el:Pacman]]<br />
[[en:Pacman]]<br />
[[es:Pacman]]<br />
[[fa:Pacman]]<br />
[[fr:Pacman]]<br />
[[id:Pacman]]<br />
[[it:Pacman]]<br />
[[ja:Pacman]]<br />
[[ko:Pacman]]<br />
[[nl:Pacman]]<br />
[[pt:Pacman]]<br />
[[ru:Pacman]]<br />
[[sr:Pacman]]<br />
[[sv:Pacman]]<br />
[[zh-hans:Pacman]]<br />
[[zh-hant:Pacman]]<br />
{{Translateme|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Wstęp ==<br />
Menedżer pakietów Pacman to jedna z wyróżniających cech Arch Linuksa. Łączy w sobie prosty format pakietów binarnych z łatwym w użyciu [[Arch Build System (Polski)|ABS]]. Pacman umożliwia łatwe zarządzanie i dostosowywanie pakietów, zarówno tych z oficjalnego repozytorium Archa, jak i tych z repozytorium tworzonego przez użytkowników - [[Arch User Repository (Polski)|AUR]]. <br />
<br />
Pacman pozwala na utrzymanie aktualności systemu przez synchronizację listy pakietów z głównym serwerem, powodując tym samym, że utrzymanie systemu dla znającego się na bezpieczeństwie administratora jest trywialne. Poza tym pozwala na ściągnięcie/zainstalowanie kompletnego pakietu z zależnościami prostym poleceniem.<br />
<br />
Pacman jest zarówno menedżerem pakietów binarnych, jak i źródłowych. To połączenie pomysłów z Gentoo, Debiana i Slackware, stworzone, by być jednym z najbardziej rozbudowanych menedżerów pakietów, który jednocześnie pozostaje łatwy w użyciu. Pacman potrafi pobierać, instalować i uaktualniać pakiety ze zdalnych oraz lokalnych repozytoriów, z pełną obsługą zależności. Ponad to ma łatwe do opanowania narzędzia do tworzenia własnych pakietów. Napisany w C, wykorzystujący format [https://pl.wikipedia.org/wiki/Tar_(informatyka) tar].<br />
<br />
== Instalacja pakietów ==<br />
Przed instalacją i aktualizacją pakietów dobrze jest zsynchronizować lokalną bazę pakietów z repozytorium:<br />
# pacman -Syu<br />
Aby zainstalować/zaktualizować jeden bądź kilka pakietów (razem z zależnościami), użyj następującej komendy:<br />
# pacman -S nazwa_pakietu1 nazwa_pakietu2<br />
Czasem jest więcej niż jedna wersja pakietu w różnych repozytoriach (np. extra i testing). Możesz określić, którą chcesz zainstalować:<br />
# pacman -S extra/nazwa_pakietu<br />
# pacman -S testing/nazwa_pakietu<br />
<br />
== Usuwanie pakietów ==<br />
Aby usunąć pojedynczy pakiet, zostawiając wszystkie jego zależności:<br />
# pacman -R nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami, które nie są wymagane przez inne pakiety:<br />
# pacman -Rs nazwa_pakietu<br />
Żeby usunąć pakiet wraz z wszystkimi zależnościami i konfiguracją:<br />
# pacman -Rns nazwa_pakietu<br />
<br />
== Aktualizacja systemu ==<br />
<br />
Możesz zsynchronizować bazę pakietów oraz zaktualizować swój system wykorzystując łączenie parametrów:<br />
<br />
# pacman -Syu<br />
<br />
== Zapytania do bazy danych ==<br />
Pacman potrafi przeszukiwać bazę pakietów dla podanego słowa kluczowego. Możesz wpisać część nazwy pakietu, a wyświetlą się wszystkie pakiety, które zawierają podany ciąg znaków.<br />
Aby odszukac pakiet w repozytoriach:<br />
# pacman -Ss nazwa_pakietu<br />
Jeśli znasz nazwę pakietu, którego szukasz, możesz wyświetlić o nim informacje:<br />
# pacman -Si nazwa_pakietu<br />
Możesz wyświetlić listę pakietów w danym repozytorium:<br />
# pacman -Sl nazwa_repozytorium<br />
Tak wyświetlisz grupy pakietów (np. gnome):<br />
# pacman -Sg<br />
Tak zaś wyświetlisz pakiety należące do danej grupy:<br />
# pacman -Sg nazwa_grupy<br />
Aby odszukac pakiet tylko wśród zainstalowanych:<br />
# pacman -Qs nazwa_pakietu<br />
Jeśli znasz nazwę zainstalowanego pakietu, możesz wyświetlić o nim informacje:<br />
# pacman -Qi nazwa_pakietu<br />
Aby sprawdzić, które pakiety przestały być zależnościami innych:<br />
# pacman -Qdt<br />
<br />
== Inne użycie ==<br />
Pacman jest rozbudowanym narzędziem, dlatego daje ci jeszcze inne możliwości.<br />
<br />
Pobranie pakietu bez instalowania go:<br />
# pacman -Sw nazwa_pakietu<br />
Instalowanie pakietu, który jest na dysku (już pobrany):<br />
# pacman -U /ścieżka/do/pakietu/nazwa_pakietu.pkg.tar.gz<br />
Czyszczenie pamięci podręcznej pacmana ({{ic|/var/cache/pacman/pkg}}):<br />
# pacman -Scc<br />
<br />
== Downgrade pakietów ==<br />
Powodami do dezaktualizacji (wśród wielu innych) okazać się mogą błędy w aktualnej wersji pakietu czy brak funkcjonalności, a także gdy pakiet został zainstalowany eksperymentalnie. Niezależnie od przyczyny, użytkownik zazwyczaj woli wrócić do starszej wersji niż czekać na nową, poprawioną - zajmuje to mniej czasu i jest teoretycznie mniej kłopotliwe.<br />
<br />
Dezaktualizacja jednego pakietu w myśl zależności może "pociągnąć" ich więcej. Przykładowo, gdy zainstalowałeś dużą ilość eksperymentalnych i testowych paczek i wyedytowałeś sporą część plików konfiguracyjnych, może być prościej zainstalować system od nowa niż próbować dezaktualizację.<br />
<br />
Tak czy inaczej, musisz pamiętać o kilku sprawach:<br />
* Po pierwsze, możliwe, że będziesz musiał zdezaktualizować więcej niż 1 lub 2 pakiety. Wymagane biblioteki często zmieniają się z wersją programu i ich funkcjonalność może różnić się w stosunku do poprzedniej wersji.<br />
* Po drugie, musisz sprawdzić, czy potrzebne pliki zostały usunięte z systemu i jeśli tak, czy możesz je pobrać z innego źródła. Repozytoria Archa są aktualizowane bez pozostawiania poprzednich wersji.<br />
* Po trzecie, musisz być ostrożny ze zmianami w plikach konfiguracyjnych oraz skryptami. Na chwilę obecną będziemy polegać na Pacmanie, dopóki nie będziemy musieli ominąć pewnych zabezpieczeń, włącznie z nadpisywaniem plików.<br />
<br />
Wiedz, że te problemy są jednymi z najważniejszych punktów na liście do zrobienia Deweloperów Pacmana. Koncepcja Arch Rolback Machine będzie rozwijana i wciąż czekamy na włączenie tego mechanizmu do menedżera pakietów. Kiedy to nastąpi, całość będzie zautomatyzowana, lecz do tej pory, kieruj się poniższymi instrukcjami.<br />
<br />
Pierwsze miejsce, do którego powinieneś się udać w poszukiwaniu poprzedniej wersji pakietu jest {{ic|/var/cache/pacman/pkg}} na Twoim komputerze i sprawdzenie, czy został tam zachowany. Warunek jest tylko jeden - jeżeli nie wyczyściłeś pamięci podręcznej Pacmana (<code>pacman -Scc</code>). Jeśli go znalazłeś, zainstaluj go za pomocąpolecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
Upewnij się, że jest to starsza wersja, a nie ta obecna w systemie. Polecenie usunie zainstalowany pakiet i zastąpi go tym wskazanym przez Ciebie. Nie przywróci automatycznie starych wersji zależności - musisz to zrobić ręcznie przed samym programem. Możesz także zignorować wymagane wersje bibliotek za pomocą przełącznika <code>d</code>. Na przykład:<br />
# pacman -Ud nazwa_pakietu-starsza_wersja.pkg.tar.xz<br />
Jednak, prawdopodobnie wpłynie to negatywnie na stabilność systemu.<br />
<br />
Jeśli nie znalazłeś starszej wersji w swoim systemie, sprawdź nieaktualne serwery. Możesz sprawdzić konkretnie które to są ze [https://www.archlinux.de/?page=MirrorStatus;orderby=syncdelay;sort=1 strony monitorującej stan serwerów]. Możesz także sprawdzić jeden z poniższych (Stan na dzień 2 czerwca 2010 roku.)<br />
* [http://mirrors.sohu.com/archlinux/ mirrors.sohu.com]<br />
* [http://archlinux.umflint.edu/ archlinux.umflint.edu]<br />
* [http://schlunix.org/?page_id=11 schlunix.org]<br />
<br />
Gdy już poosiadasz wybraną wersję pakietu, możesz już usunąć najnowszą wersję pakietu X za pomocą polecenia<br />
# pacman -Rd nazwa_pakietu<br />
a następnie zainstalać starszą paczkę używając polecenia:<br />
# pacman -U nazwa_pakietu.pkg.tar.xz<br />
<br />
'''ARM'''<br />
<br />
[http://arm.konnichi.com/ Arch Rollback Machine] (ARM) przechowuje stare wersje pakietów na bieżąco od listopada 2009 roku. Działa również na zasadzie repozytorium, lecz z podawaniem konkretnej daty. Jeśli jesteś ciekaw, czy znajdziesz tam odpowiednią wersję programów, możesz użyć [http://arm.konnichi.com/search/ wyszukiwarki].<br />
<br />
Budowa nie powinna nikomu sprawić problemu:<br />
Server=http://arm.konnichi.com/rok/miesiąc/dzień/repozytorium/os/architektura-procesora<br />
* repozytorium - core/extra/community/testing/community-testing<br />
* architektura-procesora - i686/x86_64<br />
Kiedy już przygotujesz odpowiedni wpis, umieść go w odpowiedniej sekcji pliku <code>/etc/pacman.conf</code>, na przykład:<br />
{{hc|/etc/pacman.conf|2=<br />
[core]<br />
Server=http://arm.konnichi.com/2010/04/28/core/os/x86_64<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
Wpis musi być koniecznie umiejscowiony między nazwą repozytorium, a zewnętrzną listą serwerów lustrzanych. Następnie zsynchronizuj bazę dostępnych pakietów za pomocą ponizszego polecenia i zdezaktualizuj wybrany pakiet.<br />
# pacman -Syyu<br />
<br />
''' Rekompilacja pakietu '''<br />
<br />
W najgorszym przypadku, jeśli nie znajdziesz nigdzie swojego pakietu, będziesz musiał skompilować starszą wersję samodzielnie. Będziesz potrzebował pliku PKGBUILD pakietu. Możesz go stworzyć samodzielnie, edytować dostarczony przez [[Arch Build System (Polski)|ABS]] lub poszukać go [https://www.archlinux.org/packages/ tutaj].<br />
<br />
== Konfiguracja Pacmana ==<br />
Plik konfiguracyjny pacmana to {{ic|/etc/pacman.conf}}. Są tam dwie główne sekcje:<br />
<br />
=== Podstawowe opcje ===<br />
Podstawowe opcje Pacmana są w sekcji [options].<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[options]<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
LogFile = /var/log/pacman.log # Ściezka do pliku z logami Pacmana.<br />
HoldPkg = pacman glibc<br />
SyncFirst = pacman # Określasz, jakie pakiety sa najpierw aktualizowane.<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # Określasz, z jakiego menedżera pobierania plików będzie korzystał Pacman<br />
IgnorePkg = nazwa_pakietu # Określasz, które pakiety nie powinny być aktualizowane.<br />
IgnoreGroup = nazwa_grupy # Określasz, które grupy pakietów nie powinny być aktualizowane.<br />
#NoUpgrade =<br />
#NoExtract =<br />
#NoPassiveFtp<br />
#UseSyslog<br />
ShowSize # Opcja pokazuje sumę MB do ściągnięcia.<br />
#UseDelta<br />
#TotalDownload<br />
}}<br />
<br />
=== Repozytoria ===<br />
Repozytorium to umieszczony na dowolnym serwerze zbiór pakietów, które można pobrać i zainstalować za pomocą Pacmana. Twórcy dystrybucji utrzymują zbiór oficjalnych repozytoriów skopiowanych dodatkowo w szeregu mirrorów (także w Polsce), jednak każdy może utworzyć własne. <br />
<br />
Aby zacząć korzystać z repozytorium, należy dodać odpowiedni wpis do pliku {{ic|/etc/pacman.conf}}.<br />
Natomiast lista serwerów, wykorzystywanych przy oficjalnych repozytoriach, znajduje się w {{ic|/etc/pacman.d/mirrorlist}}. Spis wszystkich serwerów można znaleźć na stronie [https://www.archlinux.de/?page=MirrorStatus MirrorStatus]. Dodatkowo możliwe jest posegregowanie listy serwerów od najszybszego do najwolniejszego.<br />
Wpierw wchodzimy do {{ic|/etc/pacman.d}}, a następnie wybieramy plik z listą serwerów:<br />
# rankmirrors mirrorlist<br />
W tym wypadku posegreguje nam listę mirrorów. Po zakończeniu całego procesu program pokaże nam w konsoli posegregowaną listę repozytoriów, którą na przykład możemy zapisać do pliku {{ic|/etc/pacman.d/mirrorlist-rankmirrors}}. Zostaje nam tylko zmiana w {{ic|/etc/pacman.conf}} wierszy:<br />
Include = /etc/pacman.d/mirrorlist<br />
na<br />
Include = /etc/pacman.d/mirrorlist-rankmirrors<br />
i możemy cieszyć się szybkimi (albo i nie) mirrorami.<br />
<br />
Lista mirrorów znajduje się w pakiecie {{Pkg|pacman-mirrorlist}}. <br />
# pacman -S --force pacman-mirrorlist<br />
<br />
Oficjalne repozytoria:<br />
* [core]<br />
Repozytorium [core] można znaleźć w <code>.../core/os/i686</code> lub <code>.../core/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono podstawowe paczki Archa i kilka dodatkowych niezbędnych programów, jak edytor tekstu czy program ładujący.<br />
* [extra]<br />
Repozytorium [extra] można znaleźć w <code>.../extra/os/i686</code> bądź <code>.../extra/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono wszystkie paczki nie znajdujące się w core, gdyż nie są potrzebne do podstawowego uruchomienia systemu. Przykładowo można tutaj znaleźć paczki z GNOME i KDE.<br />
* [community]<br />
Repozytorium [community] można znaleźć w <code>.../community/os/i686</code> lub <code>.../community/os/x86_64</code> na dowolnym mirrorze Archa. Jest ono zarządzane przez TU - Zaufanych użytkowników i jest częścią AUR. Zawiera paczki będące częścią AUR, które mają dużą ilość głosów i zostały zaakceptowane przez TU.<br />
* [community-testing]<br />
Repozytorium [community-testing] można znaleźć w <code>.../community-testing/os/i686</code> lub <code>.../community-testing/os/x86_64</code> na dowolnym mirrorze Archa. <br />
Tu znajdują się testowe pakiety, które po pewnym czasie powinny trafić do repozytorium [community]. Niezalecane początkującym.<br />
* [testing]<br />
Repozytorium [testing] można znaleźć w <code>.../testing/os/i686</code> lub <code>.../testing/os/x86_64</code> na dowolnym mirrorze Archa. Zawiera ono paczki które kandydują do repozytoriów [core] bądź [extra]. Używając [testing] można napotkać się z konfliktami nazw pakietów. Jeśli zamierzasz je uaktywnić, musi być ono jako pierwsze repozytorium w {{ic|/etc/pacman.conf}}. Bądź ostrożny. Twój system może ulec awarii po aktualizacji systemu z włączonym tym właśnie repozytorium. Tylko doświadczeni użytkownicy powinni go używać.<br />
* [gnome-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska GNOME. Niezalecane początkującym.<br />
* [kde-unstable]<br />
Testowe, teoretycznie niestabilne pakiety dla środowiska KDE. Niezalecane początkującym.<br />
<br />
=== Optymalizacja Pacmana ===<br />
<br />
'''Baza danych'''<br />
<br />
Pacman trzyma wszystkie informacje o pakietach w małych plikach, po jednym na pakiet. Przyśpieszenie bazy danych znacznie redukuje czas - przykładowo przeszukiwania lub rozwiązywania zależności. Najbezpieczniejszą i najprostszą metodą jest wykonanie poleceniea:<br />
# pacman-optimize && sync<br />
<br />
'''Prędkość pobierania pakietów'''<br />
<br />
Prędkość pobierania pakietów może być większa dzięki używaniu niestandardowych menedżerów pobierania. Domyślnie Pacman korzysta z własnego i wbudowanego, jednak nic nie stoi na przeszkodzie, by go zastąpić innym programem.<br />
<br />
* wget<br />
# pacman -S wget<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/wget -c --passive-ftp -c %u<br />
}}<br />
<br />
* aria2<br />
Jest to menedżer pobierania obsługujący wstrzymywanie i pobieranie segmentowe. Segmentowe znaczy, że tworzy kilka połączeń z serwerem (lub kilkoma) w tym samym czasie,czego efektem jest krótszy czas pobrania pakietu.<br />
# pacman -S aria2<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/aria2c –no-conf -c -s 2 -m 2 -d / -o %o %u<br />
}}<br />
<br />
* snarf<br />
# pacman -S snarf<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/snarf -N %u<br />
}}<br />
<br />
* lftp<br />
# pacman -S lftp<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/lftp -c pget %u<br />
}}<br />
<br />
* axel<br />
# pacman -S axel<br />
Następnie dodajemy do sekcji <code>[options]</code> w pliku {{ic|/etc/pacman.conf}}:<br />
{{hc|/etc/pacman.conf|2=<br />
XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u<br />
}}<br />
<br />
== Pacman GUI ==<br />
Najpopularniejszym GUI dla Pacmana w przypadku GNOME jest [https://aur.archlinux.org/packages.php?ID=8027 GtkPacman]. Jego zalety to prostota i stabilność. W przypadku KDE zalecany jest [https://aur.archlinux.org/packages.php?ID=15422 Shaman].<br />
<br />
== Nakładki na Pacmana ==<br />
<br />
{{Note| Za nakładki na Pacmana z innych źródeł, niż oficjalne repozytoria, deweloperzy nie ponoszą odpowiedzialności.}}<br />
<br />
=== Powerpill ===<br />
Powerpill jest nakładką na Pacmana, napisaną przez [http://xyne.archlinux.ca/ Xyne], która przyspiesza jego działanie przy użyciu pakietu aria2c.<br />
<br />
Przykład działania: Podczas aktualizacji systemu [<code>pacman-Syu</code>] wynik zawiera 20 pakietów ważących łącznie 200 MB. W przypadku Pacmana może być pobierany tylko jeden plik w danej chwili. Natomiast dzięki Powerpill będą one pobierane równocześnie, nierzadko z większą prędkością (w zależności od posiadanego łącza, dostępności pakietów na serwerach, a także obciążenia serwera).<br />
<br />
Pakiet znajduje się w [community], zatem wystarczy wydać w konsoli poniższe polecenie:<br />
# pacman -S powerpill<br />
Konfiguracja Powerpill znajduje się w pliku {{ic|/etc/powerpill.conf}}.<br />
<br />
Składnia poleceń Powerpill jest bardzo podobna do tych w Pacmanie, np.:<br />
* Aby zaktualizować system, wystarczy wpisać:<br />
# powerpill -Syu<br />
* Aby zainstalować pakiet:<br />
# powerpill -S nazwa_pakietu<br />
<br />
Domyślnie Powerpill jest skonfigurowany do używania narzędzia Reflector, które pomaga ustawić najszybsze mirrory. Zalecane jest zrobienie kopii zapasowej:<br />
# mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup<br />
Poniższe polecenie wybierze 5 najszybszych mirrorów i umieści odpowiednie wpisy w {{ic|/etc/pacman.d/mirrorlist}} nadpisując wcześniejszą zawartość:<br />
# reflector -f 5 -r -o /etc/pacman.d/mirrorlist<br />
<br />
Zobacz również:<br />
* [http://xyne.archlinux.ca/projects/powerpill - Xyne's Arch Linux Stuff - Powerpill]<br />
<br />
== Narzędzia Pacmana ==<br />
Innymi narzędziami [nieobowiązkowymi] do obsługi Pacmana są:<br />
* [https://aur.archlinux.org/packages.php?ID=35792 ArchUp]<br />
* [https://aur.archlinux.org/packages.php?ID=29567 Chase]<br />
* [https://aur.archlinux.org/packages.php?ID=15193 Pacman Notifier]</div>Maciexhttps://wiki.archlinux.org/index.php?title=Arch_Build_System_(Polski)&diff=573639Arch Build System (Polski)2019-05-22T00:01:01Z<p>Maciex: Completing translation. English version is more detailed and informative.</p>
<hr />
<div>[[Category:About Arch (Polski)]]<br />
[[Category:Package management (Polski)]]<br />
[[Category:Arch development (Polski)]]<br />
[[Category:Polski]]<br />
[[cs:Arch Build System]]<br />
[[da:Arch Build System]]<br />
[[de:Arch Build System]]<br />
[[el:Arch Build System]]<br />
[[en:Arch Build System]]<br />
[[es:Arch Build System]]<br />
[[fr:ABS]]<br />
[[it:Arch Build System]]<br />
[[ja:Arch Build System]]<br />
[[ko:Arch Build System]]<br />
[[pt:Arch Build System]]<br />
[[ru:Arch Build System]]<br />
[[zh-hans:Arch Build System]]<br />
[[zh-hant:Arch Build System]]<br />
{{Expansion|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}<br />
<br />
== Czym jest ABS? ==<br />
ABS to skrót od Arch Build System. Jest to system tworzenia pakietów i kompilowania oprogramowania z kodu źródłowego. Podczas gdy [[Pacman (Polski)|Pacman]] jest narzędziem Archa do zarządzania binarnymi pakietami (także tymi zbudowanymi przy użyciu ABS), ABS to system narzędzi służących do kompilowania kodu do instalowalnych pakietów <code>.pkg.tar.xz </code>. <br />
<br />
Koncept podobny do systemu portów (''ports-like'' system). Porty to pomysł realizowany głównie w systemach rodziny *BSD. Jest to hierarchiczny zbiór plików ułatwiający ściąganie, rozpakowywanie, nakładanie łat, kompilację i instalację programów. Port to po prostu katalog na dysku użytkownika, nazwany tak jak instalowany program, zawierający pliki i instrukcje potrzebne do zbudowania programu ze źródła. <br />
<br />
ABS jest czymś na kształt portów, ponieważ zamiast instalować, buduje pakiet binarny. Wywołanie komendy <code> makepkg </code> w katalogu, w którym znajduje się plik [[PKGBUILD (Polski)|PKGBUILD]], kompiluje oprogramowanie i tworzy pakiet. Taki plik może być potem zainstalowany lub usunięty programem Pacman. W ABS znajdują się tylko PKGBUILDy oficjalnie tworzone przez programistów Archa. Istnieje też zbiór PKGBUILDów tworzonych przez społeczność i nazywa się [[Arch User Repository (Polski)|Arch User Repository]]. Znajomość ABS nie jest niezbędna przy korzystaniu z systemu Arch Linux, jednak w wielu przypadkach może być bardzo przydatna.<br />
<br />
== Dlaczego warto korzystać z ABS? ==<br />
Arch Build System jest wykorzystywany do:<br />
* Kompilacji lub przebudowań pakietów z jakiegokolwiek powodu;<br />
* Instalacji nowych pakietów ze źródeł, które nie są jeszcze dostępne w repozytoriach;<br />
* Dostosowania istniejących pakietów do swoich potrzeb;<br />
* Przebudowy całego systemu przy użyciu flag kompilatora;<br />
* Kompilacji jądra systemu.<br />
<br />
== Instalacja ABS ==<br />
Aby zacząć używać ABS, musisz najpierw zainstalować pakiety:<br />
# pacman -S abs base-devel<br />
<br />
== Konfiguracja ==<br />
=== {{ic|/etc/abs.conf}} ===<br />
Edytujemy plik {{ic|/etc/abs.conf}} i wybieramy repozytoria ("!" oznacza niekorzystanie z danego repozytorium):<br />
REPOS=(core extra community !testing)<br />
Następnie, jako root, wpisujemy polecenie:<br />
# abs<br />
Utworzone zostało drzewo ABS w katalogu {{ic|/var/abs}}:<br />
| -- core/<br />
| || -- base/<br />
| || || -- acl/<br />
| || || || -- PKGBUILD<br />
| || || -- attr/<br />
| || || || -- PKGBUILD<br />
| || || -- ...<br />
| || -- devel/<br />
| || || -- abs/<br />
| || || || -- PKGBUILD<br />
| || || -- autoconf/<br />
| || || || -- PKGBUILD<br />
| || || -- ...<br />
| || -- ...<br />
| -- extra/<br />
| || -- daemons/<br />
| || || -- acpid/<br />
| || || || -- PKGBUILD<br />
| || || || -- ...<br />
| || || -- apache/<br />
| || || || -- ...<br />
| || || -- ...<br />
| || -- ...<br />
| -- community/<br />
| || -- ...<br />
Powyższe polecenie powinno być wykonywane okresowo, aby zachować synchronizację z oficjalnymi repozytoriami.<br />
<br />
Aby pobrać wybrany pakiet:<br />
# abs nazwa_repozytorium / nazwa_pakietu<br />
<br />
=== {{ic|/etc/makepkg.conf}} ===<br />
Globalne zmienne środowiskowe i flagi kompilatora określone są w pliku {{ic|/etc/makepkg.conf}}. Ustawienia domyślne są zoptymalizowane pod architektury i686 i x86_64.<br />
<br />
== Tradycyjna metoda instalacji pakietów bez używania ABS ==<br />
<br />
{{Note|Zawsze należy przeczytać plik <code>INSTALL</code>, jak pakiet powinien być zbudowany i zainstalowany. Poniższa metoda nie jest zalecana dla wszystkich pakietów.}}<br />
<br />
{{Warning|Powyższa metoda oczywiście nadal używana jest na Arch Linuksie. Jednakże, jeśli nie jesteś ostrożny, pliki mogą zostać rozproszone po całym systemie plików. Używaj tej metody, jeśli wiesz co robisz.}}<br />
<br />
Jeśli nie czujesz się jeszcze pewny w ręcznym kompilowaniu oprogramowania ze źródeł,wiedz, że większość pakietów (ale nie wszystkie) może być budowana ze źródeł w tradycyjny sposób:<br />
* Pobierz wybrane przez siebie archiwum źródłowe pakietu.<br />
* Rozpakuj je: <br />
$ tar -xzf nazwa_pakietu.tar.gz<br />
$ tar -xjf nazwa_pakietu.tar.bz2<br />
$ tar -xvzf nazwa_pakietu.tar.xz<br />
* Wejdź do rozpakowanego katalogu: <br />
$ cd nazwa_katalogu (nazwa_pakietu)<br />
* Tu możesz skonfigurować pakiet, jeśli tego chcesz. Ogólnie rzecz biorąc, istnieje skrypt o nazwie <code>configure</code> w katalogu źródłowym, który służy do dokonania ustawień dla <code>make</code> oraz sprawdzenia, czy środowisko, w którym jest uruchomiony zawiera potrzebne biblioteki do kompilacji. Skrypt jest zwykle tworzony w sposób automatyczny przy pomocy narzędzi z pakietu <code>autoconf</code>. W takim razie uruchamiamy polecenie:<br />
$ ./configure<br />
Lub<br />
$ ./configure --prefix=/usr/local<br />
Jeżeli chcesz dodać swoje opcje do powyższego polecenia, spróbuj najpierw zrozumieć, jak to polecenie działa:<br />
$ ./configure --help<br />
* Przyszedł czas na kompilację: <br />
$ make<br />
* Następnie wydajesz polecenie instalacji: <br />
# make install<br />
* Jeżeli będziesz chciał usunąć pakiet, wchodzisz do katalogu z źródłami i wpisujesz w swoim terminalu: <br />
# make uninstall</div>Maciex