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