Was ist der Unterschied zwischen Deb-Paketen und Teerbällen? Was sind die Vor- und Nachteile von jedem?

9

Ich weiß nichts über Teerbälle. Die meisten Pakete sind in den Tar-Ball-Formen verfügbar, aber Ubuntu-Pakete sind Debian-Pakete.

Was ist der Unterschied zwischen Deb-Paketen und Teerbällen?

Was sind die Vor- und Nachteile von jedem?

Siraj
quelle

Antworten:

7

Teerbälle sind normalerweise Quellcode, den Sie kompilieren müssen. Debs sind vorkompilierte Programme, die bereits für Ubuntu / Debian erstellt und konfiguriert wurden.

Ich würde dringend empfehlen, Debs zu verwenden, wenn diese verfügbar sind, da sie einfacher sind und sich in den Paketmanager integrieren lassen, sodass Sie sie problemlos deinstallieren können.

Debs installiert auch alle erforderlichen Abhängigkeiten. Die Installation von der Quelle kann zu dem führen, was liebevoll als "Abhängigkeitshölle" bezeichnet wird. Die meisten Open-Source-Programme hängen von mehreren anderen Programmen / Bibliotheken ab, um zu funktionieren. Bei der Installation von der Quelle werden diese nicht installiert und stattdessen (hoffentlich) beschwert, dass eine Abhängigkeit nicht erfüllt ist. Sie versuchen dann, diese Abhängigkeit zu installieren, und dann bombardiert sie, was eine weitere Abhängigkeit usw. usw. erfordert.

Die Installation von der Quelle aus kann Ihre Dateien auch an unerwarteten Orten ablegen, da verschiedene Distributionen etwas anders angeordnet sind.

Wenn ich ein Programm installieren muss, versuche ich meine Optionen in dieser Reihenfolge:

  1. Schauen Sie im Software Center nach. Dies ist offensichtlich die einfachste, obwohl das Software Center nicht allumfassend ist und nicht mit den neuesten Versionen auf dem neuesten Stand ist.

  2. Versuchen Sie, ein Repository zu finden, das es bereitstellt. Durch Hinzufügen eines Repositorys wird das Programm im Software Center angezeigt, erhält zeitnahe Upgrades usw.

  3. Suchen Sie nach einem .deb-Paket.

  4. Von der Quelle installieren (Teerkugel).

ehrwürdig
quelle
6

Teerbälle sind nur eine andere Form der Kompression wie Reißverschluss. Obwohl sich die Formate und Techniken der Komprimierung unterscheiden, handelt es sich im Grunde genommen um einen Container für eine Gruppe von Dateien und Ordnern.

Normalerweise werden der Quellcode und die von ihm benötigten Dateien von der Person / Gruppe, die die Software in Form eines Teerballs geschrieben hat, im Internet zur Verfügung gestellt. Sie können es also herunterladen, entpacken, die Software kompilieren und installieren.

Deb-Pakete vereinfachen diesen Installationsprozess jedoch, indem sie einen Standard beibehalten. Die im Internet verfügbare Software wird von den Betreuern der Debian-Pakete übernommen, in die entsprechenden .deb-Pakete aufgenommen und in das Debian-Repository gestellt.

Geben Sie hier die Bildbeschreibung ein

Sie können darüber in einem Debian Package Maintainer-Blog hier lesen: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

Was die Vor- und Nachteile betrifft, werden .deb-Pakete von Paketmanagern wie apt und aptitude verwaltet. Wenn Sie also eine Software damit installieren, ermitteln diese automatisch, ob Sie über die Abhängigkeiten verfügen, die zum Ausführen dieser Software auf Ihrem System erforderlich sind, und installieren sie für Sie.

Wenn Sie jedoch eine Teerballinstallation verwenden, müssen Sie herausfinden, wovon diese Software abhängt, und jedes Mal müssen Sie manuell überprüfen, ob die Abhängigkeiten der von Ihnen installierten Software bereits zuvor installiert wurden.

Aber apt erledigt das alles für Sie.

Bei der Installation von der Quelle (Installation von Teerbällen) gibt es unterschiedliche Methoden für unterschiedliche Software. Es gibt die GNU-Philosophie der Konfiguration-Make-Make-Installation und es gibt andere Methoden, je nachdem, wie die Software geschrieben ist.

Durch die Konvertierung in deb werden jedoch alle diese Unterschiede vollständig beseitigt und der Benutzer kann die Software leichter installieren und verwenden.

Noch ein Punkt. Wann müssen Sie von der Quelle installieren? Das ist von einem Teerball? Grundsätzlich gibt es zwei Situationen.

  1. Wenn das Debian-Verpackungsteam noch keine Software verpackt hat.
  2. Wenn Sie zum Projekt beitragen möchten. Das heißt, Sie können Änderungen am Quellcode vornehmen, ihn kompilieren und die Änderungen testen.

Wenn Sie mehr über Debian-Verpackungen erfahren möchten, können Sie diese hier lesen: http://www.debian.org/doc/manuals/maint-guide/

Hoffe das hilft.

harisibrahimkv
quelle
1

Debian-Pakete (und damit Ubuntu-Pakete) sind eine Sammlung von Binärdateien und zugehörigen Anweisungen für ihre Installation. Dies bedeutet, dass das Paket selbst weiß, wie und wo es installiert werden muss, und dass es auch die Liste der Pakete kennt, von denen es abhängt.

Quell-Tarballs (Dateien mit der Erweiterung .tar.gzoder .tar.bz2- oder sogar .tgz oder .tbz2 ) sind einfach Sätze von Dateien und Verzeichnissen, die zusammen mit dem tarDienstprogramm gepackt und auch mit entweder gzipoder komprimiert wurden bzip2. Um den Quellcode zu erstellen, müssen Sie:

  1. entpacken Sie die Dateien mit tar xvfz file.tar.gzoder tar xvfj file.tar.bz2(in einem leeren Verzeichnis)
  2. Konfigurieren Sie das Paket mit ./configure(das Paket testet das System, um festzustellen, ob alles in Ordnung ist, bevor Sie mit der Kompilierung beginnen).
  3. Starten Sie die Kompilierung mit make
  4. Wenn Sie möchten, führen Sie make installdie Installation aus, um die Anwendung an ihrem "Standard" -Standort zu installieren (normalerweise in / usr / {s} bin oder / usr / local / {s} bin, dies hängt jedoch von der Anwendung und der Verteilung ab.)

Die Hauptvorteile von Debian / Ubuntu-Paketen in Bezug auf Quell-Tarballs sind, dass Pakete "in sich geschlossen" sind und ihre Binärdateien verfolgt werden. Dies bedeutet, dass der Entpackungsprozess für den Benutzer transparent ist, der nur (ungefähr) ein Paket pro Anwendung sieht. Der Benutzer muss sich nicht einmal daran erinnern, welche Dateien eine bestimmte Anwendung wo installiert hat, sodass das Installieren / Entfernen von Anwendungen (meistens) zu einem Ein-Anweisungen-Prozess wird.

Die Hauptvorteile von Quell-Tarballs gegenüber Binärpaketen bestehen darin, dass im ersten Fall der Quellcode direkt auf dem Zielcomputer kompiliert und dann entsprechend optimiert werden kann. Darüber hinaus kann in bestimmten Fällen sogar das beste Paketsystem kaputt gehen (z. B. zu neue oder zu alte Softwarepakete), und offizielle Pakete werden normalerweise von Servern gelöscht, wenn sie zu alt werden. In diesen Fällen muss man das Internet manuell nach der gewünschten Anwendung und nach den spezifischen Bibliotheken in bestimmten Versionen durchsuchen, um alle Abhängigkeiten zu erfüllen.

Avio
quelle
1
Ein kleiner Punkt. Die Schritte "Konfigurieren, Erstellen, Installieren" gelten für Software, die die GNU-Automake-Build-Philosophie verwenden. Es gibt Software, die auf verschiedene Arten aus der Quelle (aus Teerbällen) erstellt werden kann. Daher ist es möglicherweise nicht richtig zu sagen: "Um die Quelle zu erstellen, konfigurieren, erstellen, installieren". Der beste Weg, es auszudrücken, könnte sein: "Um von der Quelle zu installieren, lesen Sie die README- oder INSTALL-Datei in der Quelle und befolgen Sie die dort genannten Schritte. Beachten
Harisibrahimkv
Ja, ich habe gerade über diese Art von Methode gesprochen, weil sie von der überwiegenden Mehrheit der Quell-Tarballs übernommen wird.
Avio
Keine Debatte dort. :)
Harisibrahimkv
1

Ich kann einige ziemlich gute Antworten sehen, die bereits veröffentlicht wurden. Es gibt jedoch einige Dinge, die angegangen werden müssen.

Im Gegensatz zu dem, was beim Kompilieren aus dem Quellcode als "Abhängigkeitshölle" bezeichnet wird, können Sie Ubuntu tatsächlich so konfigurieren, dass diese Abhängigkeiten beim Kompilieren aus einem Tarball / einer beliebigen Quelle automatisch installiert werden.

Lesen Sie hier, wie das geht:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

Wenn Sie dieses Abhängigkeitsproblem beiseite lassen, ist das Gute an Tarballs, dass Sie viele installationsbezogene Dinge wie Installationsort usw. sehr einfach konfigurieren können, wenn Sie von der Quelle aus installieren.

Auch das Wort "Debian-Pakete" könnte Sie in diesem Zusammenhang verwirren. Denken Sie daran, dass es Debian-Pakete in zwei Typen gibt, wie hier angegeben:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

Wenn Sie nur über Deb-Dateien sprechen, handelt es sich im Allgemeinen um kompilierte Software wie die oben genannten Antworten.

Bharadwaj Srigiriraju
quelle