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


112

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 - & gt; unpack - & gt; ./configure - & gt; make - & gt; make install

Letzteres ist ein echtes Problem, insbesondere unter Windows, wo eine Programminstallation in der Regel mit einem Klick und einem netten 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?

Und was ist mit yum vs up2date. Ich habe den Unterschied noch nie geklärt.
Josh

apt-get ist für Debian und sollte auf CentOS wirklich nicht auftauchen ...
Kyle Strand

Antworten:


106

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

  • ./configure & amp; & amp; machen installieren

    Laufen ./configure && make install Erstellt und installiert die Bibliotheken oder ausführbaren Dateien direkt aus dem Quellcode.

    Das make install Schritt kopiert im Grunde nur die endgültigen Dateien in Ihr System. Viele Quellen kommen mit einem besonderen make uninstall Regel, um sie wieder zu entfernen, aber dies ist 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. Ebenfalls, ./configure Akzeptiert 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, sollten Sie häufig sicherstellen, dass diese RPMs für Ihre Distribution geschrieben wurden, damit sich Installationspfade, Abhängigkeiten und andere Verwaltungsaufgaben gut integrieren lassen.

    Auf Debian-Systemen lautet das entsprechende Paketformat .deb und die Installation und Datenbank wird von der gehandhabt dpkg Werkzeug.

  • Lecker

    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 ).

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


ziemlich genau das, was ich sagen wollte. fügte eine Erwähnung der Debian-Äquivalente hinzu und verbesserte die Formatierung.
quack quixote

1
@quack: Danke. Aber können wir nicht alle nur vertuschen? apt-get oder ist es trotzdem für irgendwas zu empfehlen?
Benjamin Bannier

1
Du hast recht, Eignung ist wahrscheinlich das bessere zu empfehlen; ich schloss ein passend weil es weit verbreitet ist und ein Leser, der nichts davon weiß Eignung haben vielleicht davon gehört passend .
quack quixote

3
Was ist los mit apt-get?
recursive

4
@recursive: Irgendwann apt-get zeichnete keine automatischen Abhängigkeiten auf und ließ sie nach einer Deinstallation zurück aptitude dann wurde die ordnungsgemäße Abhängigkeitsverfolgung eingeführt. Zusätzlich wurden dann auch einige zusätzliche Funktionen bereitgestellt, die in nicht verfügbar sind apt-get. Ich bin nicht sicher, aber ich denke irgendwann apt-get und aptitude Es wurde aktualisiert, um dasselbe, erweiterte Back-End zu verwenden, das einen Großteil dieser Funktionalität bietet.
Benjamin Bannier

4

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.