tar: argumentlist too long

Software besorgen und anwenden
Antworten
Nachricht
Autor
Cayman

tar: argumentlist too long

#1 Beitrag von Cayman » 12. Mär 2007 0:54

Hallo,

ich habe ein Verzeichnis einer selbstgestrickten Anwendung (nicht von mir), in dem mehrere tausend Dateien liegen, insgesamt vier Typen, von denen ich zwei sichern muß. Ging lange Zeit auch gut, aber jetzt renne ich in ein Problem.

Wenn ich nun ein "tar cfz /foo/bar.tar.gz *.cxi *.pdo" mache, bekomme ich die Meldung: tar: argumentlist too long.

Vermutlich sprengt das ersetzen des Asterisk den Zeichenbuffer der shell. Kann man was dagegen machen?

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 12. Mär 2007 11:03

tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.

Code: Alles auswählen

$ find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41; -exec tar -r -f archiv.tar &#123;&#125; \;
$ gzip archiv.tar
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Benutzeravatar
hjb
Pro-Linux
Beiträge: 3264
Registriert: 15. Aug 1999 16:59
Wohnort: Bruchsal
Kontaktdaten:

#3 Beitrag von hjb » 12. Mär 2007 12:36

Hi,
Janka hat geschrieben:tar kann auch an ein existierendes Archiv anhängen. Dazu darf es nicht gezippt sein, aber das kann man ja später nachholen.

Code: Alles auswählen

$ find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41; -exec tar -r -f archiv.tar &#123;&#125; \;
$ gzip archiv.tar
mal abgesehen davon, dass man evtl. auch tar mit --exclude verwenden könnte, dürfte obiges viel zu langsam sein. Besser:

Code: Alles auswählen

find <Verzeichnis> \&#40; -name '*.cxi' -o -name '*.pdo' \&#41;  | cpio -o -H tar | gzip > archiv.tar.gz
Das korrekte Argument hinter -H musst du nachschlagen, habe gerade keine Manpage von cpio da.

Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Benutzeravatar
jochen
prolinux-forum-admin
Beiträge: 699
Registriert: 14. Jan 2000 15:37
Wohnort: Jülich
Kontaktdaten:

#4 Beitrag von jochen » 12. Mär 2007 13:42

Statt "tar" wäre "ustar" (tar nach POSIX.1) die bessere Wahl.

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Antworten