Hallo, On Fri, 04 Oct 2002, Poldi Winkler wrote:
Am Don, 2002-10-03 um 22.20 schrieb David Haller:
On Thu, 03 Oct 2002, Poldi Winkler wrote:
gibt es einen Befehl, ein Verzeichnis mit Dateien in Unterverzeichnissen und mit symbolischen Links zu diesen Dateien in anderen Unterverzeichnissen zu archivieren/kopieren (mit cp, tar oder wie auch immer)? cd <quelle> tar cp --atime-preserve . | tar -C <ziel> xp --atime-preserve
bin nicht sicher, ob ich Eure Befehle richtig verstanden habe, aber tar führt lediglich im backup-file zu symlinks auf das Original-file (tar -czf /ziel/file.tgz /quelle) . Zumindestens bei mir.
Tar kann auch nach stdout schreiben und von stdin lesen. Und genau das wird open gemacht. Explizit geschrieben: tar cpf - . | tar -C <ziel> xpf - Das .tar zwischendrin ist nicht notwendig. Falls du aber _absolute_ symlinks auch anpassen willst, dann musst du das selbst machen, tar aendert die Ziele der symlinks natuerlich nicht, also wenn ein symlink '/quelle/foo -> /irgendwo/bar' ist, dann gilt nach dem kopieren '/ziel/foo -> /irgendwo/bar'. Relative links passen aber, wenn du z.B.: /quelle/bin/foo -> ../lib/foo/bin/foo /quelle/lib/foo/bin/foo wie oben kopierts, dann gilt anschliessend: /ziel/bin/foo -> ../lib/foo/bin/foo /ziel/lib/foo/bin/foo und der symlinks "passt" noch. Hast du aber einen absoluten symlink /quelle/bin/foo -> /quelle/lib/foo/bin/foo /quelle/lib/foo/bin/foo dann gilt nach dem kopieren: /ziel/bin/foo -> /quelle/lib/foo/bin/foo /ziel/lib/foo/bin/foo und ob es /quelle/lib/foo/bin/foo noch gibt kommt dann darauf an, ob's /quelle spaeter noch gibt (geben wird). Und nein, dass das Ziel von /ziel/bin/foo umgesetzt wird, das macht weder cp noch tar noch cpio oder afio... Das muesstest du selber (per script) machen. -dnh -- 48: Nutzt die neuen Möglichkeiten von Windows'95! Haben Sie unser anderes Update schon gekauft? (Kristian Köhntopp)