Czy podczas instalowania oprogramowania za dpkg -i packageA.debpomocą zależności packageAbędą pobierane i instalowane automatycznie? Czym różni się to od używania apt-getlub aptitude?
Czy podczas instalowania oprogramowania za dpkg -i packageA.debpomocą zależności packageAbędą pobierane i instalowane automatycznie? Czym różni się to od używania apt-getlub aptitude?
Odpowiedzi:
Nie, dpkgtylko instaluje pakiet, więc dpkg -i packageName.debspowoduje to zainstalowanie tylko tego pakietu Deb i powiadomi o wszelkich zależnościach, które należy zainstalować, ale nie zainstaluje ich i nie skonfiguruje, packageName.debponieważ cóż ... zależności są nie tam.
apt-getto system zarządzania pakietami, który obsługuje instalację pakietów Deb w dystrybucjach Linuksa opartych na Debianie . System zarządzania pakietami to zestaw narzędzi, które pomogą Ci łatwo instalować, usuwać i zmieniać pakiety. To apt-getjest jak sprytne dpkg.
Lubię myśleć o osi czasu w ten sposób (poniżej mówię tylko z doświadczenia. Ma on na celu dać ci tylko wyobrażenie o tym wszystkim):
Wymyślili sposób na „przechowywanie” plików aplikacji w „pakiecie”, aby można je było łatwo zainstalować. Tak narodził się pakiet Deb ( .debplik rozszerzenia ).
.debPlik zawiera pliki potrzebne do uruchomienia aplikacji, a także (I jak to nazwać) „metadane”, która posiada inne informacje, takie jak nazwy w zależności od potrzeb aplikacji. Jeśli chcesz zobaczyć zawartość.debpliku, możesz użyć poleceniadpkg -c packageName.deb, a jeśli chcesz zobaczyć te informacje o „metadanych”, użyj poleceniadpkg -I pacakgeName.deb(a jeśli chcesz zobaczyć tylko zależności, zrób todpkg -I packageName.deb | grep Depends).
Potrzebowali narzędzia do zainstalowania tych .debplików, więc wymyślili to dpkgnarzędzie. To narzędzie jednak po prostu zainstaluje .debplik, ale nie zainstaluje swoich zależności, ponieważ nie ma tych plików i nie ma dostępu do „repozytoriów”, z których można pobrać zależności.
apt-get, co automatyzuje problemy w poprzednim punkcie. Pod maską apt-getjest w zasadzie dpkg(lubię myśleć o nim jako apt-geto front-endie dpkg), ale sprytny, który będzie szukał zależności i je instalował. Sprawdza nawet aktualnie zainstalowane zależności i określa te, które nie są używane przez żadne inne pakiety, i informuje, że możesz je usunąć.aptitudepotem przyszedł. Korzysta z biblioteki apt-getzastosowań i faktycznie ma interaktywny UI (interfejs użytkownika). Jeśli chcesz zobaczyć ten interfejs, po prostu wpisz aptitudeterminal. To aptitude . Wykorzystuje biblioteki, aby zapewnić więcej opcji i dodatków niż apt-get. Na przykład aptitudeautomatycznie usunie odpowiednie pakiety, podczas gdy apt-getpotrzebuje do tego osobnego polecenia. Ale w końcu robienie sudo aptitude install packageName.debpowinno być co najmniej takie samo jak sudo apt-get install packageName.deb. Mogą istnieć subtelne różnice tu i tam, o których nie wiem, ale oboje będą szukać zależności i robią wszystkie te rzeczy. Możesz przeczytać odpowiedź tutaj, aby uzyskać więcej informacji na temat różnic między aptitudei apt-get.
Ponadto aptitudenie ma super krowich mocy.
EDYCJA: Najwyraźniej tak.
aptitude -v[v[v[v[v]]]] moo.
aptitudemoże nie być domyślnie zainstalowany. Aby go zainstalować, zrób sudo apt-get install aptitudelub kliknij: aptitude .
Poniższe informacje nie odpowiadają bezpośrednio „ Jaka jest różnica między dpkg a aptitude / apt-get? ”, Ale przyczynia się do uzyskania większego obrazu.
Od Carlos Campderrós ' komentarzu poniżej :
gdebito kolejne narzędzie będące mieszanką między apt-geti aptitude. Kiedy użyjesz go do zainstalowania .debpakietu ( gdebi packageName.deb), zidentyfikuje brakujące zależności, zainstaluje je za pomocą apt-get, a następnie ostatecznie zainstaluje i skonfiguruje pakiet za pomocą dpkg. Ma nawet prosty i czysty interfejs GUI, który zawiera informacje o .debpakiecie, plikach zawartych w pakiecie oraz o zależnościach, które należy zainstalować. Aby zobaczyć ten GUI, zrobiłbyś gdebi-gtk packageName.deb. Możesz gdebispróbować, instalując go za pomocą sudo apt-get install gdebilub klikając: gdebi .
Nie chcę nikogo mylić, ale po prostu, aby dać ci inną część obrazu, istnieje inny popularny format pakietu Linux o nazwie RPM, a jego pliki mają .rpmrozszerzenie. Ten format pakietu jest używany w dystrybucjach Linuksa opartych na RPM (takich jak Red Hat, CentOS i Fedora). Używają polecenia, rpmaby zainstalować pakiet i yumjest to front-end, jest to sprytny. Więc ich .rpmpliki są naszymi .debplikami, ich rpmnarzędzie jest naszym dpkgnarzędziem, a ich yumjest naszym apt-get.
Od Paddy Landau „s komentarzu poniżej :
aliento narzędzie, które konwertuje pakiety .rpmi .deb. Więc jeśli kiedykolwiek wpadniesz w sytuację, w której masz .rpmpakiet i chcesz zainstalować na Ubuntu (lub innej dystrybucji opartej na Debianie), możesz użyć polecenia, alien rpm_packageName.rpmaby go przekonwertować .deb, a następnie zainstalować przy użyciu dpkg. Możesz zrobić odwrotnie (przekonwertować .debna .rpm) za pomocą alien -r packageName.deb.
gdebi( apt-get install gdebi-core), która łączy apt-get/ aptitudez dpkg. Wywołujesz go za pomocą, gdebi some_package.deba on przeanalizuje jego zależności, wezwie apt-getdo zainstalowania brakujących, a kiedy wszystkie zależności zostaną spełnione, a następnie zadzwoni, dpkgaby w końcu zainstalować pakiet.
alienkonwertuje pakiety między .rpmi .deb. Jest to przydatne w przypadku pakietów dostępnych dla RPM, ale nie dla DEB (lub odwrotnie). Na przykład, alien packagename.rpmaby uczynić go użytecznym dla Ubuntu.
aptitudenie jest nakładką na apt-get. Oba programy stanowią nakładki na libapt-pkgbibliotekę.
Zarządzanie pakietami apt-getodbywa się równolegle z /etc/apt/sources.listplikiem.
apt-get install <package_name>
instaluje nowy pakiet na twoim komputerze.
apt-get build-dep <package_name>
To polecenie przeszukuje repozytoria i instaluje zależności kompilacji. Jeśli pakiet nie znajduje się w repozytoriach, zwróci błąd.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get umożliwia instalację wielu pakietów. oddziel paczki spacją.
auto-apt run <command_string>
Po wywołaniu komenda auto-apt automatycznie instaluje pakiety w przypadku braku dostępu do pliku. Jeśli program spróbuje uzyskać dostęp do pliku, o którym wiadomo, że należy do odinstalowanego pakietu, auto-apt zainstaluje ten pakiet przy użyciu apt-get. Ta funkcja wymaga apt i sudo do działania.
Odwiedź stronę instrukcji apt-get
aptitudezapewnia funkcjonalność dselecti apt-getwiele dodatkowych funkcji, których nie ma w żadnym programie.
aptitude ma własną powłokę, która jest aktywowana za pomocą klawiatury lub myszy i działa w oknie terminala
aptitude build-dep <package> - Zainstaluj zależności kompilacji pakietów - co oznacza pakiety potrzebne do skompilowania (lub kompilacji ) pakietu źródłowego. Na przykład, wiele pakietów trzeba debhelperalbo autotoolsbyć zbudowany, ale nie trzeba je uruchomić.
Odwiedź stronę z instrukcjami dotyczącymi umiejętności
jest narzędziem do instalowania, budowania, usuwania i zarządzania pakietami Debiana. połączyć
dpkg -i <package.deb>instaluje pakiet Debian na twoim komputerze. Nie instaluje żadnych zależności, o ile mogę dowiedzieć się z plików pomocy.
Aby uzyskać szczegółowe informacje, wpisz dpkg --helpw oknie terminala.
przewodnik po zarządzaniu plikami można znaleźć tutaj
Myślę, że najważniejszą rzeczą, a także różnicą jest to, że powinieneś używać apt-getnarzędzia do instalowania pakietów. ( aptlub też aptitudejest w porządku).
Jest tak, ponieważ dpkgma na celu instalowanie pakietów bez instalowania pakietów zależnych. Z tego powodu samo zainstalowanie pakietu dpkgmoże spowodować późniejszy problem, w wyniku którego rozwiązywanie zależności może doprowadzić do uszkodzenia systemu.
Do zainstalowania pakietów należy użyć wiersza polecenia apt-getlub apt(od 14.04) narzędzia. Te narzędzia są dpkgdla Ciebie używane, a jednocześnie mają w sobie mechanizm rozwiązywania zależności.