Na prostej drodze do wysypania Manjaro

Do napisania dzisiejszego wpisu zainspirował mnie jeden z wątków na forum manjaro.pl. Otóż jeden z użytkowników Manjaro chciał zainstalować spotify, którego PKGBUILD dostępny jest w AUR. Akurat ta paczka powstaje przez przebudowanie udostępnianej przez Spotify paczki deb na paczkę Archa. Niestety od pewnego czasu spotify z udostępnionego PKGBUILDu gdyż wersja to 1.0.92.x, która nie jest już dłużej udostępniana przez Spotify. Obecnie udostępniane są 3 paczki, przy czym dla wspieranej architektury w Archu to wyłącznie 1.0.80.x oraz najnowsza 1.0.94.x. Instalacja zatem z takiego PKGBUILDu nie ma najmniejszych szans powodzenia.
Autor wątku chce zaktualizować paczkę, stąd też domniemuję, że jakąś wersję spotify ma.
Inny forumowicz poleca zatem... dodanie repozytorium nexus do systemu (uwaga - poleca dodanie repozytorium budowanego dla Archa do Manjaro!!!), albowiem w tym repozytorium jest najnowsza wersja spotify.
Autor zastanawia się jednak, czy jest to bezpieczne i dochodzi do wniosku, że przecież aktualną paczkę spotify dało się rozpakować i "działa jak portable".

I w takim momencie ręce opadają.

Po pierwsze - o ile istnieje jakaś możliwość w dodawaniu repozytoriów nieoficjalnych do Archa, albowiem są one budowane w oparciu o paczki z Archa, to dodawanie takiego repozytorium do Manjaro, szczególnie w wersji "stable" jest proszeniem się o kłopoty. To nic, że dodana paczka może nie pracować, ale doprowadzić to również może do podmiany paczek, które dostarczane są wraz z Manjaro i zbudowane (mam nadzieję) w oparciu o paczki dostępne w tej dystrybucji przez paczki z innej. Wiadomo również, że paczki udostępniane w repozytorium stable Manjaro są w stosunku do Archa opóźnione o jakiś czas (różny). Można oczywiście twierdzić, że przy rozważnym "gospodarowaniu" takim systemem z pomieszanymi repozytoriami nic się nie stanie. Problem jednakże w tym, że skoro jeden użytkownik innemu radzi bez zająknięcia tego typu operację, to oznacza wyłącznie, że poziom świadomości na temat używanego systemu niekoniecznie musi być wysoki.

Po drugie - wprowadzanie do systemu obcych paczek przez ich rozpakowanie (mniejsza o to, czy to deb, czy rpm - bo to najczęściej stosowane "porady"). Dokonując prostego rozpakowania (ar) paczki deb, bądź też stosując do tego dpkg lub rpm (są takie kretyńskie porady dostępne w sieci) nie mamy żadnego wpływu na to jak one zostaną rozpakowane. Jeśli taka paczka zawiera jakiś plik o takiej samej nazwie i w takiej samej lokalizacji, jaką już mamy w systemie, to rozpakowane w ten sposób paczki deb, czy rpm po prostu dokonają nadpisania paczki systemowej przez tę, która z niej pochodzi. Zwróćmy teraz uwagę, że szczególnie paczki deb są bardzo często budowane w oparciu o bardzo stare komponenty w stosunku do tych, które są w Archu, czy nawet w Manjaro. Czym ryzykujemy - pomijam już inne kwestie i aby skrócić wpis napiszę wyłącznie - ot, choćby tym, że po "udanej" instalacji takiej paczki możemy być bardzo krótko zadowoleni. Do zrestartowania systemu, który może się już w ogóle nie obudzić.

Będę to powtarzać jak mantrę, bo jak widzę roztropności w narodzie brak: do instalacji jakichkolwiek programów w Archu (i pochodnych) służy wyłącznie pacman. Jeśli paczki nie ma należy ją zbudować na podstawie odpowiednio napisanego PKGBUILDu (są nawet miejsca, gdzie można zgłaszać zapotrzebowanie). Każde inne działanie jest działaniem przeciwko własnemu systemowi. Nie liczcie, że potem ktokolwiek będzie Wam w stanie pomóc. Jedyne wyjątki od tej reguły, to instalacja paczek w tzw. uniwersalnych formatach.

A najśmieszniejsze (o ile w ogóle komukolwiek do śmiechu) jest to, że napisanie poprawnego PKGBUILDu instalującego nową wersję spotify nie trwa dłużej niż kilkadziesiąt sekund.

Komentarze

Popularne posty z tego bloga

Brak możliwości aktualizacji lub instalacji pakietów - zablokowana baza

Radzimy sobie z: GPG: odbiór z serwera kluczy nie powiódł się: brak dirmngr

Ukryte sztuczki Firefox