Dla wszystkich odpowiedzi na ten temat, które znalazłem, rozwiązaniem było utworzenie, na pewnym komputerze A, na którym muszę zainstalować pakiet, pliku zawierającego wszystkie potrzebne zależności, a następnie pobranie go na inny komputer, nazwijmy go B.
Chodzi o to, że chcę mieć pewne krytyczne oprogramowanie. Muszę pracować, aby móc je później zainstalować offline, na wypadek, gdyby musiałem sformatować pulpit.
NAPRAWDĘ NIE PIELĘGNUJĘ o to, że mam dużo zbędnych plików .deb na moim komputerze, i NAPRAWDĘ NIE PIELĘGNUJĘ, jeśli zamierzam przechowywać 1 GB plików, aby zainstalować oprogramowanie 10 MB.
Chcę więc pobrać dowolną zależność. Czy jest jakoś to zrobić?
ubuntu
package-management
apt
ebernardes
źródło
źródło
Odpowiedzi:
Wybrałbym to:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Następnie możesz zainstalować go
dpkg -i *.deb
w katalogu, który je pobrałeś.źródło
apt-cache depends -i
sprawdzi ważne zależności dla PAKIETU. Zostanie wykonany tylko wtedyapt-get download PACKAGE
, gdy uda się znaleźć PAKIET z repozytoriów ppa, które dodałeś/etc/apt/sources.list
. Terazapt-cache depends -i PACKAGE
ma wynik formyDepends: dependency-name
. Potrzebujemy tylko nazw zależności, więc to właśnie robi awk - pobiera tylko drugi ciąg. Na przykład spróbujapt-cache depends -i vim | awk '{print $2}'
. Zauważ również, że całą linię po prawej stronie && można uznać za jedno stwierdzeniedpkg -i *.deb
nie jest tak dobry, nie instaluje pakietu według kolejności zależności. Dlatego może być konieczne kilkakrotne spróbowanie, aby zainstalować cały pakiet. W każdym razie do obejścia?Czy to jednorazowa sprawa, czy chcesz być na bieżąco? Czy pracujesz głównie w trybie online i na wszelki wypadek chcesz mieć lokalną kopię zapasową wszystkich swoich pakietów?
Istnieje kilka usług, które można zainstalować, które działają jak serwer proxy / pamięć podręczna APT. Wskazujesz APT na lokalną pamięć podręczną, zostanie ona pobrana z Internetu i zachowa lokalnie buforowaną kopię wszystkich pakietów. Może to być bardzo przydatne, jeśli masz wiele komputerów w sieci z identycznym wyborem pakietów.
Mój preferowany apt cache jest w przybliżeniu , ale jest też apt-cacher-ng i kilka innych. Każda z nich ma niewielkie różnice dotyczące konfiguracji buforowania.
Zawsze używam minimalnych instalatorów netinst do budowania moich systemów opartych na Debianie, co oznacza, że moja apt cache zwykle zawiera prawie wszystkie pakiety do pełnej budowy moich systemów.
źródło
uruchom następujący program python:
źródło
uruchom następujący program python3:
Pobierze wszystkie zależności wszystkich zależności, nie tylko bezpośrednie. Ale instalacja ich
dpkg -i *.deb
nie powiodła się. Może dlatego, żeapt-cache depends -i package
zawiera błędne informacje lub niektóre pliki.deb nadal wymagają połączenia z Internetem, aby zainstalować.źródło