Heim  >  Artikel  >  System-Tutorial  >  Vollständige Analyse der Installationsschritte und -strategien der CentOS7-Software

Vollständige Analyse der Installationsschritte und -strategien der CentOS7-Software

王林
王林nach vorne
2024-01-04 09:40:10861Durchsuche

Offiziell kam ich 2010 mit Linux in Kontakt. Die Einstiegsdistribution war Ubuntu 10.10 und wurde später auf Ubunu 11.04 umgestellt. In dieser Zeit habe ich auch viele andere Mainstream-Distributionen ausprobiert. Nachdem ich das Labor betreten hatte, begann ich mit CentOS 5, dann CentOS 6 und entwickelte mich nun zu CentOS 7 weiter.

Ich benutze Linux seit vier Jahren. Die ersten drei Jahre habe ich damit verbracht, herumzuspielen, viel Zeit zu verschwenden und viel Erfahrung und Lektionen zu sammeln. Vielleicht bin ich jetzt wirklich alt und möchte mich nicht mehr damit befassen. Ich hoffe nur, dass ich ein System nach der Konfiguration weiterhin verwenden kann.

Warum diesen Artikel schreiben/lesen

Bei der Verwendung von Linux, insbesondere CentOS, werden Sie auf einige Fallstricke oder Dinge stoßen, die Menschen mit Mysophobie nicht tolerieren können:

Die Softwarepaketversion in der offiziellen Quelle ist zu alt und kann die funktionalen Anforderungen nicht erfüllen. Beim manuellen Kompilieren der Software treten standardmäßig unterschiedliche Dateien in unterschiedlichen Unterverzeichnissen auf. Softwareaktualisierungen und -löschungen sind umständlich. Warte...

Nachdem ich CentOS mehrmals neu installiert habe, habe ich die folgenden Softwareinstallationsmethoden und -prinzipien zusammengefasst, um die Stabilität und Sauberkeit des aktuellen Systems so weit wie möglich sicherzustellen und den durch Systemhysterie verursachten Drang zur Neuinstallation so weit wie möglich zu reduzieren.

Das Folgende ist auf CentOS7 beschränkt und kann sich auf andere Distributionen beziehen.

Offizielle Quelle

Unter den vier offiziellen Quellen, die mit CentOS geliefert werden, werden Basis, Updates und Extras standardmäßig geöffnet. Diese drei Quellen enthalten etwa 9.000 Softwarepakete und sind die stabilsten und vertrauenswürdigsten Quellen.

Wenn sich ein Paket also im offiziellen Repository befindet, sollte es vom offiziellen Repository installiert werden:

sudo yum install PackageName

Quellen Dritter

Obwohl die offizielle Quelle viele Softwarepakete enthält, kann sie den täglichen Bedarf nicht decken. Glücklicherweise gibt es Quellen Dritter, die die offiziellen Quellen ergänzen können.

Bei der Verwendung von Quellen Dritter haben wir am meisten Angst vor diesen beiden Problemen:

Die Drittanbieterquelle und die offizielle Quelle haben das gleiche Paket, was dazu führt, dass das offizielle Quellpaket durch die Drittanbieterquelle ersetzt wird und das gleiche Softwarepaket in mehreren Drittanbieterquellen vorhanden ist und die Versionen inkonsistent und widersprüchlich sind;

Diese beiden Probleme sind oft fatal und haben verschiedene unerwartete Folgen. Daher müssen Sie bei der Auswahl einer Drittanbieterquelle die folgenden Grundsätze beachten:

Wählen Sie nur zuverlässige Drittanbieterquellen und stellen Sie sicher, dass die Drittanbieterquellen die Pakete in den offiziellen Quellen nicht ersetzen. Verwenden Sie so wenige Drittanbieterquellen wie möglich, um sicherzustellen, dass es keine Konflikte zwischen Drittanbieterquellen gibt ;

Im Fall von CentOS, laut

Große Quelle von Drittanbietern, es wurde bestätigt, dass sie die offiziellen Quellpakete nicht ersetzen wird und es keinen Konflikt zwischen ihnen gibt. EPEL: Enthält mehr als 6500 Software, die für die wissenschaftliche Forschung unerlässlich ist. ELRepo: Enthält Dutzende Treiber für verschiedene Hardware-Nux Dextop: Multimediabezogenes Softwarepaket (Konflikt mit individueller EPEL-Software und kann ignoriert werden)

Einige kleine Drittanbieterquellen enthalten nur wenige Software. Bestätigen Sie, dass sie nicht mit offiziellen Quellen und EPEL-Quellen in Konflikt stehen. Sie können auch Google Chrome hinzufügen: Google Chrome ist enthalten und steht nicht in Konflikt mit offiziellen Quellen und EPEL-Quellen von Adobe : enthält nur das Flash-Plug-in, es wurde bestätigt, dass es keinen Konflikt geben wird; Dropbox: es enthält nur Dropbox-Software, es wurde bestätigt, dass es keinen Konflikt geben wird;

Wenn sich also ein Softwarepaket in EPEL, ELRepo oder einer kleinen Drittanbieterquelle befindet, fügen Sie die Drittanbieterquelle hinzu und installieren Sie sie mit dem Befehl yum:

sudo yum install PackageName

Offizielles RPM-Paket

Die meiste Nicht-Open-Source-Software ist nicht in offiziellen CentOS-Quellen oder EPEL verfügbar. Auf der offiziellen Website einiger Software werden offizielle RPM-Pakete bereitgestellt. Zu diesem Zeitpunkt können Sie das dem aktuellen System entsprechende RPM-Paket von der offiziellen Website herunterladen und mit dem folgenden Befehl direkt installieren:

sudo rpm -i Paketname.rpm

WPS für Linux ist beispielsweise eines davon. Während des Installationsvorgangs prüft der Befehl rpm automatisch Abhängigkeiten. Wenn die Pakete, von denen die Software abhängt, in der offiziellen Quelle und der EPEL-Quelle gefunden werden können, werden sie automatisch installiert.

Es ist recht einfach, das RPM-Paket direkt zu installieren, aber die Software kann von yum nicht aktualisiert werden, was etwas mühsam ist. Einige Softwareprogramme wie Google, Dropbox und Adobe können tatsächlich über diese Methode installiert werden. Während der Installation werden dem System Quellen hinzugefügt, und diese Software kann weiterhin problemlos aktualisiert und gelöscht werden.

Entpacken und verwenden

Einige Software stellt offiziell komprimierte Pakete bereit und die darin enthaltenen Binärdateien können direkt nach der Dekomprimierung ausgeführt werden, z. B. viele in Java geschriebene Software. Diese Art von Software stellt keinen Quellcode, sondern Binärdateien bereit, die direkt unter der aktuellen Plattform ausgeführt werden können. Die meisten kommerziellen Nicht-Open-Source-Programme verfolgen diesen Ansatz.

Zum Beispiel sublime_text, pycharm, mendeley, TauP, sac usw. direkt dekomprimieren, dann den dekomprimierten Ordner in das Verzeichnis /opt kopieren und dann das bin-Verzeichnis der Software zu PATH hinzufügen. Beispielsweise ist das Installationsskript für Mathematik, Matlab und Intel Studio im Softwarepaket enthalten, und Sie können es installieren, indem Sie das Skript ausführen

Die Gewohnheit unter Linux ist, dass kommerzielle Software oder Software von Drittanbietern im Verzeichnis /opt installiert wird. Dies ist auch der Standardinstallationspfad für die meisten kommerziellen Softwarepakete.

RPM-Paket eines Drittanbieters

Einige Software kann nicht in der CentOS-Quelle und EPEL-Quelle gefunden werden. Das offizielle RPM-Paket wird nicht bereitgestellt, aber andere Quellen von Drittanbietern stellen RPM-Pakete bereit. Nach Situation besprechen:

Wenn die Drittanbieterquelle nur eine kleine Anzahl an Paketen enthält und Sie sicher sind, dass diese Pakete nicht im Widerspruch zur offiziellen Quelle und anderen verwendeten Drittanbieterquellen stehen, können Sie die Drittanbieterquelle hinzufügen. Wenn die Drittanbieterquelle viel Software enthält und wahrscheinlich mit der offiziellen Quelle oder EPEL-Quelle in Konflikt steht, wird die Quelle nicht hinzugefügt. Wenn das Softwarepaket keine komplexen Abhängigkeiten aufweist, installieren Sie das RPM-Paket direkt in der Quelle. Wenn das Softwarepaket auf andere Pakete von dieser Drittanbieterquelle angewiesen ist, geben Sie auf und suchen Sie nach anderen Methoden

Drittanbieter-Paketmanager

Verschiedene Distributionen verwenden unterschiedliche Paketmanager, CentOS verwendet yum und Ubuntu verwendet apt-get. In den letzten Jahren sind einige verteilungsunabhängige Paketmanager von Drittanbietern erschienen, beispielsweise Linuxbrew, Gentoo Prefix und pkgsrc.

Linuxbrew

Linuxbrew ist vom sehr beliebten Homebrew auf der OS-X-Plattform auf Linux portiert. Linuxbrew kann als Ergänzung zum mitgelieferten Paketmanager verwendet werden. Seine Eigenschaften sind:

Die gesamte Software wird im Verzeichnis ${HOME}/.linuxbrew installiert. Die Version der Software ist relativ neu, wenn die Installations-, Deinstallations-, Info-, Listen-, Aktualisierungs-, Aktualisierungs- und anderen Funktionen nicht über das erforderliche Softwarepaket verfügen Bibliothek können Sie ganz einfach selbst Formeln erstellen

Nach dem Ausprobieren besteht eine der Fallstricke darin, dass Linuxbrew das Abhängigkeitsproblem intern löst. Ich habe zum Beispiel versucht, Terminator über Linuxbrew zu installieren, und dann festgestellt, dass Terminator von Python abhängt. Obwohl Python bereits auf dem System installiert ist, installiert Linuxbrew immer noch eine Kopie von Python, und da Python von mehr Dingen abhängt, sind es auch mehr Softwarepakete Unter Hause installiert. Darüber hinaus kompiliert Linuxbrew Software aus dem Quellcode und ist daher relativ langsam.

Quellcode kompilieren

Die meiste Software sollte mit den vorherigen Methoden installiert werden können. Wenn es nicht installiert ist, müssen Sie sich fragen, ob Sie diese Software wirklich installieren müssen. Wenn es nicht unbedingt erforderlich ist, installieren Sie es nicht. Handelt es sich um notwendige Software, muss diese manuell kompiliert werden.

Die gemeinsame Quellcode-Kompilierung umfasst im Allgemeinen die folgenden Schritte. Selbstverständlich wird die konkrete Situation im Einzelfall behandelt:

tar -xvf xxxx.tgz ./configure --prefix=/opt/xxxx make sudo make install

Im Allgemeinen ist das Standardinstallationsverzeichnis dieser Art von Software /usr/local, und die endgültigen Dateien werden in den Verzeichnissen bin, lib, share und man von /usr/local abgelegt.

Ich persönlich mag diese Methode nicht sehr, da sie als aus dem Quellcode kompilierte Software bedeutet, dass der Compiler die volle Verantwortung für die Verwaltung der Software tragen muss. Diese Platzierungsmethode verursacht große Probleme beim Aktualisieren oder Deinstallieren Software. Deshalb füge ich bei der Konfiguration immer ein Präfix hinzu, um den Installationspfad manuell anzugeben. Um die Software zu deinstallieren, löschen Sie einfach das entsprechende Verzeichnis unter /opt. Wenn Sie ein Update durchführen möchten, können Sie es auch zuerst löschen und dann neu kompilieren. Das etwas mühsame daran ist, dass Sie das bin-Verzeichnis der Software manuell zu PATH hinzufügen und möglicherweise auch LD_LIBRARY_PATH ändern müssen. Aber im Allgemeinen gibt es nur sehr wenige Software, die eine Kompilierung des Quellcodes erfordert, sodass dies keine allzu großen Probleme verursacht.

Code kompilieren

Okay, ich weiß eigentlich nicht, wie ich es betiteln soll. .

Der vorherige Abschnitt „Quellcode kompilieren“ konzentriert sich hauptsächlich auf einige große Softwarepakete. Dieser Abschnitt „Code kompilieren“ bezieht sich auf die Verarbeitung einiger hochprofessioneller kleiner Codepakete. Nachdem einige Softwarepakete beispielsweise kompiliert wurden, benötigen sie tatsächlich nur eine Binärdatei. Zu diesem Zeitpunkt ist es nicht erforderlich, sie in /opt zu installieren. Die geeignete Möglichkeit besteht darin, ein bin-Verzeichnis unter Ihrem eigenen HOME zu erstellen und es hinzuzufügen Pfad zu .bashrc und dann hinzufügen. Kopieren Sie einfach die kompilierte Binärdatei in dieses Verzeichnis:

mkdir ${HOME}/bin echo 'export PATH=${HOME}/bin:$PATH'>>

In meinem Verzeichnis ${HOME}/bin befinden sich beispielsweise die folgenden Dateien:

distaz: Geben Sie den Längen- und Breitengrad zweier Punkte auf der Erde an, berechnen Sie den epizentrischen Abstand und den Azimutwinkel pssac: Zeichnen Sie die SAC-Datei in GMT rdseed: Konvertieren Sie das SEED-Format in das SAC-Format win2sac_32, catwin32: Bereitgestellt von der Hi-net-Website für Verarbeitung von Hi-Net-Daten Das Programm st: sublime_text wird im Verzeichnis /opt installiert und hier wird ein Softlink eingerichtet, um den Aufruf von sublime text in der Befehlszeile zu erleichtern: wlt.pl: Das Skript der Schule zum Anmelden im Netzwerk und zum Ändern des Netzwerks Port auf der Befehlszeile, also glücklich fk, fk.pl, syn, trav: Das Programm von Prof. Lupei Zhu zur Berechnung synthetischer Seismogramme. Es werden tatsächlich nur diese drei ausführbaren Dateien und ein Perl-Skript benötigt. Matlab: eine weiche Verbindung, die auf Matlab verweist

Legen Sie keine Binärdateien in den Papierkorb. Hier sollten nur einige häufig verwendete Befehle oder sehr häufig verwendete Tools abgelegt werden.

Eigenständige Software

Es gibt eine Art Software, die über viele Module oder Pakete verfügt. Um diese vielen Module verwalten zu können, benötigen Sie einen eigenen Modul-/Paketmanager. Darunter sind TeX, Perl und Python. Für diese Art von Software sind die zahlreichen Module der größte Vorteil und die wertvollste Ressource, daher entscheide ich mich aus folgenden Gründen normalerweise für die manuelle Installation:

Es ist unmöglich, dass die Systemquelle alle Module der Software enthält; die Aktualisierung der Softwaremodule in der Systemquelle hinkt der neuesten Version weit hinterher;

Auch wenn Sie die mit dem System gelieferte Version verwenden, können Sie das Modul natürlich weiterhin mit dem Paketmanager installieren, der mit der Software geliefert wird. Aber führt zu:

Einige Module werden vom yum des Systems verwaltet, und einige Module werden vom Paketmanager verwaltet, der mit der Software geliefert wird. Die von yum installierten Module haben im Allgemeinen ältere Versionen und der Paketmanager der Software muss größtenteils die neueste Version installieren

Einerseits führt dies zu Verwirrung bei der Modulverwaltung. Andererseits kann es bei der Verwendung der softwareeigenen Paketverwaltung zur Installation von Modulen darauf ankommen, dass die neuesten Versionen anderer Module installiert sind durch das System yum, Dies kann dazu führen, dass die Modulinstallation fehlschlägt.

Daher wird diese Art von Software in der Regel separat installiert und verwendet einen eigenen Paketmanager zur Verwaltung der Module:

TeXLive: Installation über die TeXLive-ISO-Image-Datei, verwenden Sie das eigene tlmgr-Verwaltungspaket. Perl: Installieren Sie die neueste Version von Perl über plenv. Verwenden Sie das mit plenv gelieferte cpanm, um das Modul zu installieren. Python: Installieren Sie die neueste Version von Python über pyenv. Verwenden Sie das, das mit dem Python-Pip-Installationsmodul geliefert wird

Ausnahme

Es gibt immer Ausnahmen von den Regeln.

Quellen Dritter

mosquito-myrepo ist eine privat gepflegte Quelle, die chinesische Eingabemethode, QQ, Fetion, Weizhi Notes, Youdao Dictionary, Baidu Cloud und mehrere Audio- und Videoplayer umfasst. Ich hege eine Hassliebe gegenüber dieser Quelle. Sie stellt eine Menge Software bereit, die die Chinesen benötigen. Da sie jedoch auf andere Softwarequellen von Drittanbietern als EPEL angewiesen ist, kann es zu Paketkonflikten kommen. Verwenden Sie diese Quelle daher mit Vorsicht.

Zusammenfassung

Eine kurze Zusammenfassung:

Fügen Sie EPEL-Quelle, Nux Dextop, ELRepo-Quelle und einige andere kleine Quellen von Drittanbietern zum System hinzu. Wenn es von der Quelle installiert werden kann, installieren Sie es von der Quelle rpm-Paket. Wenn Sie das rpm-Paket nicht finden können, versuchen Sie es. Wenn Linuxbrew es manuell kompilieren kann, kompilieren Sie es nicht manuell

Das obige ist der detaillierte Inhalt vonVollständige Analyse der Installationsschritte und -strategien der CentOS7-Software. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen