wie macht man einen wrapper?



  • ich will dateiverschiebungen (cp) protokollieren, wie geht das?



  • Indem du zb das originale /bin/cp nach /bin/cp.old umbenennst dein eigenes programm /bin/cp schreibst das die Aufrufparameter analysiert und protokolliert und dann zb mit system() zum originalen /bin/cp.old weiterleitest.
    Kurt



  • klingt machbar! bekomm ich sowas auch ohne umbenennen hin? ist es möglich die aufrufe von make install an ein anderes programm als cp zu schicken? denn cp zu ersetzen ist doch unforteilhaft wenn man ein prog verbreiten will.



  • moa schrieb:

    ist es möglich die aufrufe von make install an ein anderes programm als cp zu schicken? denn cp zu ersetzen ist doch unforteilhaft wenn man ein prog verbreiten will.

    Dazu würde ich keinen Wrapper verwenden sondern ich würde das makefile anpassen.
    Na ja makfiles können manchmal schon ganz schön unleserlich sein. Du könntest aber auch die installation und deinstallation deines wrappers dem makefile überlassen.
    Kurt



  • die sache ist die: ich habe einen installer für tar.bz pakete geschrieben. der soll die dateien wieder deinstallieren. und da wollte ich sonne art spec-dateien erzeugen wo eben alle dateien mit ihrem ort verzeichnet sind.

    um solche dateien zu erzeugen kamen mir 2 ideen: systemaufrufe von cp beobachten-->keine ahnung wie

    und die makedateien durchsuchen lassen vom prog--> unmöglich glaub ich

    aber da dus gerade ansprichst, kann man das prog auch nur mit der makefile ohne den rest des archives zu behalten deinstallieren?
    mein installer sollte nämlich von jedem nstallierten prog eine(diese) dateiliste behalten sodass man mit dem auswählen dieses programms dieses deinstallieren kann.

    mfg dgrat



  • Wenn es dir nur um den Vorher- Nachherzustand geht könntest du auch vor und nach der Installation eine Liste aller Dateien auf dem System erstellen und daraus ermitteln was dazugekommen ist. Diesr Ansatz funktioniert jedoch nicht wenn deine Installation vorhandene Dateien ersetzt.
    Kurt



  • möglich, wie macht solche dateilisten?, das dauerst best. zu lange! gerade linux hat ja (10/100)tausende dateien.



  • moa schrieb:

    möglich, wie macht solche dateilisten?, das dauerst best. zu lange! gerade linux hat ja (10/100)tausende dateien.

    mit

    ls -laR / > ls.la 2> /dev/null
    

    als root hat das file dann 359248 zeilen und das dauert bei mir ca 5 sec.
    Kurt
    edit: ist aber auch über 18 MB gross 🙂



  • Was aber einigermassen egal ist, wenn man es vor der Änderung einal aufruft und nach der Änderung nocheinemal un dann die beiden Files
    vergleichen und sich die Unterschiede anzeigen lässt. Dann wird aus 2 18 MB eine überschubare Menge. Wenn man dann noch die die ls optionen passen setzt bekommt man auch die geänderten Datei mitgeliefert.



  • gute grundlage! eine frage noch:
    was bedeuten die einzelnen befehle?

    ls -laR / > ls.la 2> /dev/null
    


  • Mann nutz man auf einem Unix system

    in diesem Fall man ls und lies es durch

    man ist die Abkürzung für Manual und gibt die zu allen guten (meisten) Programmen und für das gesamte Betriebssystem eine online Hilfe mit allen Parametern.



  • ok,ok...
    thx


Anmelden zum Antworten