* Christian Schult <cschult@gmx.de> schrieb am 29.Sep.1999: Hallo Christian,
Ich durchschaue den Unterschied zu -a und -x nicht. -x lässt Unterverzeichnisse aus, die auf anderen Dateisystemen liegen. Das sind doch üblicherweise andere Partitionen,
Ja,
auf die ein sym.-Link verweist.
Nein, nicht unbedingt. Eigentlich nur in Ausnahmefällen.
-a kopiert sym.-Links doch aber bereits als sym.-Links und nicht die Dateien, auf die der Link verweist. Insofern wäre doch der Parameter -x redundant wenn man -a benutzt?
Nein. Mountpoints und Symlinks haben nichts miteinander zu tun, außer daß ein Symlink auch auf ein Mountpoint zeigen kann. Muß aber nicht und es braucht auch kein Symlink auf einen Mountpoint zu zeigen. Tuts auch nicht, ich wüßte nicht wofür. Typische Mountpoints sind /boot, /usr, /var, /home /opt und natürlich /mnt. Weiter Mountpoints sind /cdrom, /floppy, /zip, /msdos und /proc. Manchmal ist auch /usr/local, /usr/lib oder /usr/X11R6 ein Mountpoint. Ach, ich sehe gerade, wenn /usr/X11R6 eine eigene Partition ist, so zeigt der Symlink /usr/X11 auf diesen Mountpoint. Also kann es das doch geben. Ist aber selten. Die Mountpoints sind Verzeichnisse, die meist leer sind. Sollten sie zumindest sein, oder man weiß ganz genau was man tut. Durch mount wird ein eigenes Dateisystem, meist Partitionen oder Hard-, Floppy- bzw. Compactdisks, oder aber ein Netz oder ein Pseudodateisystem (proc), angehängt. Das ist _kein_ Symlink! Auch kein Hardlink. Ein typischer Symlink ist der Link von /usr/src/linux auf z.B. /usr/src/linux-2.2.11. Das hat nichts mit Partitionen zu tuen. Hier ist noch anzumerken, daß cp -a eine Abkürzung von cp -dpR ist. Angenommen, bei Deinem System wäre /usr und auch /usr/lib eigene Partitionen und Du hättest obigen Symlink, so würde cp -dpRx / /mnt die ganze /usr wegen -x nicht mit kopieren, da /usr eine eigene Partition ist. cp -dpRx /usr /mnt/usr würde die komplette Partition /usr nach /mnt/usr kopieren. Dabei werden die Rechte und {S,G}UID-Bits beibehalten. (Wg. -p) Wegen dem -d ist dann /mnt/usr/src/linux ein symbolischer Link auf /mnt/usr/src/linux-2.2.11. Wegen dem -x wird /usr/lib nicht mitkopiert, wenn es eine eigene Partition ist. cp -pRx /usr /mnt/usr ohne -d; kopiert wie oben, nur daß dann /mnt/usr/src/linux kein symbolischer Link ist, sondern ein Verzeichnis, in dem alles was in /usr/src/linux-2.2.11 steht hineinkopiert wird. Das selbe wird natürlich auch in /man/usr/src/linux-2.2.11 hereinkopiert. Die /usr/lib wird auch diesmal nicht mitkopiert. cp -dpR /usr /mnt/usr ohne -x. Diesmal ist /mnt/usr/src/linux wieder ein Link auf /mnt/usr/src/linux-2.2.11. Aber diesmal wird auch /usr/lib mitkopiert. cp -pR /usr /mnt/usr ohne -x und -d. /mnt/usr/src/linux ist ein Verzeichnis mit vollem Inhalt und /usr/lib wird mitkopiert. cp -p /usr /mnt/usr ohne -R. Es werden nur die Dateien und Verzeichnisse die in /usr direkt stehen kopiert, aber nichts was in den Unterverzeichnissen von /usr steht. cp -dpR / /mnt Hier wird alles was unter / steht, also wirklich alles, nach /mnt kopiert. Es wird /mnt/usr/src/linux ein symbolischer Link auf /mnt/usr/src/linux-2.2.11 sein und auch /usr/lib wird kopiert, genau so wie auch /home, /boot und auch /cdrom mit gesamten Inhalt wenn gerade eine CD gemountet ist und auch /proc und natürlich auch /mnt mit dem gerade eben erst neu erzeugen Dateisystem wird nach /mnt/mnt kopiert. Natürlich wird dabei auch /mnt/mnt nach /mnt/mnt/mnt kopiert, und das nach /mnt/mnt/mnt/mnt. Spätestens jetzt sollte Dir was auffallen. ;-)
Jedenfalls habe ich mit "cp -a" bereits Linux erfolgreich umkopiert, allerdings nicht aus dem laufenden System sondern von einem gebooteten Rettungssystem (CD).
Ja, klappt prima, wenn man nicht / kopiert. Und das machst Du nicht bei einem Rettungssystem, da Du wohl kaum das Rettungssystem selber kopieren willst. Bernd -- Bitte die Etikette von Christian beachten: http://www.homepages.de/home/cschult Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 04 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com