Dateien kopieren von fremder Installation aus

Von: , Frage gestellt am Di, 6. Jan 2009

Moin,

die Suchfunktion hat mir nicht geholfen, vielleicht weil allo so blöde Titel vergeben haben ...

Ich habe Linux 2mal installiert: Auf Platte A und auf Platte B. Wenn ich nun mit B starte und von A z.B. das home-Verzeichnis komplett rüberkopieren will im Sinne eines Backups, funktioniert das nicht. Einige Dateien bzw. Verzeichnisse können nicht gelesen werden, weil nur der Besitzer die Leserechte hat, und der ist aus irgendeinem Grunde 999 oder der Root von System A.

Das Schlimme ist, dass mich z.B. ein cp -a noch nicht einmal darauf aufmerksam macht, das von dem einen Gigabyte nur etwa die Hälfte kopiert wurde. Im Ziel werden sogar nicht erreichbare Verzeichnisse angelegt, sogar rekursiv - dass da nichts drin ist, sieht man erst auf den zweiten Blick.

Auch Dolphin ist da nicht besser. Bei bestimmten Dateien (z.B. die FilterRules von Thunderbird) meckert er, aber ansonsten schweigt das Teil und kopiert munter leere Ordner rüber, die eigentlich voll sind.

Nun könnte ich offenbar mit chown alles so verbiegen, dass System drauf zugreifen kann. Will ich aber natürlich nicht, weil ein Backup ist "berührungslos" - es kann doch nicht sein, dass ich Dateien ändern muss, um sie kopieren zu können. Wer weiß, was passiert, wenn ich dann wieder von System A starte und dan aus deren Sicht sämtliche Dateien nicht mehr lesbar/schreibbar sind oder nur noch eingeschränkt.

Welche Methode gibt es also, ein Verzeichnis von einem fremden ext3-System vollständig und vor allem zuverlässig zu kopieren? Um jetzt bitte kein Hinweis auf den Sinn von Rechtevergabe zum Schutz der Daten oderso ... wenn ich mir das Zeug mit chmod einfach aneigenen kann, ist das Käse. Im Moment kann ich gar nichts machen, weil ich dem System nicht vertrauen kann.

Danke und Grüße,
Kristian

9 Antworten zu dieser Frage

  1. Antwort von nach 45 Minuten 0 hilfreich
    Re: Dateien kopieren von fremder Installation aus

    Hallo Kristian, Ich habe Linux 2mal installiert: Auf Platte A und auf Platte
    B. Wenn ich nun mit B starte und von A z.B. das
    home-Verzeichnis komplett rüberkopieren will im Sinne eines
    Backups, funktioniert das nicht. Einige Dateien bzw.
    Verzeichnisse können nicht gelesen werden, weil nur der
    Besitzer die Leserechte hat, und der ist aus irgendeinem
    Grunde 999 oder der Root von System A.
    Du packst die Sache auch vom falschen Ende an. Solche Backups solltest Du vom Quellrechner aus starten und von dort aus die Daten auf den Zielrechner schieben. Entgegen deiner Warnung muss ich doch sagen, daß es ja noch schöner wäre, wenn man ohne Probleme von einem fremden Rechner aus die Daten eines anderen auf den eigenen schaufeln könnte.
    Aber um ein wenig Butter an die Fische zu bringen, rsync ist für solche Sachen wohl das Werkzeug der Wahl. Beispiele für die Verwendung findest Du u.a. hier:
    http://www.mikerubel.org/computers/rsync_snapshots/
    http://linuxwiki.de/rsync
    oder sowas hier
    http://www.rootforum.de/wiki/backup/03_simple_data
    das benutzt zwar FTP dafür, aber das kann man ja behalten oder entsprechend modifizieren
    Wenn Du nicht basteln willst, gibt es das ganze auch schon fertig verpackt, als rsnapshot
    http://www.rsnapshot.org/
    Und was die Zuverlässigkeit betrifft, natürlich sollte zu einem Backup, wie auch immer es gefertigt wurde, die anschliessende Verifikation gehören, die Du natürlich automatisieren solltest.
    Einfachster Weg wäre z.B. von beiden Verzeichnissen mittels find eine Dateiliste anzufertigen, die dann mittels diff verglichen wird. Wenn Du es noch genauer haben möchtest, kannst Du auch Prüfsummen der einzelnen Dateien erzeugen (z.B. mit MD5) und diese dann vergleichen.

    Viele Grüße
    Marvin

    • Antwort von nach 8 Stunden 0 hilfreich
      Re^2: Dateien kopieren von fremder Installation au

      Du packst die Sache auch vom falschen Ende an. Solche Backups
      solltest Du vom Quellrechner aus starten und von dort aus die
      Daten auf den Zielrechner schieben.
      Ich hab's gewusst ... ;) Egal. Es gibt selbst bei Linux Situationen, und ich scheine sie magisch anzuziehen, wo eben genau das nicht möglich ist. Klar wäre das der bessere Weg. In meinem Falle hatte sich irgendwie ein Filesystem-Fehler eingeschlichen, der dazu führte, dass ich das System nicht mehr starten konnte. Mit dem vorgeschlagenen Tool (fsck oderso) habe ich die (zahlreichen) Fehler dann beheben lassen, aber vorher wollte ich vom anderen System aus ein paar Daten sichern, bevor sie mir flöten gehen. Und das war auch gut so. Entgegen deiner Warnung muss ich doch sagen, daß es ja noch schöner wäre, wenn man ohne Probleme von einem fremden Rechner aus die Daten eines anderen auf den eigenen schaufeln könnte.
      Das Schöne ist: Es geht. Wie gesagt: Ich brauche nur ein chown zu machen, und schon kann ich alles (ALLES) rüberkopieren. Das hatte ich damals an der Uni schon nicht verstanden, weil das nämlich jeglichen Sicherungsgedanken untergräbt. Und sag mir bitte nicht, dass es NICHT geht - ich hab's ausprobiert ;) http://www.mikerubel.org/computers/rsync_snapshots/
      http://linuxwiki.de/rsync
      http://www.rootforum.de/wiki/backup/03_simple_data
      http://www.rsnapshot.org/
      Alles gut und schön, aber wenn diese Programme genauso arbeiten wie cp -r (das eben bestimmte Dateien einfach kommentarlos nicht mitkopiert), dann sind sie auch nicht besser. Ich will mich ja ohnehin mal mit einem der Tools beschäftigen (ein anderes hatte ich schon mal genannt). Wenn man vom eigenen System aus operiert und ggf. noch als root, dann sehe ich da auch keine Probleme. Die gibt es eben nur mit "Fremddaten". Einfachster Weg wäre z.B. von beiden Verzeichnissen mittels
      find eine Dateiliste anzufertigen, die dann mittels diff
      verglichen wird.
      Ja, dachte ich auch schon dran, und das werde ich mir mal zusammenbasteln.

      Danke und Gruß,
      Kristian

      • Antwort von nach 9 Stunden 0 hilfreich
        Re^3: Dateien kopieren von fremder Installation au

        Hallo Kristian, Ich brauche nur ein chown
        zu machen, und schon kann ich alles (ALLES) rüberkopieren.
        Ja, wenn Du denn ein chown machen kannst ;-)
        Ein Beispiel:
        Ich bin user kb. Dann lasse ich mir das Verzeichnis eines anderen Users zeigen:

         ls -l /home/tte
        insgesamt 1764
        -rw-r--r--   1 tte tte 267817 2008-11-06 20:53 blackice-2008-11-06_2052.zip
        -rw-r--r--   1 tte tte 330810 2008-11-13 20:58 blackice-2008-11-13_2057.zip
        -rw-r--r--   1 tte tte 349602 2008-11-27 20:50 blackice-2008-11-27_2049.zip
        -rw-------   1 tte tte 295426 2008-12-04 20:56 blackice-2008-12-04_2056.zip
        -rw-r-----   1 tte tte 361607 2008-12-11 20:57 blackice-2008-12-11_2056.zip
        kb@eternity:~$ chown kb:kb /home/tte/blackice-2008-12-11_2056.zip
        chown: Ändern des Eigentümers von „/home/tte/blackice-2008-12-11_2056.zip“: Die Operation ist nicht erlaubt

        Siehst Du, was ich meine? So einfach ist es also nicht, mit chown und alles können. Und sag mir
        bitte nicht, dass es NICHT geht - ich hab's ausprobiert ;)
        Ich sag es trotzdem: In einem ordentlich eingerichteten System geht es so nicht (s.o.) wenn diese Programme genauso
        arbeiten wie cp -r (das eben bestimmte Dateien einfach
        kommentarlos nicht mitkopiert)
        Nun, bei mir meldet sich cp, wenn es was nicht kopieren kann:
        kb@eternity:~$ cp -r /home/tte/*.zip /tmp
        cp: „/home/tte/blackice-2008-12-04_2056.zip“ kann nicht zum Lesen geöffnet werden: Keine Berechtigung
        cp: „/home/tte/blackice-2008-12-11_2056.zip“ kann nicht zum Lesen geöffnet werden: Keine Berechtigung

        Oder andere Fehlermeldung, extra mit einem randvoll gefüllten USB-Stick erzeugt:
        kb@eternity:~$ cp -r * /media/usbdisk/xyz/
        cp: Schreiben von „/media/usbdisk/xyz/doc/galileocomputing_professionelles_webdesign.pdf“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
        cp: Schreiben von „/media/usbdisk/xyz/doc/passrecovery.pdf“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar

        Fehlermeldungen, so viel Du möchtest...

        Viele Grüße
        Marvin

  2. Antwort von nach 4 Stunden 0 hilfreich
    Re: Dateien kopieren von fremder Installation aus

    Moin,

    die Suchfunktion hat mir nicht geholfen, vielleicht weil allo
    so blöde Titel vergeben haben ...

    Ich habe Linux 2mal installiert: Auf Platte A und auf Platte
    B. Wenn ich nun mit B starte und von A z.B. das
    home-Verzeichnis komplett rüberkopieren will im Sinne eines
    Backups, funktioniert das nicht. Einige Dateien bzw.
    Verzeichnisse können nicht gelesen werden, weil nur der
    Besitzer die Leserechte hat, und der ist aus irgendeinem
    Grunde 999 oder der Root von System A.
    Hat unter den beiden Installationen der selbe User andere User-ids? Du fährst vermutlich besser, wenn Du das so weit wie möglich anpasst.


    Gruß,


    Sebastian

    • Antwort von nach 8 Stunden 0 hilfreich
      Re^2: Dateien kopieren von fremder Installation au

      Hat unter den beiden Installationen der selbe User andere
      User-ids? Du fährst vermutlich besser, wenn Du das so weit wie
      möglich anpasst.
      So einen Gedanken hatte ich auch schon. Die User-Namen sind auf beiden Systemen gleich, und beides ist Kubuntu, das von der gleichen CD installiert wurde. Der gleiche Username scheint aber nicht zu reichen. Wäre ja auch komisch ;) Ob das unterschiedliche Passwort eine Rolle spielt, weiß ich nicht.

      Ich weiß jetzt auch nicht mehr, ob es nur Dateien/Verzeichnisse betraf, die root gehörten oder auch welche, die "mir" gehörten. In jedem Falle hatte nur der Eigentümer Leserechte.

      • Antwort von nach 8 Stunden 0 hilfreich
        Re^3: Dateien kopieren von fremder Installation au

        So einen Gedanken hatte ich auch schon. Die User-Namen sind
        auf beiden Systemen gleich,
        Sebastian hat nicht von Namen, sondern von IDs gesprochen. Unter Linux sind Dateirechte an eine ID gebunden, der Name ist nur ein Alias. Die ID ist eine vorzeichenlose Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie den Namen zugeordnet. Wenn die ID auf beiden Systemen verschiedenen ist, ist der identische Benutzername ohne Belang. Das Kommando newgrp ändert die ID auf einen von dir vorgegebenen Wert.

        Gruß

        • Antwort von nach 8 Stunden 0 hilfreich
          Re^4: Dateien kopieren von fremder Installation au

          Sebastian hat nicht von Namen, sondern von IDs gesprochen.
          Unter Linux sind Dateirechte an eine ID gebunden, der Name ist
          nur ein Alias. Die ID ist eine vorzeichenlose
          Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie
          den Namen zugeordnet. Wenn die ID auf beiden Systemen
          verschiedenen ist, ist der identische Benutzername ohne
          Belang. Das Kommando newgrp ändert die ID auf einen von dir
          vorgegebenen Wert.
          O I C. Okay, das werde ich mir mal angucken. Wäre aber blanker Zufall, wenn die IDs gleich wären. Aber wenn das so einfach ist ... kann man dann nicht überall rein? ;) die gut 65000 Varianten hat man doch schnell durchgespielt ;)

          • Antwort von nach 12 Stunden 0 hilfreich
            Re^5: Dateien kopieren von fremder Installation au

            Wäre aber blanker
            Zufall, wenn die IDs gleich wären. Aber wenn das so einfach
            ist ... kann man dann nicht überall rein? ;) die gut 65000
            Varianten hat man doch schnell durchgespielt ;)
            Der erste angelegte User bekommt die ID 1000, der zweite die ID 1001, der dritte...

            Unix beherrscht eine brauchbare Benutzerverwaltung schon traditionell nicht, Linux hat genetisch keinen Sprung gemacht.

            Gruß

          • Antwort von nach 21 Stunden 0 hilfreich
            Re^5: Dateien kopieren von fremder Installation au

            Sebastian hat nicht von Namen, sondern von IDs gesprochen.
            Unter Linux sind Dateirechte an eine ID gebunden, der Name ist
            nur ein Alias. Die ID ist eine vorzeichenlose
            Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie
            den Namen zugeordnet. Wenn die ID auf beiden Systemen
            verschiedenen ist, ist der identische Benutzername ohne
            Belang. Das Kommando newgrp ändert die ID auf einen von dir
            vorgegebenen Wert.
            Und herausfinden, welche ID ein Benutzer hat, kann man auch einfach über das Kommando "id" O I C. Okay, das werde ich mir mal angucken. Wäre aber blanker
            Zufall, wenn die IDs gleich wären.
            In der Regel werden sie (zumindest bei Debian) ab 1000 nach der Reihnfolge des Anlegens von Usernamen angelegt. Bei SuSe zumindest früher ab 500 ...

            Genaueres findet sich in /etc/adduser.conf Aber wenn das so einfach
            ist ... kann man dann nicht überall rein? ;) die gut 65000
            Varianten hat man doch schnell durchgespielt ;)
            Nun, beim Anlegen kann man angeben, welche ID ein neuer Benutzer erhält (sofern sie nicht bereits belegt ist).


            HTH,


            Sebastian

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!