wie mit Gunzip cpio wieder einpacken?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Ctomi, 31.12.2007.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Hab da ein Problem mit dem wieder einpacken auf exakt dieselbe Art. Also ich packe eine Datei auf diese Art aus, da erhalte ich dann mehrere Ordner mit Dateien drin. Ich will das dann wieder einpacken auf dieselbe Art finde aber einfach nicht den richtigen Weg. Hatte es erstmal mit denselben Dateien versucht damit ich vergleichen kann bekomme aber eine andere, größere Datei.

    auspacken:
    gunzip -c Datei | cpio -id

    Hatte es damit versucht und auch noch in Einzelschritten das ist dann aber wohl ganz verkehrt.

    find -depth | cpio -o | gunzip -9 Datei

    Oder gibt es eine Möglichkeit Dateien dort drin zu ersetzen ohne es auszupacken?

    Ich hätte noch eine zweite Möglichkeit, wie kann ich die Ordner, Dateien in eine Datei packen die diesem Format entspricht wenn man dieselbe Ursprungsdatei auf diese Art umpacken würde?

    umpacken
    gzip.exe -d -c Datei > Datei.tar

    einpacken
    gzip.exe -n -9 -c datei.tar > datei
     
  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. #2 Wolfgang, 31.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Bist du dir sicher, dass du mit dieser Frage bezüglich exe im Unixboard richtig bist?
    Ich bin es nicht.

    Verstehe außerdem den Sinn deines Vorhabens nicht.
    Um ganze Verzeichnisstrukturen zu archivieren, wird unter *nix tar oder auch cpio verwendet.
    Dieses lässt sich dann mit gzip oder auch bzip2 komrimieren.
     
  4. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    tolle wurst man kann sich ja auch mal verschreiben eben ohne exe

    alles was ich wissen will ist dieses reverse

    gunzip -c Datei | cpio -id

    das ich dazu erst cpio und dann gzip nehmen muß ist mir auch klar nur wie mit welchen option eben nicht
     
  5. #4 Wolfgang, 31.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
  6. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Das muß ja auch keinen Sinn für dich machen Hauptsache für mich macht es Sinn. Und wieso macht das keinen Sinn wenn ich nach der korrekten "Formel" zum einpacken frage wenn ich doch umbedingt die Dateien in derselben Art eingepackt benötige wie sie ursprünglich war? Ich hätte wohl sagen müßen das ich schon seit Ewigkeiten über 1000 Seiten rumsuche und alles mögliche ausprobiert habe, ich aber einfach nicht den richtigen Weg finde, und mir diese Seite auch nichts neues sagt. Ich dachte hier kann mir einer sagen wie das sicherlich total einfache richtig wieder eingepackt wird.?( Kann das sein das die Datei zwar mit dem oben geschriebenen ausgepackt werden kann aber irgendwie nicht ganz dem Standard entspricht das es mir nicht möglich ist es exakt gleich wieder einzupacken?
     
  7. #6 Wolfgang, 31.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Also nochmal zur Verständigung:
    gzip komprimiert eine Datei.
    cpio oder auch tar komprimieren erstmal garnichts, sondern archivieren eine oder mehrere Dateien (incl. oder excl. Pfad je nach Optionen).
    Diese Archive kannst du dann noch komprimieren oder bei tar gleich das Kompressionsprogramm mit angeben.
    Folgendes produziert zwei identische komprimierte Dateien. Der einzige Unterschied im Archiv entsteht aus unterschiedlichen Dateinamen.
    Entpacks du diese wieder, sind die Ergebnisse identisch.
    Code:
    gunzip -c test.txt.gz|gzip -9 -c >new_test.gz 
    
    Sowas wird nicht funktionieren, da du nicht gleichzeitig aus einem Filedeskriptor lesen und darauf schreiben kannst, ohne den Input zu truncieren.
    Code:
    
    $ gunzip -c test.txt.gz|gzip -9 -c >test.txt.gz
    
    gunzip: test.txt.gz: unexpected end of file
    
    Willst du nun die Ausgabe an cpio verfüttern scheiterst du, weil cpio keinen Dateiinhalt, sondern Dateinamen erwartet:

    Gruß Wolfgang
     
  8. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Das ich das erstmal alles in eine Datei packen muß mit cpio so wie es original auch war weiss ich schon, nur wie?( das mit excl. Pfad dürfte das richtige sein. Welche Option wäre das? Und diese dann mit gzip komp. ja genau das will ich machen.

    ich hatte das in Einzelschritten so ausgepackt mit dem selben Ergebnis

    ergibt die cpio:
    gunzip -cdf datei > datei

    cpio -id < datei

    ist das richtig so? müßte ja denn es ergibt dasselbe wie

    gunzip -c Datei | cpio -id

    ich denke es hängt nur an der Übergabe der Ordner, Dateien an cpio

    find -print | cpio -o > datei

    was ist denn damit, falsch?
     
  9. #8 Wolfgang, 01.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Code:
    gunzip -c Datei | cpio -id
    
    Übergibt keinen Dateinamen an cpio, sondern den Inhalt einer Datei, was scheitert.
    Code:
    gunzip -c Datei >neue_datei && cpio --create neue_datei >gzip -9 >Neues_cpio_archiv.gz
    
     
  10. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Das geht aber 100% das habe ich mir nicht ausgedacht, habe das so gelesen das man so die Datei auspacken kann/muss, da erhalte ich die Ordner und Dateien die da drin sind. Ist das der Grund warum es mit dem einpacken auf dieselbe Art scheitert weil das schon so komisch ausgepackt wird?
    Code:
    gunzip -c Datei >neue_datei && cpio --create neue_datei >gzip -9 >Neues_cpio_archiv.gz
    ?( gibs dazu eine Erklärung, schnall das jetzt grade nich, ist das was was ich benutzen kann um meine Dateien mit cpio gzip einzupacken in einem Rutsch?( sieht irgendwie nich so aus?(
     
  11. #10 Wolfgang, 01.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ich sagte schon einmal:
    gzip hält immer nur eine Datei
    cpio kann wie tar ganze Verzeichnisse archivieren.
    Das sind zwei paar Stiefel.
    Aber warum nutzt du nicht einfach tar.
    Decompress einfach alle Dateien und erstell dann ein Archiv mit tar oder cpio.
     
  12. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Und ich sagte schon mehrmals das ich erst cpio benutze um aus den vielen Dateien eine zumachen und das ich exakt dieselbe Art und Weise zum einpacken benutzen muß. Die Zweite Möglichkeit die ich hätte wäre mit tar, nur ich möchte wissen wie ich das machen muß mit welchen Optionen, Schaltern nicht das ich das nehmen muß, denn das weiss ich schon längst, das hilft mir mal überhaupt nicht weiter.
     
  13. #12 Wolfgang, 01.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du willst aus vielen Dateien eine machen?
    Bist du dir da sicher?
    Oder meinst du nicht eher, dass du viele Dateien in ein Archiv packen willst?

    Wenn du weiterhin Hilfe willst, solltest du dir mal eine etwas genauere Beschreibung deines Problems nachdenken und Eigeninitiative zeigen.
    Beispielsweise das Lesen der Manpage diverser Programme.
    Auch hast du weder dein OS noch die verwendete Shell genannt.

    Mein letzter Versuch:
    Ich nehme hier an, du hast eine Menge mit gzip komprimierter Dateien und willst diese in ein Archiv packen.Hier wird im einfachsten Fall im Parentverz. ein cpio Archiv erstellt, welches alle ausgepackten Dateien enthält.
    Normalerweise kannst du das über auch in zwei Läufen realisieren.
    Auspacken, anschließen mit tar oder cpio zu einem Archiv hinzufügen.
    Hier der Lauf in einem Rutsch!
    Ungetestet ...
    Code:
    cd /path/to/files
    for i in *gz; do gunzip -c $i>${i%\.gz}&& echo ${i%\.gz};done|cpio --create |gzip -9 >../cpio_file.gz
    
    Für weitere Optionen siehe man cpio!

    BTW ist dein Ton nicht gerade als freundlich zu bezeichnen.
    Prost Neujahr
    Wolfgang
     
  14. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Das kommt daher das ich mich hier völlig verscheissert vorkomme, oder ist das ein Forumfehler das dass gar nicht die Antworten für mich sind?(

    Ich ignoriere das jetzt mal alles und fange von vorn an.

    Ich habe:

    Ordner/unkomprimierteDateien
    Ordner/unkomprimierteDateien
    Ordner/unkomprimierteDateien
    Ordner/unkomprimierteDateien
    ...
    ..
    Diese sollen zuerst mit cpio "eingepackt" werden. Das macht ja aus "viele Dateien" "eine Datei".

    Diese eine große Datei soll dann komprimiert werden mit gzip. Das bekomme ich aber hin das ist keine Thema.
    Es geht nur darum wie ich cpio sagen muß welche "Sachen" es "einpacken" soll, ich habe es mit find und ls probiert jeweils mit allem möglichen Optionen was ich auf den besagten 1000 Seiten die ich seit Ewigkeiten durchsuche gelesen habe, mit einer Listendateien wo die Pfade zu den Sachen drin steht die ich dann an cpio übergebe. Das funktioniert auch alles so wie es soll, ich erhalte eine komprimierte cpio Datei die wiederum alle andere Ordner Dateien erhält, auspacken klappt auch es ist alles genau so wieder da wie es sein soll. Das Problem ist, ich hatte natürlich jetzt erstmal nur mit den gleichen Dateien getestet wie sie in der Ursprungsdatei vorhanden sind um vergleichen zu können ob meine selbst erstellt Datei genau gleich ist, denn das muß sie sein, später sollen Dateien ausgetauscht werden. Die Datei ist aber nicht gleich die ist immer ein Stück größer und funktioniert auf dem System nachher auch nicht da sie eben anderes ist als sie sein müßte. Ist das jetzt nun einfach genug?(
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 Wolfgang, 01.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wenn ich folgendes lese komm ich mir verscheißert vor.
    Später sollen Dateien ausgetauscht werden, irgendetwas ist nicht gleich, alles sehr wirr...
    Wo ist denn nur das wirkliche Problem.
    Wenn du zwei identische Archive erzeugen willst, dann starte das gleiche Archivprogramm zweimal mit den gleichen Optionen und dem gleichen Source.
    Was heißt eine Datei funktioniert nicht?
    Von welchem OS und welcher Shell reden wir?

    Da dir nicht klar ist, dass Du hier etwas willst, und meine Beiträge scheinbar komplett ignorierst, klinke ich mich hier aus.

    Wolfgang
     
  17. Ctomi

    Ctomi Grünschnabel

    Dabei seit:
    31.12.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Das Problem ist das du absolut nix begreifst, und ständig nur Blödsinn der hier nicht dazu passt schreibst den man einfach nur ignorieren kann.
    Ich habe die Ursprungsdatei nicht erstellt, weiss also nicht wie sie erstellt wurde. Wie soll ich den überprüfen ob das, einpacken auf dieselbe Art, geklappt hat wenn ich nicht erstmal die selben Dateien benutze um das Ergebnis mit dem original zu vergleichen. Erst wenn das dann geklappt hat kann ich anfangen die Dateien zu ändern. Da du nicht mal einfachste logische Sachen begreifst brauche ich erst gar nicht anfangen zu erklären was es heisst "funktioniert nicht" oder wo das nachher laufen soll. Man man;( schreib doch lieber gar nix.
     
Thema: wie mit Gunzip cpio wieder einpacken?
Besucher kamen mit folgenden Suchen
  1. packen cpio

Die Seite wird geladen...

wie mit Gunzip cpio wieder einpacken? - Ähnliche Themen

  1. Frage zu gunzip

    Frage zu gunzip: Ich habe ein Script, in der folgende Zeile drin steht: gunzip dateiname 2>/dev/null Ich vermute, dass die Datei entpackt wird und später...
  2. sh: line 1: /gunzip: Datei oder Verzeichnis ...

    sh: line 1: /gunzip: Datei oder Verzeichnis ...: ... nicht gefunden diese Meldung bekomme ich jedes mal, wenn ich gunzip in einem php script per exec() aufrufe. das script rufe ich auf der...
  3. apt4rpm - cpio: Bad magic

    apt4rpm - cpio: Bad magic: Beim Upgrade mittels apt4rpm habe ich in letzter zeit immer häufiger folgende Meldungen bei den Packeten : Preparing......
Status des Themas:
Es sind keine weiteren Antworten möglich.