Script zur erstellung einer Softwaredatenbank für Quellcode

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von tuxlover, 10.10.2006.

  1. #1 tuxlover, 10.10.2006
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo liebe leute,

    ich bin nun schon ne ganze weile dabei rpm-pakete zu basteln und software wenn nötig auch mal aus dem sourcecode heraus zu installieren.

    das blöde ist ja, dass es dafür so etwas wie eine datenbank ja nicht gibt. lässt sich so etwas vielleicht trotzdem irgendwie mit hilfe eines shellscripts bewerkstelligen?

    ich habe unter /usr/src/software/new alle pakete die neu heruntergeladen worden.

    Unter /usr/src/software/install alle jene Quelltextet die berreits erfolgreich ins system eingespielt worden sind.

    und unter /usr/src/software/error diejenigen Quelltexte bei denen probleme auftraten oder wo abhängigkeiten noch nicht gelöst sind.

    ich hatte daran gedacht, dass ich mir ein script schreibe welches ausliest welche dateien in welchem verzeichnis gelandet sind und mir diese mit datum und größe in eine datenbank schreibt. hat hierzu jemand eine idee.

    viel schöner und eleganter wäre es natürlich wenn jemand ein script hat mit dem man ausserdem eine datenbank erstellen kann, die die entsprechenden daten und ihre pfade speichert.

    bin auf diesem gebiet leider noch etwas unerfahren. ich danke euch schonmal im vorraus für eure kreativen ideen

    tuxlover
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Du kannst doch mit RPM abfragen was gerade installiert ist, welche Dateien die Pakete installiert haben usw. Wozu dann noch ein Skript? 'man rpm'.
     
  4. #3 Wolfgang, 11.10.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Wenn du dein Paketsystem (aus was für Gründen auch immer) nicht benutzen willst, dann bleiben für solch relativ kleine Datenbanken immernoch Flatfiles.

    Mit find und echo lässt sich sowas natürlich auch coden (Das Rad neu erfinden) ;).
    Besser und schneller geht sowas aber mit Perl.
    Da gibt es das geniale Modul DB_File.
    Das nutze ich selbst für kleine Datenverwaltungen (Counter, Notizen usw.).
    Der Vorteil: Es brauch keinen gigantische Datenbankserver und ist sehr schnell und effizient.

    Kleines unvollständiges Beispiel:
    Code:
    #!/usr/bin/perl
    use DB_File;
    my $file=dbfile;
    tie %dbhash, 'DB_File', $file or die "DB Fehler in $file\n";
    ....
    for (@myfiles) {
        $dbhash{$_} = (-s $_);
    }
    untie %dbhash;
    
    Das Array @myfiles kannst du mit dem Modul File:Find füttern.
    Mehrere Infos kannst du pragmatisch mit einem Trennzeichen deiner Wahl einfügen.
    Eleganterweise würde man dazu aber Data::Dumper verwenden. :)

    Da das hier aber kein Perlkurs werden soll, gehe ich darauf nicht weiter ein.

    Das ist sehr atomar, und bevor irgend ein Datenbankserver angeworfen ist, ist das schon fertig.

    Gruß Wolfgang
     
  5. #4 tuxlover, 11.10.2006
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    @theton danke ich weiß wie man mit rpm umgeht. es ging mir hier speziell um pakete die nur in Sourcecode vorliegen.

    @wolfgang hast du ein beispiel wie man das ganze mit find und echo coden könnte?

    danke für eure antworten

    gruß tuxlover
     
  6. #5 Wolfgang, 11.10.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wo ist das Problem?
    Du durchsuchst deine Verzeichnisse und erstellst für jedes eine Textdatei, in die du für jede gefundene Datei deine bnötigten Infos mit festem Trennzeichen (mittels echo) ausgibst.
    Beim Auslesen, gehst du andersrum mit grep in die jeweilige Datei.
    Um an die Daten der Dateien ranzukommen, gibt es z.B stat oder du nutzt gleich printf von find, dann geht das ganz fix.
    Code:
    #Muster zum selberbasteln
    find /verz1 -type f -printf "%f\t%s\t%t\n" >verz1_db
    
    Gibt: Filename<TAB>Größe (in Byte)<TAB> die Zeit der letzten Änderung, im ctime Format<NL>
    aus.
    Um darin zu suchen, einfach mit grep nach was du auch suchst reingehen.
    Um zu editieren mit sed Zeilen löschen/ändern usw. .

    Gruß Wolfgang
     
  7. #6 tuxlover, 12.10.2006
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    jo gut das macht das was ich haben wollte. danke für eure tipps.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Script zur erstellung einer Softwaredatenbank für Quellcode

Die Seite wird geladen...

Script zur erstellung einer Softwaredatenbank für Quellcode - Ähnliche Themen

  1. 1:1 NAT brauche Hilfe bei der Erstellung eines Shellscripts

    1:1 NAT brauche Hilfe bei der Erstellung eines Shellscripts: Hi, ich brauche Hilfe bei der Erstellung eines Shellskripts, was nach OpenVPN Neueinwahl die Datei /var/db/opt1_ip parst (in dieser Datei steht...
  2. ShellScript fuer Erstellung Einträge in /etc/bashrc

    ShellScript fuer Erstellung Einträge in /etc/bashrc: ch habe folgendes Problem: Ich moechte das in die Datei /etc/bashrc folgender Eintrag bzw. mehrere Einträge dieser Art hineingeschrieben...
  3. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  4. Bashscript aus Debian6 läuft nicht auf Debian7

    Bashscript aus Debian6 läuft nicht auf Debian7: Hallo an alle, nachdem ich ein Skript von squeeze auf wheezy kopiert habe und ausführte, erschienen gleich wilde Fehlermeldungen, nach denen ich...
  5. Shell Script Problem

    Shell Script Problem: Hallo zusammen, ich arbeite momentan mit einem Plagiat Tool, die ich über Git Bash ausführe. Es wird im Endeffekt ein Link generiert, die ich...