klikam ZAINSTALUJ TERAZ AKTUALIZACJE
i wyskakuje na dole ekranu komunikat:
Failed to call service ais_updater/execute_upgrade. Command 'rm -rf /data/data/pl.sviete.dom/files/usr/tmp/* ’ returned non-zero exit status 1.
a po 2 sekundach znika.
Czyli problemem jest to, że to użytkownik root dodał coś do tmp a teraz zwykły użytkownik (procesy odpalamy z uprawnieniami zwykłego użytkownika) nie jest w stanie usunąć tego, co dodał root… bo nie ma takich uprawnień.
Czy odpalałeś jakieś komendy w konsoli jako root? Np przez sudo?
Nie uruchamiamy żadnych komend jako root.
Nie ma takiej potrzeby, bo w Android każdy użytkownik jest izolowany i w swojej przestrzeni (/data/data/pl.sviete.dom/) może robić wszystko bez potrzeby przełączania się na root-a.
PS
Jeżeli dalej będzie coś nie tak i eksperymentowałeś (przyklejając jakieś komendy z sieci i wykonując, coś z poziomu root-a) to możliwe, że popsułeś coś jeszcze. W takim wypadku polecamy procedurę pełnego resetu aplikacji:
Zdajemy sobie sprawę, że to jest… trochę skomplikowane, ale postaramy się wyjaśnić o co chodzi:
Aplikacje na Androida działają w piaskownicy i mają własny identyfikator użytkownika systemu Linux oraz etykietę SELinux. Czyli w uproszczeniu w Android każda aplikacja to taki osobny użytkownik Linux.
AIS dom nie jest wyjątkiem - wszystko jest wykonywane z tym samym identyfikatorem użytkownika
Każda aplikacja w Android znajduje się w osobnym folderze /data/data/identyfikator.pakietu.aplikacji
W przypadku AIS jest w /data/data/pl.sviete.dom (bo tak nazywa się nasz pakiet w Android)
Zwykły użytkownik ma swobodny dostęp do odczytu i zapisu tylko w swoim folderze z aplikacją Główny system plików dla użytkownika to lokalizacja /data/data/pl.sviete.dom/
Dzięki temu Android jest bezpieczny i teoretycznie nie można zepsuć systemu, bo jedna aplikacja nie ma dostępu do innej aplikacji (bo są innymi użytkownikami Linux i nie moją dostępu do systemu plików poza swoim pakietem). Dodatkowo partycje systemowe są tylko do odczytu.
root to użytkownik który ma dostęp wszędzie (począwszy od korzenia struktury folderów - czyli lokalizacji / ) i może wszystko. Czyli dla root-a główny system plików zaczyna się w lokalizacji / z niej może przejść do danych każdej aplikacji /data/data/… Na bramkach deweloperskich jest to konto dostępne dla programistów którzy wiedzą jak to działa. Mają wielką moc z którą wiąże się wielka odpowiedzialność Jak będziemy mieli wersje “dla końcowego użytkownika” to zablokujemy root-a, bo jak widać tak - trzeba to zrobić, dla dobra ludzkości
Pamiętajcie proszę - nie używajcie root-a… for the love of god don’t do it! *
Miłego weekendu
* no chyba że tworzycie jakiś własny pakiet binarny i wiecie co robicie…
Spoko, wiem co robię, może nie do końca
Jestem administratorem serwerów Unix/Linux.
Zmylilo mnie tylko to, że nie sprawdziłem, że manager pm2 nie działa jako root a jako u0_a16:
Próbowałem odpalic autossh pos pm2 aby stworzyc dodatkowy tunel do bramki z zewnątrz. Problem w tym, że przelogowalem sie jako root i probowalem sprawdzic status pm2. Pociagnelo to za sobą zalozenie kilku katalogów tymczasowych w katalogu /data/data/pl.sviete.dom
Już wszystko naprawiłem/pozamiatałem. Tunel reverse ssh stworzylem na routerze tak więc problem rozwiązałem.
dzięki za info
w kolejnej wersji dodamy małe ostrzeżenie w konsoli - żeby to było bardziej jasne
na razie jest tak jak na obrazku poniżej… ale prace trwają nad ostatecznym tekstem