Zarządzanie pakietami binarnymi na bramce

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 :tada: 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:

1 polubienie