sobota, 27 maja 2017

Jak prawidłowo zainstalować pakiet w dystrybucji ciągłej?

Pytanie wydaje się być trywialne. Przecież wszyscy wiemy (oczywiście na podstawie Archa):
# pacman -S nazwa_pakietu
Czyżby? Cóż doczytaliśmy się jednej informacji, ale pominęliśmy inne. Oczywiście, że powyższe polecenie zainstaluje pakiet. Całkiem możliwe, że aplikacja będzie działać. Niemniej jednak pozwolę sobie zauważyć, że posiąwszy powyższą wiedzę nie doczytaliśmy się innej informacji: częściowa aktualizacja nie jest przez pacman wspierana. Zaraz pewnie usłyszę: co ma aktualizacja, w dodatku częściowa do instalacji pakietu. Ano ma. Przyglądnijmy się na początek co zawierają repozytoria Archa. Trywialnie możemy odpowiedzieć: paczki. Tylko, że w przeciwieństwie do dystrybucji wydawniczych, są one "w ciągłym ruchu". Arch linux zainstalowany miesiąc temu nie będzie tym samym systemem, który zainstalowaliśmy dzisiaj i to nawet jeśli w obu wprowadzimy te same pakiety, albowiem nie będą one - przynajmniej w części - te same, ale takie same. Nazwa będzie taka sama, ale już wersja niekoniecznie. Deweloperzy Archa zapewniają, by paczki dostępne w repozytorium w danym dniu, czy chwili były odpowiednio przebudowane, jeśli tego wymagają ich zależności. To natomiast oznacza, że pobierając pakiet dzisiaj, może on być zbudowany na podstawie innych zależności niż ten sam pakiet sprzed miesiąca. Nawet jeśli wersja pakietu będzie taka sama. Taki nowo przebudowany pakiet będzie się różnił numerem archowego wydania (inne pkgrel, czyli ostatnia cyfra w wersji paczki). Sam pacman działa natomiast w ten sposób, że dokonując aktualizacji systemu synchronizuje on bazę lokalną z bazą w repozytorium i wprowadza ewentualne zmiany do systemu. Jeśli zatem mamy system zainstalowany jakiś czas temu (nawet tego samego dnia), to może się zdarzyć, że pomiędzy ostatnią aktualizacją systemu, a próbą zainstalowania pakietu nastąpiły jakieś zmiany w paczkach, czego już nie uwzględnia nasza instalacja. Dlatego też prawidłowe instalowanie paczek zawsze winna poprzedzić aktualizacja systemu. Zatem chcąc zainstalować jakikolwiek pakiet wydajmy:
# pacman -Syu pakiet
Tylko wówczas możemy być w miarę pewni, że instalowany pakiet będzie działać prawidłowo.