Antworten:
apt-get und aptitude sind verschiedene Benutzeroberflächen, die Teil desselben Paketverwaltungssystems, APT, dem Advanced Packaging Tool, sind . Beispielsweise werden beide mit konfiguriert /etc/apt/apt.conf, beide verwenden denselben Dateibereich und dieselben Formate, um den Paketstatus darzustellen, und denselben Dateibereich, um heruntergeladene .debs zu speichern.
Wie sie sich unterscheiden, ist ihr internes Regelsystem, das potenzielle Konflikte zwischen Paketen darstellt, wie sie gelöst werden (z. B. während apt-get dist-upgradevs. aptitude full-upgrade) und wie diese bei der Interaktion mit dem Benutzer ausgedrückt werden. Im Allgemeinen können beide in schwierigen Situationen das Falsche tun, aber apt-get macht es viel wahrscheinlicher falsch als aptitude.
Viele gute Ratschläge sind bereits hier, aber lassen Sie mich eine Sache hinzufügen, die niemand erwähnt hat. Wenn Sie sich für einen Wechsel entscheiden, möchten Sie diesen Befehl möglicherweise ausführen, je nachdem, was Sie bisher gemacht haben apt-get:
aptitude keep-all
Dieser Befehl setzt aptitudedie Wahrnehmung zurück , welche Pakete Waisen sind und entfernt werden sollten.
Hier ist der Grund , warum es manchmal nützlich: für eine Weile jetzt, beide apt-getund aptitudewerden Pakete verfolgen , die automatisch als Abhängigkeit von etwas anderem installiert wurden. Wenn Sie beispielsweise installieren mpd, erhalten Sie möglicherweise lib-so-and-soeine Abhängigkeit. Sie tun dies, damit, wenn Sie später entfernen mpd, auch lib-so-and-soentfernt wird. Aber aptitudeund apt-getdamit anders aufräumen. aptitudeversucht sofort, alle verwaisten Abhängigkeiten zu entfernen; aber apt-getschlägt nur vor, dass Sie laufen, apt-get autoremoveum aufzuräumen. (Die Logik dahinter ist, dass Sie die Bibliothek erst erhalten haben, seit Sie sie mpdbenötigt haben. Wenn Sie sie nicht behalten mpd, sollten Sie sie nicht mehr benötigen. Wenn noch ein anderes Paket davon abhängt, dann beide aptitudeundapt-get wird dies wissen und nicht versuchen, die Bibliothek zu entfernen.)
Was ist mein Punkt? Nun, wenn Sie ständige Anstöße gesehen haben apt-get autoremoveund zu wechseln, aptitudekönnen Sie beim ersten Versuch, etwas zu installieren, einen Schock erleben. aptitudeIch werde sofort versuchen, all diese Waisenkinder zu entfernen. Im Allgemeinen ist dies in Ordnung (sie sind schließlich Waisen und nicht notwendig), aber es gibt einen komplizierenden Fall. Die Desktop-Metapakete beinhalten alle eine komplexe Abhängigkeitskette, in der jedes einzelne Programm als Abhängigkeit eines virtuellen Paket-Wrappers abgerufen wird. Wenn Sie beispielsweise Gnome installiert haben, weil Sie das gnomePaket installiert haben , wurden alle Ihre normalen Desktop-Programme als Abhängigkeiten installiert. Wenn Sie eines dieser Programme (z. B. Ekiga oder Gedit) deinstalliert haben, dann in den Augen vonaptitudeDer Rest Ihres Desktops sollte ebenfalls entfernt werden. Beachten Sie, dass aptitude immer gefragt wird, bevor Dinge entfernt werden, aber die Leute oft 'Y' eingeben, ohne zu lesen. Nach meiner Erfahrung ist dies die häufigste Beschwerde / Verwirrung für Leute, die neu bei Debian sind.
Zwei allgemeine Ratschläge:
aptitudeoder apt-getsorgfältig, bevor ja zu etwas zu sagen.aptitude -s safe-upgradeoder immer einen Trockenlauf durchführen können aptitude -s install foo. Die -s|--simulateFlagge ist dein Freund.Auf der Debian-Mailingliste wurde vor Jahren gesagt, dass der Wechsel von apt-get zu aptitude riskant sei. Dies ist zwei Debian-Versionen (sagen wir 10 Jahre) vor. All diese Probleme scheinen jetzt gelöst zu sein, und sicherlich habe ich weder unter Debian noch unter Ubuntu Probleme gesehen.
apt-getzu aptitude. Damals haben sie viele wesentliche Funktionen sehr unterschiedlich gehandhabt. Im Laufe der Zeit sind sie sich viel ähnlicher geworden und aptitudeeine Tonne gereift. In 90% der Fälle sollte es jetzt keine Probleme geben, wenn Sie wechseln. Siehe meinen Beitrag für einen Randfall.
Ich würde auch sagen, mach weiter und benutze aptitude.
Aptitudehat ein besseres Abhängigkeitsmanagement als apt-get. Dies hilft dabei, die Anzahl verwaister Pakete niedrig zu halten.
Ich habe vor einiger Zeit gelesen, dass aptitudeder Algorithmus zum besseren dist-Upgrade im Vergleich zu apt-get. Aber das ist kaum ein Killer-Feature, da es in der Lebensdauer eines Systems nicht so oft verwendet wird.
Außerdem haben Sie mehr Dinge in einem Tool vereint. Anstatt mich daran zu erinnern, wann oder mit welchen Schaltern ich anrufen soll apt-get, benutze ich einfach die Fähigkeit und erledige die meisten Dinge.apt-cachedpkg
Was die Komplikationen beim Wechsel "in der Mitte" betrifft: Ich kann mich nicht erinnern, welche gehabt zu haben, als ich es getan habe.
Sind sie nicht nur eine andere Schnittstelle zum selben Backend?
aptitudeist eine funktionsfähigere Oberfläche ...
dpkg. dpkginstalliert aber nur die Pakete; Es sind die Frontends, die für die Suche, die Auflösung von Abhängigkeiten und das Herunterladen zuständig sind.
Nach meiner Erfahrung haben sie eine andere Art, Paketversionen zu fixieren. In meinem Fall habe ich aptitude angewiesen, bestimmte Pakete zu sperren, vorausgesetzt, ich bin vor zukünftigen Updates sicher. Ich lag falsch; Der von Cron geplante Update-Manager, der apt-get verwendet, aktualisiert es zu meiner Bestürzung.
Drats, als ich dies schrieb, googelte ich und fand heraus, dass der Fehler ( # 557580 Eignung gehorcht nicht den Pins in den Einstellungen.d / *) bereits behoben wurde!
Ich benutze sowohl apt-get als auch aptitude ohne Probleme: Ich habe die gleiche Frage ... Warum sagen die Leute das ??? : D.
Gehen Sie weiter, und keine Sorge: Eignung ist nur ein Text-gui für apt-get, dass Sie auch als Kommandozeilen - Anwendung verwenden, zum Beispiel könnten apt-get install foodie gleiche ist wie aptitude install foo.
Grüße
apt-getbieten auch das automatische Entfernen von Paketen, die nur als Abhängigkeiten installiert sind. Der verbleibende Unterschied in dieser Hinsicht besteht darin, dass aptitudedie Abhängigkeiten (je nach Bedarf) sofort entfernt werden, Sie jedoch apt-getnur aufgefordert werden, den Befehl auszuführen apt-get autoremove. Aber beide verfolgen Abhängigkeiten jetzt auf die gleiche Weise. Sie unterscheiden sich jedoch immer noch in der Behandlung komplexer Abhängigkeiten und Randfälle (sehr komplizierte Installationen oder Entfernungen), aber für die Mehrheit der Menschen und die meisten Situationen funktionieren sie jetzt gleich.
aptitudeentfernt sie sofort,apt-getfordert Sie jedoch nur durch Eingabe des Befehls auf, sie zu entfernenapt-get autoremove. Im Allgemeinen möchten sie dieselben Elemente entfernen. Siehe diesen Link für einen komplexen Fall, in dem sie sich nicht einig waren