sobota, 9 lipca 2016

AppImage, Snappy, Flatpak - Cz.3 Snappy

Od końca. Poległem. Instalacja snapów rozpoczyna się od instalacji, a następnie skonfigurowania paczki snapd. Widzicie do "d" w nazwie? Tak, jest to program i usługa systemd. Bez systemd nie zadziała na żadnym systemie. Wbrew temu, co twierdzi PR Canonicala. To znaczy oni o tym nie wspominają. Twierdzą natomiast, że ich pomysł jest powszechny i zadziałać ma docelowo na każdym systemie. Nie jest to prawdą.
Instalacja jest prosta. Pacman jak zwykle rozwiąże każdy problem. Potem trzeba podnieść usługę. Całe szczęście to socket, a zatem nie będzie bez sensu zaśmiecał pamięci. Potem już sama przyjemność: można jednym poleceniem - w tym przypadku snap - przeglądać, instalować, odinstalować, oraz robić wiele rzeczy z paczkami snap. Można je instalować zarówno ze "sklepu" jak i z plików lokalnych. Ba, jedna z usług zapewnia również automatyczne aktualizowanie paczek. Super.
To zaczynamy. Przegląd paczek. Nie jest ich jak na razie wiele, a ich wybór jest poniekąd dziwny. Mój wybór padł na zainstalowanie Krity (bo tę mam w systemie, znam jak się zachowuje z AppImage, a zatem miałbym jakieś porównanie), edytora Atom (bo zawsze chciałem zobaczyć co to, ale przerażała mnie ilość zależności w moim Qt-centrycznym systemie), oraz - już nie ze "sklepu" - LibreOffice (bo tu miałbym porównanie zarówno z zainstalowaną aplikacją, jak i z flatpakiem).
Na początek - niespodzianka. Mój kernel uniemożliwia zainstalowanie jakiegokolwiek pakietu snap. Pewnie coś wyciąłem, czego nie potrzebuję w codziennym używaniu, a czego snapsy wymagają. Przerzuciłem się zatem na linux-ck (ale prawdopodobnie zadziała każdy "uniwersalny" kernel). Tu instalacja przebiegła bez problemu. Zdziwiło mnie jedynie, że instaluje się również jakaś tajemnicza paczka ubuntu-core. Po co? Tego już nie sposób ustalić.
Przyszło do testowania. Żadna z zainstalowanych paczek nie odpaliła się. Albo uzyskiwałem informację o naruszeniu pamięci, albo że nie mam w systemie czegoś od Gtk, albo informacja, że "proces nie jest dostępny", czy "znany". Nie ma to znaczenia.
Po około 3 godzinach spędzonych w necie na próbie identyfikacji problemu oraz znalezieniu możliwości jemu zaradzenia udało mi się jedynie ustalić, że... nie ma takiego rozwiązania. To znaczy nikt nie widzi problemu (pierwszy, z kernelem był zauważany).
Koniec.
Jeśli to ma być rozwiązanie powszechne, to nie może ono tak wyglądać.
Przyszło do odinstalowania snapd. Cóż... samo odinstalowanie paczki nic nie da. Pobrane snapy zostają w systemie, o czym lojalnie uprzedza wiki Archa. Najpierw zatem trzeba odinstalować paczki snap, potem usunąć snapd wraz z zależnościami, potem ręcznie usunąć katalogi, które potworzył (oprócz tych, które są wymienione na wiki Archa, w katalogach systemowych, to także katalogi w katalogu domowym, w tym również katalogi uryte). Potem jeszcze przeszukanie pozostałości po snapd (tak, znajdą się) i ich usunięcie.
Nie dla mnie to rozwiązanie. Jeśli używając linuksa przez ponad 10 lat i to bardzo różnych systemów (spośród tych najbardziej znanych chyba nigdy nie ruszyłem jedynie Slackware), po osiągnięciu możliwości samodzielnego diagnozowania problemów i radzenia sobie z nimi, nie potrafiłem uruchomić jakiegokolwiek programu (a próbowałem na kilka sposobów, których nie ma sensu w tym miejscu opisywać), to co dopiero ma począć ktoś, kto zaczyna przygodę z linuksem i otrzymał właśnie w prezencie doskonałe rozwiązanie od Canonicala.
Do tego dochodzi jeszcze wątpliwej jakości izolacja paczek snap w systemie. Okazało się bowiem, że paczki te mają możliwość dostępu (w X11) do dowolnych informacji, jakie są na dysku, wykradzenia dowolnych haseł.
Jak dla mnie - snap - nazywa się zapomnij raz na zawsze o istnieniu tego czegoś.