GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Fragen im Vorstellungsgespräch:Linux Package Manager (RPM)

Dieser Beitrag behandelt die am häufigsten gemeldeten Fragen zur Vorgehensweise von Enterprise Linux Common Package Manager (RPM). Obwohl es nicht oft verwendet wird, ist rpm ein Muss, wenn Sie vor einem Linux-Interview stehen.

Was ist RPM?

RPM steht für Red Hat Package Manager, der Pakete auf Linux-Distributionen installiert, aktualisiert und entfernt. Es ist ein kostenloses Softwaretool. Ursprünglich von Red Hat für Red Hat Linux entwickelt, wird RPM heute von vielen Linux-Distributionen verwendet. Es wurde auch auf einige andere Betriebssysteme portiert, wie z. B. Suse Linux und IBMs AIX ab Version 5.

Welche Hauptarten von RPM?

Es gibt zwei Haupttypen von RPM-Paketen:binäre (oder Anwendungen) und Quellpakete. Ein binäres RPM wurde für eine bestimmte Architektur kompiliert. Quellcode-RPMs, die den Quellcode für andere Pakete bereitstellen. Der Paketname endet mit dem Suffix src.rpm, wie z als:

Binary Package: xpdf-3.00-11.12.i386.rpm
Source code package: xpdf-3.00-11.12.src.rpm

Wie überprüfe ich, ob das Paket installiert ist?

Verwenden Sie die „rpm –q “, um schnell zu überprüfen, ob ein Paket installiert wurde. Zur Überprüfung müssen Sie den Namen des installierten Pakets verwenden, nicht den Namen der RPM-Datei. Sie können auch einen Teil des Paketnamens verwenden. Alternativ können Sie den Befehl „rpm -qa |grep Schlüsselwort verwenden “, wodurch Ihnen viel mehr Pakete angezeigt werden.

Wie erhalte ich weitere Detailinformationen während der Installation eines RPM-Pakets?

Die Syntax für den Befehl ist

# rpm -Uhv package

Dadurch werden #-Zeichen mit der Option -h ausgegeben, und die Option -v gibt ausführliche Informationen aus, während der Befehl ausgeführt wird. Sie können ein Paket mehr als einmal installieren. Der rpm-Befehl wird sich nicht beschweren. Der Upgrade-Vorgang entfernt jedoch alle anderen Versionen eines Pakets. Dies ist ein weiterer Grund, die Upgrade-Option –U zu verwenden.

Wie aktualisiere ich den Kernel?

Aus Sicherheitsgründen sollte ein neuer Kernel mit dem „-i ”-Flag, anstatt mit “-U aktualisiert zu werden " Flagge. Damit ist die Vorgängerversion noch installiert und kann verwendet werden, falls der neue Kernel nicht funktioniert. Beispiel:

# rpm -ivh kernel-2.6.9-78.0.0.0.1.EL4.I686rpm

Wie zeigt man den abgeschlossenen Prozentsatz an, wenn der RPM-Befehl ausgeführt wird?

Die grundlegende Syntax ist:

# rpm -U --percent package

Das –Prozent Die Option gibt Dezimalzahlen aus, die den abgeschlossenen Prozentsatz anzeigen, wenn der Befehl rpm ausgeführt wird. Diese Option ist am nützlichsten, wenn Sie den rpm-Befehl in einen anderen Befehl einbetten, beispielsweise in eine grafische Benutzeroberfläche, die aus einem Perl-, Python- oder Tcl/Tk-Skript erstellt wurde.

Wie sieht der Prozess im Detail aus, um ein RPM-Paket zu installieren?

Sie können den Befehl rpm –U oder den Befehl rpm –i verwenden, um ein Paket zu installieren. Wenn der Befehl rpm ein Paket installiert, durchläuft er eine Reihe von Schritten:

  • Überprüfen des Pakets und der Dateien, die es installieren möchte
  • Durchführen von Vorinstallationsaufgaben
  • Die Dateien dekomprimieren und an den richtigen Orten ablegen
  • Durchführen von Nachbearbeitungsaufgaben
  • Aktualisieren der RPM-Datenbank

Wie teste ich einen RPM-Befehl?

Der –Test Befehlszeilenoption weist den RPM-Befehl an, den Installations- oder Aktualisierungsprozess zu testen, aber die Datei nicht zu installieren. Zum Beispiel:

# rpm -U --test eruby-devel-0.9.8-2.i386.rpm

Wie installiere oder aktualisiere ich mehrere Pakete gleichzeitig?

Listen Sie einfach jeden Dateinamen in der RPM-Befehlszeile auf. Die grundlegende Syntax lautet:

# rpm -U package1.rpm package2.rpm .. package100.rpm

Wie installiere ich das RPM-Paket in verschiedenen Verzeichnissen?

Das –Präfix und –umziehen Optionen sollten den RPM-Befehl veranlassen, ein Paket an einen neuen Ort zu verschieben. Nicht alle Pakete erlauben jedoch Umzüge. Das grundlegende Format des Befehls mit der Option –prefix ist:

# rpm -U --prefix /new/directory package.rpm

Mit der Option –relocate lautet das Befehlsformat:

# rpm -i --relocate /old/directory=/new/directory package.rpm

Sie können auch das –root verwenden Option, um ein anderes Verzeichnis anzugeben, von dem angenommen wird, dass es sich beim RPM-Befehl um das Root- oder /-Verzeichnis des Systems handelt. Dies bewirkt, dass der Befehl rpm Dateien unter dem neuen Stammverzeichnis installiert, anstatt in Systemverzeichnissen unter /. Diese Option ist am nützlichsten, um die Installation eines vollständigen Systems unter einem Testverzeichnis zu testen. Der Befehl sollte das folgende Format verwenden:

# rpm -U --root /tmp --dbpath /var/lib/rpm package.rpm

Wie überspringe ich das Skript, wenn ich ein RPM-Paket installiere/entferne?

Als Teil der Paketinstallation sowie der Entfernung kann das RPM-Paket Skripte enthalten, die der RPM-Befehl ausführen sollte. Dazu gehören Skripts vor und nach der Installation sowie Skripts vor und nach der Deinstallation. Diese Skripts können Optionen wie das automatische Konfigurieren der Anwendung basierend auf der Zielumgebung ausführen. Die folgende Tabelle fasst diese Optionen zusammen.

Option Nutzung
–nopre Vorinstallationsskripte überspringen.
–nopost Skripte nach der Installation überspringen.
–nopreun Skripte vor der Deinstallation überspringen.
–nopostun Skripte nach der Deinstallation überspringen.
–noscripts Alle Skripte überspringen; identisch mit –nopre, –nopost, –nopreun und –nopostun.

Während der Installation können Sie den Befehl rpm anweisen, nicht alle Trigger auszuführen oder bestimmte Trigger nicht auszuführen. Die –Nichtauslöser Option weist den RPM-Befehl an, alle Trigger zu überspringen.

Option Nutzung
–nottriggerin Installationsauslöser überspringen.
–notriggerun Deinstallationsauslöser überspringen.
–notriggerpostun Trigger nach der Deinstallation überspringen.
–nicht auslöst Alle Auslöser überspringen; dasselbe wie –notriggerin, — notriggerun und — notriggerpostun.

Was sind Optionen zum Ignorieren bei RPM?

Der rpm-Befehl unterstützt mehrere Ignorieren-Optionen, die dem Befehl mitteilen, einen Aspekt eines Pakets zu ignorieren, über den er sich normalerweise beschweren würde.

  • Der –ignorearch Die Option weist den Befehl rpm an, die Architektur des Pakets zu ignorieren und das Paket zu installieren, selbst wenn die Architektur des Pakets und die Architektur Ihres Systems nicht übereinstimmen. Dies ist eine sehr gefährliche Option.
  • Die –ignoreos Befehlszeilenoption weist den Befehl rpm an, das Betriebssystem zu ignorieren. Auch dies ist wahrscheinlich in den meisten Situationen keine gute Idee.
  • Die –ignorieren Die Option weist den Befehl rpm an, eine Überprüfung Ihrer Festplatte zu ignorieren oder zu überspringen, um sicherzustellen, dass genügend Speicherplatz für die Installation des Pakets vorhanden ist. Warnung :Verwenden Sie die Option –ignoresize nicht, wenn Sie eine fast volle Festplatte haben, insbesondere für eine Root- oder /-Partition.
  • Der –nodigest Die Option weist den RPM-Befehl an, den Test des Digest zu überspringen, den speziellen Wert, der dabei hilft, die Korrektheit des Pakets zu überprüfen.
  • Die –nosignature Die Option weist den RPM-Befehl an, den Test des Digests, des verschlüsselten Schlüssels, zu überspringen, der auch dabei hilft, die Korrektheit des Pakets zu überprüfen.

Wie installiere/aktualisiere ich das RPM-Paket über FTP?

Die gemeinsame Syntax wie folgt:

# rpm -i ftp://username:[email protected]/pub/rpms/sample_rpm.src.rpm

Wie installiere/aktualisiere ich das RPM-Paket über HTTP?

Ähnlich wie beim Zugriff auf eine Datei über FTP müssen Sie dem rpm-Befehl eine URL übergeben, die die Datei identifiziert. Zum Beispiel:

# rpm –i http://ftp.redhat.com/pub/contrib/noarch/SRPMS/Squeak-sources-3-1.src.rpm

Wie entferne ich mehrere Pakete gleichzeitig?

Die grundlegende Syntax lautet:

# rpm -e package1.rpm package2.rpm .. package100.rpm

Wie listet man die Dokumentationsdateien für ein Paket auf?

Die grundlegende Syntax ist:

# rpm –qd package_name

Wie listet man die Dateien in einem Paket auf?

Die grundlegende Syntax ist:

# rpm –ql package_name

Wie listet man die Skripte in einem Paket auf?

Die grundlegende Syntax ist:

# rpm -q --scripts package_name

Wie liste ich auf, was sich für ein Paket geändert hat?

Das grundlegende Format des Befehls ist:

# rpm -q --changelog package_name

Wie listet man die zuletzt installierten Pakete auf?

Die grundlegende Syntax ist:

# rpm -qa --last

Der folgende Befehl zeigt mehr oder weniger als zehn Zeilen an.

# rpm -qa --last | head

Wie erstelle ich benutzerdefinierte Abfragen?

Die grundlegende Syntax des Abfrageformats ist %{tag_name}. Zum Beispiel:

# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp

Der obige Befehl zeigt die vollständigen Informationen des Kernel-smp-Pakets nach Ihren Wünschen an. Beispiel:

# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp
kernel-smp.2.6.9--67.0.0.0.1.EL.i686

Was sind Tags von Paketinformationen, die von RPM unterstützt werden?

Abfrage-Tags für Paketinformationen:

Tag Hält
NAME Paketname
VERSION Versionsnummer
FREIGABE Versionsnummer
ZUSAMMENFASSUNG Einzeilige Zusammenfassung des Paketinhalts
BESCHREIBUNG Beschreibender Text über das Paket
BAUZEIT Zeitpaket wurde erstellt
BUILDHOST Host-Paket wurde erstellt auf
GRÖSSE Größe aller regulären Dateien in der Nutzlast
LIZENZ Lizenzpaket wurde veröffentlicht unter
GRUPPE Beschreibender Gruppen- oder Kategoriename für das Paket
Betriebssystem Betriebssystempaket wurde erstellt für
ARCH Architektur, wie i386
QUELLE Das zugehörige Quell-RPM
CHANGELOGTIME Array von Changelog-Zeiten
LOGNAME ÄNDERN Array von Changelog-Namen
LOGTEXT ÄNDERN Array von Changelog-Texteinträgen
PREIN Skript vorinstallieren
POSTIN Post-Installationsskript
PREUN Skript vor der Deinstallation
POSTUN Post-Deinstallationsskript
PLATTFORM Plattform

Wie überprüfe ich installierte RPM-Pakete?

Die grundlegende Syntax ist:

# rpm -V verify_options package_name

Um Ihr gesamtes System zu überprüfen, verwenden Sie das -a Option.

Wie bestimme ich, welche Fähigkeiten ein Paket benötigt?

Die grundlegende Syntax ist:

# rpm -q query_options --requires packages

Wie überprüfe ich, was mit einem bestimmten Paket in Konflikt steht?

Die grundlegende Syntax ist:

# rpm –q query_options --conflicts packages


Linux
  1. So verwenden Sie den XBPS-Paket-Manager unter Void Linux

  2. Top 25 Linux-Interviewfragen

  3. Installieren und Verwenden des Homebrew Package Managers unter Linux

  4. Nix – Ein leistungsstarker Paketmanager für Linux und Unix

  5. So erstellen Sie ein Linux-RPM-Paket

RPM-Befehl unter Linux

25 Fragen und Antworten zum Linux-Shell-Scripting-Interview

RPM-Befehle in Linux mit Beispielen

Installieren Sie Synaptic Package Manager unter Linux

Fragen im Vorstellungsgespräch unter Linux Network File System (NFS).

So installieren Sie Snap Package Manager in Linux-Distributionen