Zainstaluj pakiety .deb w zamontowanych fs

3

Mam partycję ext2 na karcie CF do użycia w urządzeniu zewnętrznym. Włożyłem tę kartę do komputera i zamontowałem ją jako / mnt / linux. Zainstalowałem (rozpakowałem) dystrybucję Linuksa na tę partycję. I chcę dodać kilka pakietów .deb do tej partycji. Jak mam to zrobić? Czy to możliwe?

Alternatywny sposób użycia: Kopiuję pakiety .deb do katalogu / mnt / linux / tmp dir, następnie wkładam kartę CF do zewnętrznego urządzenia i instaluję cd /tmp; dpkg -i XXX.deb z tego urządzenia.

egor7
źródło
1
Zrób chroot /mnt/linux i tam zainstalować? (Potrzebowałby deb maszyny tam, być może zamontowane z zewnątrz). To mniej więcej zakłada, że ​​masz pełną instalację Debiana.
vonbrand

Odpowiedzi:

2

Jak zasugerował vonbrand, zakładając, że masz działającą instalację Debiana na karcie CF, powinieneś być w stanie chroot do niego i instaluj normalnie:

sudo chroot /mnt/linux
sudo dpkg -i XXX.deb 
terdon
źródło
To jest polecenie, którego szukam. Dziękuję Ci.
egor7
Ale jak mogę zmienić archiwum base_os bez montowania karty CF? Mam bazę os dla karty CF w base_os.tgz plik, następnie umieszczam go w zamontowanej (w / mnt / linux) karcie CF przez tar zxvf base_os.tgz -C /mnt/linux.
egor7
Nie wiesz, co masz na myśli chroot do pracy, musisz chroot do katalogu zawierającego działający system Linux (takie rzeczy jak /bin/bash itp).
terdon
2

Możesz użyć opcji --root programu dpkg, aby określić katalog, w którym jest zainstalowany docelowy główny system plików.

W Twoim przypadku:

sudo dpkg --install --root=/mnt/linux XXX.deb

Odkryłem, że to wywołanie może spowodować następujący błąd (nie jestem pewien, czy jest to błąd dpkg lub coś związanego z używanym systemem plików):

dpkg: error: unable to access dpkg status area: No such file or directory

Rozwiązaniem jest użycie opcji --admindir do określenia var / lib / dpkg. W Twoim przypadku:

sudo dpkg --install --root=/mnt/linux --admindir=/mnt/linux/var/lib/dpkg XXX.deb

To rozwiązanie pomaga, jeśli budujesz system plików i nie możesz wykonać chroota, ponieważ docelowy system plików jest niekompletny.

MaxP
źródło