Mam pakiet deb do instalacji.
Mam zainstalować przez dpkg -i my.deb
, czy przez apt?
Czy obaj dobrze poradzą sobie z problemem zależności oprogramowania?
Jeśli przez apt, jak mogę zainstalować z deb przez apt?
Mam pakiet deb do instalacji.
Mam zainstalować przez dpkg -i my.deb
, czy przez apt?
Czy obaj dobrze poradzą sobie z problemem zależności oprogramowania?
Jeśli przez apt, jak mogę zainstalować z deb przez apt?
aptitude
który usuwa również niepotrzebne pakiety.dpkg
. W przypadku pojedynczego debu przejdź do gdebi, aw przypadku wielu debów przejdź do lokalnego repozytorium APT .dpkg
nie rozwiązuje zależności.Odpowiedzi:
Kiedy
apt
instalujesz pakiet, używa go pod maskądpkg
. Kiedy instalujesz pakiet za pomocą apt, najpierw tworzy listę wszystkich zależności i pobiera go z repozytorium.Po zakończeniu pobierania wywołuje
dpkg
instalację wszystkich tych plików, spełniając wszystkie zależności.Więc jeśli masz
.deb
plik:Możesz go zainstalować za pomocą:
Możesz go zainstalować za pomocą
sudo apt install ./name.deb
(lubsudo apt install /path/to/package/name.deb
).W starszych
apt-get
wersjach musisz najpierw przenieść plik deb do/var/cache/apt/archives/
katalogu. W obu przypadkach po wykonaniu tego polecenia automatycznie pobierze swoje zależności.Zainstaluj
gdebi
i otwórz plik .deb, używając go ( kliknij prawym przyciskiem myszy -> Otwórz za pomocą ). Zainstaluje pakiet .deb ze wszystkimi jego zależnościami.( Uwaga : APT utrzymuje indeks pakietów, który jest bazą danych dostępnych pakietów dostępnych w repozytorium zdefiniowanych w
/etc/apt/sources.list
pliku i/etc/apt/sources.list.d
katalogu. Wszystkie te metody nie spełnią zależności oprogramowania, jeśli zależności wymagane przez deb nie są obecne w indeksie pakietu .)sudo apt-get install -f
Po co używać posudo dpkg -i /path/to/deb/file
(wspomniane w pierwszej metodzie)?Od
man apt-get
:Kiedy
dpkg
instaluje pakiet, a zależność pakietu nie jest spełniona, pozostawia pakiet w stanie „nieskonfigurowanym”, a pakiet uważa się za uszkodzony.sudo apt-get install -f
polecenie próbuje naprawić ten uszkodzony pakiet, instalując brakującą zależność.źródło
apt-cache search <package name>
. Możesz także użyćapt-cache policy <package name>
, który dostarczy również dodatkowych informacji.apt-get install /path/to/package/name.deb
. Byłoby fajnie, gdyby autor tej odpowiedzi postanowił to zintegrować. Jeśli nie, dodam tę odpowiedź, kiedy będę miał wystarczająco dużo przedstawicieliZainstaluj
foo.deb
plik za pomocądpkg -i foo.deb
. Jeśli występują błędy z nierozwiązanymi zależnościami, uruchomapt-get install -f
później.źródło
Unable to locate package
Próbowałem w ten sposób i byłem zaskoczony. Użyłem jak w Windows tylko nazwy pakietu po przejściu do folderu archiwum. Powinien być./<file name>
dla Uniksa, jeśli znajduje się w bieżącym folderze lub pełnej ścieżce. To znaczy, jeślideb
nie ma go w folderzePATH
.Oto najlepszy sposób instalacji
.deb
pliku na Ubuntu w wierszu poleceń:Jeśli jeszcze tego nie zrobiłeś
gdebi
, zainstaluj za pomocąsudo apt install gdebi-core
.Dlaczego gdebi
gdebi
wyszuka wszystkie zależności.deb
pliku i zainstaluje je przed próbą zainstalowania.deb
pliku. Uważam to za znacznie lepsze niżsudo dpkg -i skype.deb && sudo apt install -f
. Ten ostatni jest zbyt chętny do usunięcia zależności w niektórych sytuacjach. Na przykład, kiedy próbowałem zainstalować Skype, próbowałem usunąć 96 (!) Pakietów, w tym pakietów takich jakcompiz
iunity
!gdebi
dał wyraźniejszy komunikat o błędzie:(Nawiasem mówiąc, oto rozwiązanie tego konkretnego problemu ).
źródło
Możesz zainstalować lokalny pakiet .deb poprzez:
Należy podać lokalną ścieżkę względną lub bezwzględną (
./
jeśli w bieżącymfoo.deb
katalogu ), w przeciwnym razie będzie ona szukać w zdalnych repozytoriach i zakończy się niepowodzeniem.źródło
./
przeddeb
plikiem.Wcześniej sprawdź zależności
dpkg -I my.deb
i .apt-get install
dpkg -i my.deb
Może być można skopiowaćNie działamy.deb
in/var/cache/apt/archives
i zainstalować go bezpośrednioapt-get
, ale nigdy nie próbowałem.apt-get
idpkg
szukają pakietów wymienionych w archiwach.źródło
apt-get install my.deb
przez pierwsze zdanieapt-get install
? Czy należy zainstalować z pliku deb? Dlaczegodpkg -i my.deb
po tym potrzebujemy ?.deb
sdpkg -i
, rozumiem, żeapt
nie ma opcji, aby je zainstalować, oprócz katalogu, w/var/cache/...
którym są pobierane (mogę się mylić)apt-get install ./my.deb
, że coś zrobi, ponieważ generuje wiele rzeczy. Co to robi?-f
Najprostszą odpowiedzią byłoby użycie dpkg przez uruchomienie
dpkg -i packagename.deb
. Następnie możesz go odinstalować, uruchamiającdpkg -r packagename.deb
.apt-get
jest instalatorem wyższego poziomu opartym na programie dpkg i jako taki możeszapt-get install packagename.deb
.Przydałoby się dodać go do katalogu apt-get archives (
/var/cache/apt/archives
), aby można było odwołać się do niego jako pakietu z zależnościami, a nie jako samodzielne archiwum .deb.Ponadto, dodając go do katalogu archiwów apt-get, masz możliwość korzystania z zależności
apt-get install packagename
. Umożliwi to zainstalowanie go z dowolnymi ręcznie dodanymi zależnościami zamiast samodzielnego systemu opartego na archiwum dpkg.źródło
Nowoczesne apt-get może być użyte do zainstalowania pakietu po prostu za pomocą
apt-get install /path/to/package/name.deb
.(należy wykonać jako edycję na najwyższą odpowiedź, ale została ona odrzucona - patrz https://unix.stackexchange.com/posts/159114/edit )
źródło
apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
To jest bardzo proste, jeśli chcę zainstalować Chrome.
Zainstaluj plik Chrome jako:
Czasami istnieje ryzyko wystąpienia błędów zależności, takich jak:
Aby rozwiązać powyższe problemy, musisz dodać zależności; wydać następujące polecenie:
Po wydaniu powyższego polecenia zależności zostaną dodane do twojego komputera i
.deb
plik pakietu Debian ( ) zostanie zainstalowany.źródło