Celem tego wpisu jest wyjaśnienie, w jaki sposób można ręcznie zarządzać pakietami binarnymi na bramce. Do zarządzania pakietami binarnymi używamy apt i dpkg, podobnie jak Ubuntu lub Debian.
Podczas aktualizacji systemu automatycznie instalujemy potrzebne pakiety więc normalnie nie musisz zarządzać ręcznie pakietami. Ten opis skierowany jest do zaawansowanych użytkowników i integratorów, którzy mogą wykorzystać Asystenta domowego do tworzenia własnych projektów/produktów.
Instalowanie pakietów z repozytorium APT
Do instalacji pakietów zalecamy użycie menedżera apt oraz nasze domyślnie skonfigurowane repozytorium pakietów w pliku sources.list:
$ cat /data/data/pl.sviete.dom/files/usr/etc/apt/sources.list
# The main AI-Speaker repository:
deb [trusted=yes] https://powiedz.co/apt dom stable
Logujemy się do konsoli bramki po ssh:
ssh <ip_bramki_w_naszej_lokalnej_sieci>
Fabryczne hasło to dom, możesz je zmienić standardową komendą Linuxową: passwd
Zarządzanie pakietami zaczynamy zawsze od aktualizacji listy pakietów komendą:
apt update
Instalacja pakietu:
apt install <nazwa pakietu>
Usunięcie pakietu:
apt uninstall <nazwa pakietu>
Wyświetlenie wszystkich pakietów:
apt list-all
Wyświetlenie zainstalowanych pakietów:
apt list --installed
Aby uzyskać więcej informacji o dostępnych poleceniach, możesz po prostu uruchomić apt bez argumentów lub w ten sposób:
apt help
Ręczna instalacja paczek/plików * .deb
Jeśli masz plik pakietu * .deb, możesz go zainstalować przy pomocy dpkg.
Uwaga, pakiety pobrane z Ubuntu lub z repozytoriów innych dystrybucji Linuksa nie będą działać z powodu niekompatybilnego libc ABI, jednak statycznie skompilowane pliki binarne powinny działać OK.
Aby uzyskać najlepszą zgodność z systemem operacyjnym Android, wszystkie nasze pakiety kompilowane są z Androidowym NDK. Wynikowe pliki binarne są połączone z Bionic libc (pliki libc.so, libm.so, libdl.so z /system/lib). Użycie libc z Android uniemożliwia wykonywanie natywnych pakietów z innych dystrybucji Linuksa. Dynamicznie linkowane programy nie będą działać z powodu braku oczekiwanego linkera w lokalizacji /lib i niezgodności ABI libc.
Instalacja pakietu:
dpkg -i ./package.deb
Usunięcie pakietu:
dpkg --remove [package name]
Wyświetlenie zainstalowanych pakietów:
dpkg -l
dpkg ma wiele przydatnych opcji, jego instrukcję zobaczysz wpisując:
man dpkg
PS
Ograniczenia, jeśli chodzi o wykonywanie natywnych pakietów z innych dystrybucji Linuksa można jednak obejść za pomocą proot - wyjaśnimy to w innym wpisie:
Można też skompilować pakiet i dodać do naszego repozytorium, to też opisane jest w osobnym temacie: