Copieren oder tar?

Post Reply
Message
Author
Markus Schrotter

Copieren oder tar?

#1 Post by Markus Schrotter »

Hallo Helfer

leider habe ich ein Problem, welches ich bisher nur dürftig lösen konnte. Kürzlich wollte ich alle meine /dev-Dateien umkopieren. Leider hat es mit cp nicht hingehauen. Als ich diese Verzeichniss mit der Option -dpr kopiert habe, hat mein System plötzlich angefangen Daten von einer Device zu "saugen" und statt Device, hat es Magabyte-Gorsse Datei erstellt (musste leider abbrechen, da sonst der Platz nicht ausreichen würde). Schliesslich habe ich die Aufgabe mit tar gemeistert. Ich habe die Devices einfach "getart" und die Datei an einer anderen stelle wieder entpackt.

Nun zu miener Frage: <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Ist es möglich, dass ich mit tar die Dateien kopiere. Sprich: Nicht eine Tar-Datei erstelle, sondern die Ausgabe so Umleite, dass sie gleich in einem anderen Verzeichniss entpackt wird? Oder ist es gar mit cp möglich Devices zu kopieren?

Für Hilfe wäre ich euch wirklich dankbar.

Jochen

Re: Copieren oder tar?

#2 Post by Jochen »

Na, da gibt's doch direkt mehrere Lösungen für! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Unter Linux kannst Du problemfrei tar (GNU-tar, um genau zu sein) benutzen:<pre>cd /quell/verzeichnis; tar cf - | (cd /ziel/verzeichnis ; tar xf - )</pre>Der erste tar packt ein, schiebt es wg. Dateiname "-" nach stdout, wo die Subshell lauert. Die wechselt erst mal ins Zielverzeichnis und lässt dort den zweiten tar alles aus stdin (wieder "-") wieder auspacken. Voilà!

Auf anderen UNIX-Systeme ohne GNU-tar hast Du allerdings das Problem, dass tar meist nicht mit Device-Files umgehen kann. Dann verwende einfach cpio:<pre>cd /quell/verzeichnis; find . -print | cpio -padmuv /ziel/verzeichnis</pre>Das schöne daran ist, dass es überall so funktioniert und man die ganzen tollen Optionen zu find dabei benutzen kann. Beispielsweise alle Dateien eines bestimmten Users kopieren, oder alle mit SUID/SGID-Bit und so...

Viel Spass noch!

Thomas Mitzkat

Re: Copieren oder tar?

#3 Post by Thomas Mitzkat »

Hallo!

Ist es möglich dieses dev-dateien woanders wieder zum funktionieren zu bringen? Ich kanns mir kaum vorstellen, woher soll er Kernel zum Beispiel wissen, daß die Gerätedateien in einem anderen Verzeichnis liegen? Was bringt eine solche Aktion überhaupt?

Gruß Thomas

Jochen

Re: Copieren oder tar?

#4 Post by Jochen »

Das die Geräte-Dateien unter /dev liegen, ist nur eine Konvention, weiter nichts. Es hindert niemand den Systemverwalter daran, sich mittels<pre>mknod -m 600 /root/muell c 1 3</pre>ein ganz persönliches Null-Device (auch unter /dev/null verfügbar) einzurichten. Die Nummern 1 und 3 sind die sog. Major- und Minor-Nummern. Sie dienen dem Kernel einfach nur als Zeiger in eine Liste von Treibern. Die dazu gehörigen Funktionen werden aufgerufen, wenn irgendjemand auf das Device-File zugreift.

Also kurz zusammengerafft: Der Zugriff auf die Treiber geschieht über die Device-Files auf den Kernel und nicht umgekehrt; daher ist es auch egal, wo sie liegen. Nichtsdestotrotz ist ein Systemadministrator, der im Dateisystem verteilt Device-Files rumfliegen lässt, offensichtlich auf der Suche nach Problemen/imkompetent/im Koma...

Wenn man a) System-Backups macht oder aber b) sein Linux von einer Platte/Partition auf eine andere kopieren will, macht das schon sehr viel Sinn!

Es kann übrigens schon sein, dass ein Device-File scheinbar nicht funktioniert. Dann liegt es auf einer Partition, die aus Sicherheitsgründen so gemountet wurde, dass deren Device-Files nicht funktionieren (s. auch "man mount").

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Copieren oder tar?

#5 Post by hjb »

Hi,

ein popeliges "cp -a" reicht auch, um die Device-Files zu kopieren.

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

Jochen

Re: Copieren oder tar?

#6 Post by Jochen »

Warum einfach, wenn's auch kompliziert geht? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Aber ehrlich, ich hab mich in der man page vertan. Da stand, dass -a gleich -dpR sei, und das habe ich dann für -dpr gehalten, so wie Markus angegeben hat.

Na ja. Zwei Vorteile verbleiben bei meiner Lösung: Wenn man das GNU-cp nicht hat, wird das Kommando die benötigten Optionen nicht verstehen, und wenn man's hat, hat man meist aich GNU-cpio, und der versteht noch die Option --sparse. Dann werden Dateien mit Löchern beim Umkopieren nicht extra aufgebläht. Eher ein Spezialfall, ist mir aber schon einmal untergekommen.

Viel Spass noch!

Jochen

Re: Copieren oder tar?

#7 Post by Jochen »

Warum einfach, wenn's auch kompliziert geht? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Aber ehrlich, ich hab mich in der man page vertan. Da stand, dass -a gleich -dpR sei, und das habe ich dann für -dpr gehalten, so wie Markus angegeben hat.

Na ja. Zwei Vorteile verbleiben bei meiner Lösung: Wenn man das GNU-cp nicht hat, wird das Kommando die benötigten Optionen nicht verstehen, und wenn man's hat, hat man meist aich GNU-cpio, und der versteht noch die Option --sparse. Dann werden Dateien mit Löchern beim Umkopieren nicht extra aufgebläht. Eher ein Spezialfall, ist mir aber schon einmal untergekommen.

Viel Spass noch!

Markus Schrotter

Re: Copieren oder tar?

#8 Post by Markus Schrotter »

Danke fuer eure Hilfe.
Das mit Tar hat funktioniert. Leider funktioniert die -a oder -dpR Methode immer noch nicht. Ich habe bereits beim letzten Mal diese versucht und heute wieder ausprobiert. Nope! Sowohl mit -a, wie aber auch -dpR werden bei mir nicht die Devices, sondern die Inhalte umkopiert... <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle"> Naja. Was sollts.

Danke noch einmal.

Markus

Post Reply