it-swarm.com.de

Was ist der Unterschied zwischen yum, apt-get, rpm, ./configure && make install?

Ich bin neu in Linux und verwende CentOS. Ich habe vier Möglichkeiten gefunden, um Software zu aktualisieren oder zu installieren.

Bisher habe ich gesehen:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

Letzteres ist ein echtes Problem, insbesondere unter Windows, wo eine Programminstallation in der Regel mit einem Klick und einem Nizza-Installationsassistenten ausgeführt wird.

Meine Fragen lauten also:

  • Warum gibt es unter Linux so viele verschiedene Möglichkeiten?
  • Welches empfehlen Sie und warum?
  • Gibt es andere Möglichkeiten, Programme unter Linux zu installieren?
118
Saif Bechan

Diese Tools installieren alle Software auf Ihrem System, arbeiten jedoch auf verschiedenen Ebenen.

  • ./configure && make install

    Beim Ausführen von ./configure && make install werden die Bibliotheken oder ausführbaren Dateien direkt aus dem Quellcode erstellt und installiert.

    Der Schritt make install kopiert einfach die endgültigen Dateien in Ihr System. Viele Quellen haben eine spezielle make uninstall-Regel, um sie wieder zu entfernen. Dies ist jedoch nicht garantiert und funktioniert natürlich nur, solange Sie die konfigurierten Quellen haben. Dies berücksichtigt auch nicht die erforderlichen Abhängigkeiten.

    Häufig ist nur der Quellcode für ein bestimmtes Paket verfügbar, daher ist dies der einzige Weg. Außerdem akzeptiert ./configure normalerweise viele Optionen, mit denen Sie Ihr Paket anpassen können.

    Die Unfähigkeit, herauszufinden, welche Software welche Datei installiert hat, und das Fehlen einer zuverlässigen Möglichkeit, sie aus dem System zu entfernen, sind Hauptmängel dieses Ansatzes.

  • RPM(Redhat Package Manager)

    rpm installiert bereits konfigurierte und kompilierte Software auf Ihrem System und wird auch deinstalliert, um sie wieder zu entfernen. Die Pakete müssen von jemandem erstellt werden. Diese Person hat bereits entschieden, welche Funktionen enthalten sein sollen und wie das Paket am besten in Ihr Systemlayout integriert werden soll. Es kommt auch mit einer Liste von Abhängigkeiten.

    Da RPMs für viele Distributionen verwendet werden, möchten Sie häufig sicherstellen, dass diese RPMs für Ihre Distribution geschrieben wurden, damit Installationspfade, Abhängigkeiten und andere Housekeeping-Funktionen gut integriert werden können.

    Auf Debian-Systemen lautet das äquivalente Paketformat .deb und die Installation und die Datenbank werden vom Tool dpkg verwaltet.

  • Yum

    yum ist ein zusätzlicher Wrapper um rpm. Es hält eine eigene Datenbank mit RPM-Dateien für Ihre Distribution bereit, in der Regel in Online-Repositorys. Für die stabilen Versionen der meisten Distributionen spielen alle Pakete in dieser Datenbank gut miteinander. Diese Datenbank kann durchsucht werden (z. B. mit yum search some_name).

    Außerdem werden Abhängigkeiten automatisch für Sie aufgelöst. Pakete (und mit etwas zusätzlicher Hilfe deren Abhängigkeiten) können ebenfalls leicht deinstalliert werden.

    Auf Debian-Systemen werden die entsprechenden Repository- und Abhängigkeitsauflösungstools von Apt (apt-get und aptitude) bereitgestellt.

Um es zusammenzufassen: Wenn Sie nur eine Software wollen, versuchen Sie zuerst yum. Wenn es dort nicht verfügbar ist, können Sie versuchen, ein vorhandenes rpm-Paket zu finden. Wenn es keine gibt oder Sie spezielle Anforderungen haben, bauen Sie aus dem Quellcode auf.

109

Yum und RPM sind dasselbe, außer dass Yum die Pakete automatisch aus dem Netz holt und sie in einem Schritt (mit rpm -i) installiert. Es sollte nach Möglichkeit verwendet werden, um die Aktualisierung zu vereinfachen. Verwenden Sie rpm nur, wenn von yum kein Paket gefunden werden kann, und verwenden Sie die Methode make nur, wenn kein RPM-Paket verfügbar ist oder Sie einige Optionen für die Kompilierungszeit ändern müssen.

4
marcusw