To działa teraz. Jeśli nadal korzystasz z SuperUser, czy możesz zaktualizować zaakceptowaną odpowiedź? Patrz poniżej.
mikemaccana
Odpowiedzi:
121
zazwyczaj to robię dpkg -i <deb file>, nie powie, że potrzebuje zależności. Potem, kiedy to zrobisz apt-get update, powiesz na końcu coś w rodzaju „zależności są gotowe do zainstalowania”. Myślę, że wtedy zaleca się użycie apt-get install -f.
Gdy to zrobisz, używam dpkg -iponownie.
Działa dobrze dla mnie przez ostatnie kilka lat.
edycja: patrząc nieco dalej, najwyraźniej narzędzie o nazwie gdebimoże to zrobić jako gdebi [deb file].
Dzięki zrobiłem to samo przez „błąd” dpkg, a następnie apt-get install -f i działało.
Louis,
2
gdebijest dla mnie sprawdzone i najprostsze, jakie do tej pory widziałem.
ctrl-alt-delor
55
Sirex ma mniej więcej rację, ale jego odpowiedź nie jest jasna. Właśnie to rozwiązałem, więc oto co zrobiłem:
sudo dpkg -i /path/to/filename.deb
Jeśli to się nie powiedzie z komunikatem o pakiecie w zależności od czegoś, co nie jest zainstalowane, prawdopodobnie możesz to naprawić, jeśli uruchomisz
sudo apt-get -f install
Spowoduje to zainstalowanie zależności (zakładając, że są one dostępne w repozytoriach, o których wie Twój system) ORAZ pakiet, który pierwotnie chciałeś zainstalować („f” to opcja „fix”, a „y” to „zakładaj tak na pytania” lub „nie pytaj mnie, czy jest w porządku, po prostu zainstaluj to już” - bardzo przydatne w przypadku cichych instalacji ze skryptami). W systemie, w którym byłem, nie było potrzeby ponownego uruchamiania dpkg (Ubuntu lucid 10.04).
Interesujące jest dla mnie to, że jeśli włączysz opcję -f podczas uruchamiania sudo apt-get install, wyświetli ona listę Twojego pakietu jako nieskonfigurowanego z powodu nierozwiązanej zależności, a także zasugeruje pomocne:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Edytować:
Jeśli chcesz zainstalować bez konieczności odpowiedzieć „y” na wszystkie pytania, można dodać ymodyfikator jak pierwotnie obejmował: sudo apt-get -fy install. Jednak komentator zauważył, że apt czasami sugeruje odinstalowanie całego środowiska pulpitu. Robiłem tę pracę na maszynie wirtualnej i nie miałem tego obawy, ale ten post został zaktualizowany, aby był nieco bardziej ostrożny.
Jeśli mam wszystkie pliki pakietu już w katalogu, czy istnieje sposób, aby powiedzieć aptowi, że jest to nowe repozytorium, więc nie będę musiał zmuszać go do instalowania czegokolwiek bez zależności?
Berry Tsakala
2
Przepraszam, ale nie wiem. Proponuję zadać to pytanie jako kolejne pytanie na najwyższym poziomie.
Akrikos
Szalony dziwny, że jest to wymagane. W przypadku Raspian będzie to wymagało sudo (zarówno dla dpkg, jak i apt-get): sudo dpkg -i mypackages.debitd.
Brent Faust
@ Dostęp do roota @Rubistro jest wymagany we wszystkich systemach. Sądzę, że w odpowiedziach założono, że polecenia są wykonywane przez roota (np. Z interaktywnej powłoki roota lub skryptu, który wykonuje się jako root).
Amos Shapira,
2
Dla własnego dobra nie dodawaj -yopcji. Często zdarza się, że apt sugeruje na przykład odinstalowanie całego środowiska pulpitu, jeśli spróbujesz tego z niewłaściwym pakietem w niewłaściwym czasie (przynajmniej na Debianie).
oseiskar
45
Możesz również zainstalować plik .deb za pomocą gdebi. Uruchom poniższe polecenia, aby zainstalować gdebi,
Zauważ, że gdebi bierze tylko jeden argument i po cichu upuszcza resztę na podłogę. Oznacza to, że jeśli instalujesz wiele debetów jednocześnie (być może dlatego, że są od siebie zależne), musisz ostrożnie tworzyć gdebipolecenia, które pozwolą im zainstalować. imo ta połowa pokonuje cel gdebi, ale nadal może ci się przydać w jednym pliku
Anthony Sottile
@Anthony zatemfind -name *.deb -exec gdebi {} \;
jjmontes
3
@jjmontes, który zadziała tylko wtedy, gdy współzależności są w kolejności alfabetycznej, którą postawiłbym, jest dość rzadki
Anthony Sottile
Śledziłem to freesoftwaremagazine.com/articles/… (błąd lokalnego repozytorium musiał znajdować się w / var / www / html / debs) i synaptic próbował nadal pobierać ze zdalnego, nawet bez internetu, więc gdebi działał świetnie z lokalnym repo ! także pliki .deb musiały byćchmod +r *.deb
Aquarius Power
34
Tak, proponowane polecenie jest poprawne.
sudo apt-get install ./package.deb
lub
sudo apt install ./package.deb
zainstaluje pakiet otrzymany z innego źródła niż APT i jednocześnie użyje możliwości APT, aby automatycznie rozwiązać swoje zależności. Niestety ta apt-getfunkcja nie jest udokumentowana na stronie man .
Odpowiedzi:
zazwyczaj to robię
dpkg -i <deb file>
, nie powie, że potrzebuje zależności. Potem, kiedy to zrobiszapt-get update
, powiesz na końcu coś w rodzaju „zależności są gotowe do zainstalowania”. Myślę, że wtedy zaleca się użycieapt-get install -f
.Gdy to zrobisz, używam
dpkg -i
ponownie.Działa dobrze dla mnie przez ostatnie kilka lat.
edycja: patrząc nieco dalej, najwyraźniej narzędzie o nazwie
gdebi
może to zrobić jakogdebi [deb file]
.źródło
gdebi
jest dla mnie sprawdzone i najprostsze, jakie do tej pory widziałem.Sirex ma mniej więcej rację, ale jego odpowiedź nie jest jasna. Właśnie to rozwiązałem, więc oto co zrobiłem:
sudo dpkg -i /path/to/filename.deb
Jeśli to się nie powiedzie z komunikatem o pakiecie w zależności od czegoś, co nie jest zainstalowane, prawdopodobnie możesz to naprawić, jeśli uruchomisz
sudo apt-get -f install
Spowoduje to zainstalowanie zależności (zakładając, że są one dostępne w repozytoriach, o których wie Twój system) ORAZ pakiet, który pierwotnie chciałeś zainstalować („f” to opcja „fix”, a „y” to „zakładaj tak na pytania” lub „nie pytaj mnie, czy jest w porządku, po prostu zainstaluj to już” - bardzo przydatne w przypadku cichych instalacji ze skryptami). W systemie, w którym byłem, nie było potrzeby ponownego uruchamiania dpkg (Ubuntu lucid 10.04).
Interesujące jest dla mnie to, że jeśli włączysz opcję -f podczas uruchamiania
sudo apt-get install
, wyświetli ona listę Twojego pakietu jako nieskonfigurowanego z powodu nierozwiązanej zależności, a także zasugeruje pomocne:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Edytować:
Jeśli chcesz zainstalować bez konieczności odpowiedzieć „y” na wszystkie pytania, można dodać
y
modyfikator jak pierwotnie obejmował:sudo apt-get -fy install
. Jednak komentator zauważył, że apt czasami sugeruje odinstalowanie całego środowiska pulpitu. Robiłem tę pracę na maszynie wirtualnej i nie miałem tego obawy, ale ten post został zaktualizowany, aby był nieco bardziej ostrożny.źródło
sudo dpkg -i mypackages.deb
itd.-y
opcji. Często zdarza się, że apt sugeruje na przykład odinstalowanie całego środowiska pulpitu, jeśli spróbujesz tego z niewłaściwym pakietem w niewłaściwym czasie (przynajmniej na Debianie).Możesz również zainstalować plik .deb za pomocą gdebi. Uruchom poniższe polecenia, aby zainstalować gdebi,
Zainstaluj pakiety .deb za pomocą gdebi,
Naprawia także zależności.
źródło
gdebi
polecenia, które pozwolą im zainstalować. imo ta połowa pokonuje cel gdebi, ale nadal może ci się przydać w jednym plikufind -name *.deb -exec gdebi {} \;
chmod +r *.deb
Tak, proponowane polecenie jest poprawne.
lub
zainstaluje pakiet otrzymany z innego źródła niż APT i jednocześnie użyje możliwości APT, aby automatycznie rozwiązać swoje zależności. Niestety ta
apt-get
funkcja nie jest udokumentowana na stronie man .Zobacz https://askubuntu.com/a/769542/250300 i https://askubuntu.com/a/795048/250300 szczegóły.
źródło