Wyjaśnić niewyjaśnione, czyli meta paczki i grupy paczek
Niekiedy czytamy, że coś możemy zainstalować w Archu poprzez instalację paczki coś-meta. Ot, choćby instalację środowiska graficznego od KDE możemy przeprowadzić w następujący sposób:
Opiekun jakichś paczek w Archu może stworzyć grupę paczek. Taką grupą jest wspomniana wyżej plasma. Grupa nie jest żadną oddzielną paczką, a jedynie pewnym ułatwieniem dla użytkowników, deklarowanym w PKGBUILD w polu groups. Każda paczka składająca się na daną grupę otrzyma w tym polu deklarację do jakiej grupy paczek należy. Tym samym np. paczka plasma-desktop czy breeze otrzymają w tym polu deklarację, że należą one do grupy paczek o nazwie plasma.
Grupę taką łatwo możemy podglądnąć, wydając polecenie:
pacman -Sg nazwa_grupy
Samą interesującą nas nazwę grupy możemy zobaczyć wydając polecenie:
pacman -Si/Qi nazwa_paczki
i odszukując w niej pole Grupy. Grupy, albowiem ta sama paczka należeć może do więcej niż jednej grupy paczek.
Meta paczka jest natomiast oddzielną paczką (ot, przykład plasma-meta). Zwykle, każda paczka dostarcza nam do systemu jakieś pliki. W przeciwieństwie do tego typu paczek, paczki meta nie dostarczają żadnych plików, zawierają wyłącznie informacje dla pacmana w polu depends, z której wynika, że paczka meta zależy od jakichś - już "zwykłych" - paczek.
Prześledźmy konsekwencje używania jednego i drugiego rozwiązania.
Jeśli instalujemy jakąś meta paczkę, wówczas zainstalowane zostaną wszystkie paczki zadeklarowane w polu depends PKGBUILDu. Nie mamy żadnej władzy nad tym jakie paczki zostaną zainstalowane. Zostaną bowiem zainstalowane wszystkie wymienione w depends. W omawianym przypadku plasma-meta niezależnie zatem od tego, czy np. mamy w sytemie, czy nie mamy jakiekolwiek urządzenie korzystające z połączenia Bluetooth, zostanie nam zainstalowana paczka bluedevil zapewniająca integrację urządzeń Bluetooth z Plasmą. Od tej pory też, ze względu na "trzymające" je powiązanie zapewniające przez meta paczkę, wszystkie te aplikacje będą zachowywały się łącznie. Jeśli będziemy dokonywać aktualizacji systemu, to będzie ona dokonywała się również poprzez ową meta paczkę, zatem zmiana (w zasadzie dodanie) zadeklarowanych w niej paczek w polu depends spowoduje, że zainstalowane zostaną nowo zadeklarowane paczki. Usunięcie jakiejś paczki z tego pola spowodować może natomiast, że dotychczasowa paczka zostanie uznana za osieroconą.
Owa meta paczka uniemożliwi również odinstalowanie poszczególnych paczek instalowanych w systemie przez nią. Jeśli zatem zauważyliśmy, że mamy w systemie zbędne nam bluedevil i spróbujemy je odinstalować, to otrzymamy informację:
Samo odinstalowanie meta paczki jest natomiast bez problemu możliwe i nie pociąga za sobą odinstalowania paczek, które ona dostarczyła (oczywiście przy odinstalowaniu bez podania parametru -s). Pamiętajmy jednak, że jeśli wpierw zainstalowaliśmy jakieś paczki składające się na meta paczkę, a następnie samą tę paczkę, to "kaskadowe" usunięcie owej meta paczki spowoduje wyłącznie usunięcie jej oraz tych paczek, które zostały przez nią zainstalowane. Nie spowoduje usunięcia paczek, które zainstalowaliśmy uprzednio, a które są jej zależnościami.
W moim przypadku (mam Plasmę zainstalowaną przez wybór paczek z grupy) instalacja plasma-meta dostarcza mi wyłącznie paczki: archlinux-appstream-data, bluedevil, discover, kirigami2 i plasma-meta.
Usunięcie plasma-meta wraz z zależnościami powoduje wyłącznie usunięcie tych, dostarczonych wraz z nią paczek i jej samej:
W Archu istnieje absolutna dowolność instalacji. To użytkownik decyduje jakie paczki i w jaki sposób mają zostać zainstalowane. Są jednakże dystrybucje pochodne od Archa, które posługują się meta paczkami. Wówczas okazuje się, że odinstalowanie czegoś nam zbędnego nie jest możliwe ze względu na istnienie w systemie owej meta paczki.
Oczywiście do niczego nie namawiam, a jedynie mam nadzieję, że w pewnym stopniu udało mi się przybliżyć te kwestie.
Install the plasma-meta meta-package or the plasma group.Istnienie dwu sposobów instalacji (a w zasadzie jeszcze większej ilości) jak zwykle powoduje niezrozumienie i konsternację, choć cała sprawa jest oczywiście wyjaśniona. Mimo tego, spróbuję ją wyjaśnić raz jeszcze.
Opiekun jakichś paczek w Archu może stworzyć grupę paczek. Taką grupą jest wspomniana wyżej plasma. Grupa nie jest żadną oddzielną paczką, a jedynie pewnym ułatwieniem dla użytkowników, deklarowanym w PKGBUILD w polu groups. Każda paczka składająca się na daną grupę otrzyma w tym polu deklarację do jakiej grupy paczek należy. Tym samym np. paczka plasma-desktop czy breeze otrzymają w tym polu deklarację, że należą one do grupy paczek o nazwie plasma.
Grupę taką łatwo możemy podglądnąć, wydając polecenie:
pacman -Sg nazwa_grupy
Samą interesującą nas nazwę grupy możemy zobaczyć wydając polecenie:
pacman -Si/Qi nazwa_paczki
i odszukując w niej pole Grupy. Grupy, albowiem ta sama paczka należeć może do więcej niż jednej grupy paczek.
Meta paczka jest natomiast oddzielną paczką (ot, przykład plasma-meta). Zwykle, każda paczka dostarcza nam do systemu jakieś pliki. W przeciwieństwie do tego typu paczek, paczki meta nie dostarczają żadnych plików, zawierają wyłącznie informacje dla pacmana w polu depends, z której wynika, że paczka meta zależy od jakichś - już "zwykłych" - paczek.
Prześledźmy konsekwencje używania jednego i drugiego rozwiązania.
Jeśli instalujemy jakąś meta paczkę, wówczas zainstalowane zostaną wszystkie paczki zadeklarowane w polu depends PKGBUILDu. Nie mamy żadnej władzy nad tym jakie paczki zostaną zainstalowane. Zostaną bowiem zainstalowane wszystkie wymienione w depends. W omawianym przypadku plasma-meta niezależnie zatem od tego, czy np. mamy w sytemie, czy nie mamy jakiekolwiek urządzenie korzystające z połączenia Bluetooth, zostanie nam zainstalowana paczka bluedevil zapewniająca integrację urządzeń Bluetooth z Plasmą. Od tej pory też, ze względu na "trzymające" je powiązanie zapewniające przez meta paczkę, wszystkie te aplikacje będą zachowywały się łącznie. Jeśli będziemy dokonywać aktualizacji systemu, to będzie ona dokonywała się również poprzez ową meta paczkę, zatem zmiana (w zasadzie dodanie) zadeklarowanych w niej paczek w polu depends spowoduje, że zainstalowane zostaną nowo zadeklarowane paczki. Usunięcie jakiejś paczki z tego pola spowodować może natomiast, że dotychczasowa paczka zostanie uznana za osieroconą.
Owa meta paczka uniemożliwi również odinstalowanie poszczególnych paczek instalowanych w systemie przez nią. Jeśli zatem zauważyliśmy, że mamy w systemie zbędne nam bluedevil i spróbujemy je odinstalować, to otrzymamy informację:
sudo pacman -R bluedevilDopiero dodanie parametru -Rc umożliwi odinstalowanie takiej paczki, ale odinstaluje również paczkę plasma-meta.
sprawdzanie zależności…
błąd: nie udało się przygotować transakcji (nie udało się rozwiązać zależności)
:: plasma-meta: usuwanie bluedevil zależność przerw 'bluedevil'
Samo odinstalowanie meta paczki jest natomiast bez problemu możliwe i nie pociąga za sobą odinstalowania paczek, które ona dostarczyła (oczywiście przy odinstalowaniu bez podania parametru -s). Pamiętajmy jednak, że jeśli wpierw zainstalowaliśmy jakieś paczki składające się na meta paczkę, a następnie samą tę paczkę, to "kaskadowe" usunięcie owej meta paczki spowoduje wyłącznie usunięcie jej oraz tych paczek, które zostały przez nią zainstalowane. Nie spowoduje usunięcia paczek, które zainstalowaliśmy uprzednio, a które są jej zależnościami.
W moim przypadku (mam Plasmę zainstalowaną przez wybór paczek z grupy) instalacja plasma-meta dostarcza mi wyłącznie paczki: archlinux-appstream-data, bluedevil, discover, kirigami2 i plasma-meta.
Usunięcie plasma-meta wraz z zależnościami powoduje wyłącznie usunięcie tych, dostarczonych wraz z nią paczek i jej samej:
sudo pacman -Rcns plasma-metaNieco inaczej zachowuje się instalacja programów z pomocą grupy. Tutaj jeśli wydamy polecenie instalacji paczek składających się na grupę, otrzymamy informację o tym jakie paczki składają się na daną grupę, oraz że domyślnie zostanie zainstalowana cała grupa:
sprawdzanie zależności…
:: plasma-desktop opcjonalnie wymaga discover: manage applications installation from the launcher
Pakiet (5) Obecna wersja Zmiana
archlinux-appstream-data 20170223-1 -15,89 MiB
bluedevil 1:5.9.3-1 -1,83 MiB
discover 5.9.3-2 -10,85 MiB
kirigami2 2.0.0-1 -0,31 MiB
plasma-meta 5.9-2 0,00 MiB
Odzyskane miejsce na dysku: 28,88 MiB
:: Czy chcesz usunąć te pakiety? [T/n]
sudo pacman -S plasmaW tym momencie możemy albo zaakceptować domyślny wybór, albo spośród widocznych nam paczek zainstalować wyłącznie te, które nas interesują używając do tego cyfr widocznych przy nazwach poszczególnych paczek. Dokonać możemy dowolnego wyboru. Konsekwencją będzie to, że podczas aktualizacji, zostaną zaktualizowane wyłącznie te paczki, które zostały zainstalowane w powyższy sposób. Jeśli zatem do grupy paczek dołączy jakaś nowa, to owa nowa paczka nie zostanie zainstalowana w systemie (chyba, że stanowi zależność jakichś innych zainstalowanych paczek). Odinstalowanie poszczególnych paczek składających się na grupę również jest możliwe, chyba, że dana paczka jest zależnością innej jeszcze.
:: Jest 39 pakietów w grupie plasma:
:: Repozytorium extra
1) bluedevil 2) breeze 3) breeze-gtk 4) discover 5) drkonqi 6) kactivitymanagerd 7) kde-cli-tools 8) kde-gtk-config
9) kdecoration 10) kdeplasma-addons 11) kgamma5 12) khotkeys 13) kinfocenter 14) kmenuedit 15) kscreen
16) kscreenlocker 17) ksshaskpass 18) ksysguard 19) kuiserver 20) kwallet-pam 21) kwayland-integration 22) kwin
23) kwrited 24) libkscreen 25) libksysguard 26) milou 27) oxygen 28) plasma-desktop 29) plasma-integration
30) plasma-nm 31) plasma-pa 32) plasma-sdk 33) plasma-workspace 34) plasma-workspace-wallpapers 35) polkit-kde-agent
36) powerdevil 37) sddm-kcm 38) systemsettings 39) user-manager
Wybierz pakiety (domyślnie=wszystkie):
W Archu istnieje absolutna dowolność instalacji. To użytkownik decyduje jakie paczki i w jaki sposób mają zostać zainstalowane. Są jednakże dystrybucje pochodne od Archa, które posługują się meta paczkami. Wówczas okazuje się, że odinstalowanie czegoś nam zbędnego nie jest możliwe ze względu na istnienie w systemie owej meta paczki.
Oczywiście do niczego nie namawiam, a jedynie mam nadzieję, że w pewnym stopniu udało mi się przybliżyć te kwestie.
Komentarze
Prześlij komentarz