Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Skript für die Erstellung eines Indexes von rpm-Paketen um z.B. bei SuSE den Einsatz

  1. #1
    Milchmann Avatar von m.o.o.
    Registriert seit
    May 2003
    Beiträge
    1.192

    Skript für die Erstellung eines Indexes von rpm-Paketen um z.B. bei SuSE den Einsatz

    Hallo Leute.
    Welch ein Titel! (EDIT: & es fehlt die Hälfte: ... von YaST zu vermeiden)
    Also, ich habe hier zwei kleine Skripte geschrieben, die für folgendes recht gebräuchlich sind:
    Die SuSE-CDs bestehen hauptsächlich aus einem Verzeichnis mit sehr sehr sehr sehr sehr sehr vielen rpm-
    Paketen darin.
    Wenn man nun kein YaST verwenden kann/will/muss/darf, um solch ein Paket zu installieren, ist es immer
    ziemlich umständlich die CD zu finden, auf der das richtige Paket drauf ist, das man installieren möchte.
    Deshalb hier die Lösung: man erstellt einen Index der SuSE-CDs (geht auch bestimmt mit anderen Distris, die
    viele Pakete in einem (oder mehreren) Verzeichnissen haben).
    Hier ist das Skript zur Erstellung des Indexes (per Standard ~/.index_of_susecds):
    Code:
    #!/bin/sh
     
    INDEX_FILE=~/.index_of_susecds
     
    echo "# of cd:";
    read num_cd;
     
    echo "dirs (; = separator):";
    read dirs;
     
    IFS=";";
     
    for DIR in $dirs; do
        IFS="
    ";
        for FILE in `ls -1 $DIR`; do
            echo "indexing "$FILE" on CD #"$num_cd;
            echo $num_cd":::"$FILE>>$INDEX_FILE;
        done;
        IFS=";";
    done;
    . Bei dirs kann man mehrere Verzeichnisse angeben, in der Form /bla/blub;/noch/ein/Verz;/und/nocheines ( ; =
    Teiler).
    WICHTIG: Die Verzeichnisse werden NICHT rekursiv durchlaufen!
    Man muss das Skript für jede CD aufrufen!

    Tja, dann hat man also die ganzen Paketnamen & die dazugehörige CD-Nummer in einer Datei.
    Hier fehlt noch das Suchskript:
    Code:
    #!/bin/sh
     
    INDEX_FILE=~/.index_of_susecds
     
    if [ -z $1 ]; then
        echo "arg required";
        exit 1;
    fi;
     
    for FILE in `grep -ri $1 $INDEX_FILE`; do
        echo "On CD "$FILE|sed s/:::/:\ /
    done;
    . Das was ihr sucht, wird als Argument benötigt, z.B. "sh search.sh bimmel_bommel".

    Ich hoffe jemand nützen diese beiden kleinen Skripte!

    Gruß, Florian

    PS: Um den Index zu löschen: "rm ~/.index_of_susecds".
    Geändert von m.o.o. (30.10.04 um 22:50 Uhr)
    Sie können sich nicht auf Ihre eigene Ignorier-Liste setzen.

  2. #2
    Mod. Tipps und Tricks Avatar von carnil
    Registriert seit
    Jan 2004
    Ort
    Zürich
    Beiträge
    6.215
    Hi

    Ich habe jetzt leider kein Suse, aber ich habe mir folgendes gedacht: Macht dieser Tipp eigentlich das, was das Programm/Tool, das bei Suse dabei ist, macht? Wenn ich Dich richtig verstanden habe, dann: Das Tool heisst pin und steht für Package INformation.

    MfG carnil

  3. #3
    Milchmann Avatar von m.o.o.
    Registriert seit
    May 2003
    Beiträge
    1.192
    Oha,
    das Programm/Skript war mir neu. Ich hab mir mal schnell den Quellcode angeschaut & es scheint tatsächlich in etwa das selbe zu leisten wie meine beiden Skripte oben. pin benutzt dabei eine vorgefertigt Datei namens ARCHIVES.gz auf der SuSE-Cd.
    Pin durchsucht auch die ganzen Readmes zu den verschiedenen Paketen. Außerdem durchsucht es die rpm-Datenbank nach bereits installierten Paketen.

    Allerdings weiß ich jetzt nicht, ob pin auch die Cd-# ausgibt, auf der sich das Paket befindet (ich habe leider im Moment keine SuSE-Cds da, um die ARCHIVES.gz anzuschauen).

    Alles in allem ist also wohl pin die bessere Lösung um ein Paket zu finden (wenn denn auch die Cd-Nummer ausgegeben wird, meine Lösung dürfte etwas schneller sein, weil nicht nach installierten Paketen gesucht wird).


    Gruß, FLorian
    Sie können sich nicht auf Ihre eigene Ignorier-Liste setzen.

Ähnliche Themen

  1. Schwarzer Bildschirm nach Treiber installation
    Von Lordofthematrix im Forum X-Konfiguration
    Antworten: 12
    Letzter Beitrag: 01.11.04, 12:55
  2. Antworten: 25
    Letzter Beitrag: 30.10.04, 22:40
  3. Nvidia treiber suse8.2
    Von Venator im Forum System installieren und konfigurieren
    Antworten: 18
    Letzter Beitrag: 21.03.04, 20:31
  4. Suse Linux 9.0 - nur ein Erfahrungsbericht
    Von Kentar im Forum Meldungen und Mitglieder
    Antworten: 65
    Letzter Beitrag: 12.12.03, 16:41
  5. RedHat Package Manager (rpm)
    Von micha im Forum Hier Suchen und Finden, Links, Tutorials
    Antworten: 0
    Letzter Beitrag: 06.01.02, 21:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •