Häufig verwendete Befehle im Installationssupport

Supportdatenbank (isupp_commands)
Bezieht sich auf

SuSE Linux: Alle Versionen

Die folgende Liste enthält die wichtigsten Befehle bei der Arbeit im Installationssupport.

lspci

lspci listet alle Komponenten des PCI-Busses auf. Mit der Option "-vv" erhalten Sie eine ausführliche Liste mit "-vn" nur die IDs der Geräte.

grep

grep ist der gebräuchlichste Befehl zum Durchsuchen von Dateien unter Unix / Linux. Wichtig: standardmäßig beachtet der Befehl die Klein- und Großschreibung. Mit "-i" kann dies abgeschalten werden.

Beispiel:

Ohne "-i":

linux:~ # lspci | grep controller
00:06.0 SCSI storage controller: Adaptec AHA-2940U2/W / 7890
00:09.0 Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 22)
00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
01:00.0 VGA compatible controller: nVidia Corporation Riva TnT 128 [NV04] (rev 04)
und mit "-i". Hier wird der USB Controller noch mit aufgelistet.
linux:~ # lspci | grep -i controller
00:04.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:06.0 SCSI storage controller: Adaptec AHA-2940U2/W / 7890
00:09.0 Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 22)
00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
01:00.0 VGA compatible controller: nVidia Corporation Riva TnT 128 [NV04] (rev 04)
Das Zeichen "|" übergibt die Ausgabe des ersten Befehls an den zweiten. Das spart einen Schritt. Sonst müßte die Ausgabe von lspci in eine Datei umgeleitet (mit ">") und diese dann von grep ausgelesen werden:
linux:~ # lspci > datei
linux:~ # grep controller datei
Die Ausgabe von grep habe ich absichtlich nicht noch einmal aufgeführt.

grep kann auch rekursiv arbeiten, d.h. auch gleich in Unterverzeichnissen mit suchen. Das geht mit dem Parameter "-r".

Beispiel für die Suche nach einem Treiber für eine spezielle Netzwerkkarte in den Quellen des Kernels:

linux:/usr/src/linux/drivers/net # grep -r Tulip *
Hier ist die Ausgabe zu umfangreich gewesen, deswegen ist sie hier ebenfalls nicht eingefügt.

RPM

Praktisch alle Dateien, die auf einem SuSE Linux System zu finden sind, werden aus RPM-Paketen installiert und sind in der systemweiten RPM-Datenbank registriert. Ausnahmen sind vereinzelte generierte Konfigurationsdateien oder die Dateien des /proc-Dateisystems, welche nur virtuell sind und zur Laufzeit vom Kernel erzeugt werden.

Wenn Sie wissen wollen, ob ein Paket installiert ist, können Sie das über den Query-Parameter "-q" machen:

linux:~ # rpm -q rpm
rpm-3.0.6-26
Hierbei wird auch gleich die Version des Programms an sich ausgegeben (3.0.6) und die SuSE-Version von dieser Programmversion (26). Eine neuere SuSE-Version kann z.B. aktuellere Patches enthalten als die reine Programmversion.

Um die Beschreibung und die Dateiliste des Pakets zu erhalten, gibt es die zusätzlichen Paramter "i" und "l":

Die Paketbeschreibung von YaST2:

linux:~ # rpm -qi yast2
Name        : yast2                        Relocations: (not relocateable)
Version     : 2.1.151                           Vendor: SuSE GmbH, Nuernberg, Germany
Release     : 0                             Build Date: Mon Jan 22 18:28:26 2001
Install date: Fri Feb  2 09:53:10 2001      Build Host: Flugge.suse.de
Group       : System Environment/YaST       Source RPM: yast2-2.1.151-0.src.rpm
Size        : 1717027                          License: (c) 2000 SuSE GmbH
Packager    : feedback@suse.de
Summary     : YaST2 - installation scripts and documentation
Description :
This package contains scripts and data needed for SuSE linux
installation with YaST2

Authors:
--------
    Michael Andres <ma@suse.de>
    Waldo Bastian <bastian@suse.de>
    Michael Hager <mike@suse.de>
    Stefan Hundhammer <sh@suse.de>
    Klaus Kaempf <kkaempf@suse.de>
    Mathias Kettner <kettner@suse.de>
    Thomas Roelz <tom@suse.de>
    Stefan Schubert <schubi@suse.de>
    Andreas Schwab <schwab@suse.de>
    Steffen Winterfeldt <snwint@suse.de>

SuSE series: a
Der Paketinhalt von Pine:
linux:~ # rpm -ql pine
/etc/pine.conf
/etc/pine.conf.fixed
/usr/bin/mtest
/usr/bin/pine
/usr/share/doc/packages/pine
/usr/share/doc/packages/pine/CPYRIGHT
/usr/share/doc/packages/pine/brochure.txt
/usr/share/doc/packages/pine/mailcap.unx
/usr/share/doc/packages/pine/tech-notes
/usr/share/doc/packages/pine/tech-notes.txt
/usr/share/doc/packages/pine/tech-notes/Makefile
/usr/share/doc/packages/pine/tech-notes/background.html
/usr/share/doc/packages/pine/tech-notes/cmd-line.html
/usr/share/doc/packages/pine/tech-notes/config-notes.html
/usr/share/doc/packages/pine/tech-notes/config.html
/usr/share/doc/packages/pine/tech-notes/for.pnuts
/usr/share/doc/packages/pine/tech-notes/index.html
/usr/share/doc/packages/pine/tech-notes/installation.html
/usr/share/doc/packages/pine/tech-notes/introduction.html
/usr/share/doc/packages/pine/tech-notes/low-level.html
/usr/share/doc/packages/pine/tech-notes/porting.html
/usr/share/man/man1/pine.1.gz
Umgekehrt können Sie auch herausfinden zu welchem Paket eine Datei gehört. Dies geschieht mit dem Parameter "f":
linux:~ # locate libc.so.6
/lib/libc.so.6
/usr/i486-linux-libc6/lib/libc.so.6
locate sagt Ihnen, ob und wo sich eine Datei auf dem System befindet. In /lib liegen die aktuellen Systembibliotheken. U.a. in /usr/i486-linux-libc6/lib Kompatibilitätsbibliotheken für ältere Programme.
linux:~ # rpm -qf /lib/libc.so.6 
glibc-2.2-7
Falls Sie von einem Paket lediglich eine Liste der beiliegenden Dokumentation sehen wollen, gibt es dafür auch einen Befehl:
linux:~ # rpm -qd apache
Wenn Sie ein z.B. heruntergeladenes Paket vor dem Installieren inspizieren wollen, geht das am einfachsten mit dem Befehl "less":
less kinternet.rpm
Alternativ geht das auch mit den RPM-Optionen "-qip" (Paketinformation) und "-qlp" (Paketliste). Das "p" sagt dem RPM-Befehl, daß es nicht in der Paketdatenbank nachsehen soll, sondern direkt in der angegebenen Datei.
rpm -qlp xmms.rpm
rpm -qip xmms.rpm

Sonstiges

Allerdings hilft es wenig, wenn das Paket nicht installiert ist. Dafür können Sie in der Datei
ARCHIVES.gz
von der ersten CD mit dem Befehl
zgrep
(das z bei zgrep bedeutet, daß dieser Befehl .gz Dateien durchsuchen kann) suchen.
linux:~ # mount /cdrom/
linux:~ # zgrep /opt/kde/lib/libkdeui.so /cdrom/ARCHIVES.gz 
./CD3/suse/kde1/klibs.rpm:    lrwxrwxrwx     root     root           17 Jan 19 12:27 /opt/kde/lib/libkdeui.so -> libkdeui.so.2.0.0
./CD3/suse/kde1/klibs.rpm:    lrwxrwxrwx     root     root           17 Jan 19 12:27 /opt/kde/lib/libkdeui.so.2 -> libkdeui.so.2.0.0
./CD3/suse/kde1/klibs.rpm:    -rwxr-xr-x     root     root      1117744 Jan 19 12:27 /opt/kde/lib/libkdeui.so.2.0.0

Stichwörter: INSTALLATIONSSUPPORT, BEFEHLE, RPM

SDB-isupp_commands, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 03. Apr 2001
SuSE Linux AG - Zuletzt generiert: 24. Apr 2002 von snbarth (sdb_gen 1.40.0)