Verder Terug Inhoud

7. Het kopiëren van de files van de oude naar de nieuwedisk

Je kunt het best naar single-user mode gaan voordat je begint met het kopiëren van de files, dit omdat er dan geen daemons meer draaien en niemand meer kan inloggen en er ook geen log-files meer lopen.

Als je de harddisk wil kopiëren dan wil je alles kopiëren incl directory's en bestanden, inclusief links.

Alhoewel, je niet de directory /new-disk wilt kopiëren, want dan kopieer je de disk in-zichzelf!

Verder moet je een /proc directory maken op de nieuwe disk, maar je wilt niet de inhoud ervan kopiëren: /proc is een "virtueel" file systeem en heeft eigenlijk geen files. Maar bevat informatie over processen die op het systeem draaien.

Hier zijn verschillende mogelijkheden om de schijf te kopiëren. Als je een grote schijf hebt of weinig geheugen hebt dan duurt het een tijdje Je kan ervan uitgaan dat je ca 10 Mb/min kan kopiëren, maar soms meer.

Je kan het kopieerproces volgen door gebruik te maken van het "df" commando op een andere terminal. Je kunt ook "watch df" of "watch ls -l /new-disk" gebruiken zodat het scherm elke 2 seconden wordt ververst; druk Ctrl-C om het af te breken. Let wel dat als je "watch" gebruikt dit ook het kopiëren kan vertragen.

Dit is de simpelste methode, maar werkt alleen als je Linux systeem op een schijf staat.

De -a optie behoud het origineel systeem zo goed als mogelijk. De -x optie limiteert cp tot een enkel file systeem; dit is nodig om te vermijden dat de /new-disk en /proc directory's worden gekopieerd.

(SuSE enkel: Enkel met deze methode , moet je ook een directory /dev/pts maken op de nieuwe disk. gebruik hiervoor het commando "mkdir /new-disk/dev/pts".)

(Note: Als je de -x optie gebruikt, recente versies van cp maken dan de directory's /new-disk/new-disk en /new-disk/proc, hoewel de directory's leeg blijven. Als deze directory's zijn aangemaakt moet je deze /new-disk/new-disk verwijderen , en /new-disk/proc houden .)

(Typ dit allemaal op een regel)

Deze gaat naar de root directory en copieert dan alle files behalve /new-disk en /proc naar /new-disk. Note De eerste optie achter ls is het nummer 1 en niet letter L!

Dit commando zou in alle omstandigheden moeten werken.

(Typ dit allemaal op een regel)

Deze gaat naar de root directory "tart" alles behalve /new-disk en /proc, gaat dan naar /new-disk en "untart" daar alles. Note: er moet geen slash voor of achter de namen van directory's in de --exclude opties

(Noot: De optie -l werkt niet, als tar de directory's /new-disk en /proc aan het maken is, alhoewel het niet de inhoud copieert. Daarom heeft de tar -l optie niet hetzelfde gedrag als de -x optie met oudere versies van cp.)

Deze methode is wat langzamer dan de andere.

(Typ dit allemaal op een regel)

De laatste directory, /new-disk, is de bestemming voor het cp commando. Alle andere directory's zijn de bronnen. Daarvoor, kopiëren we alle directory's in de lijst naar /new-disk.

Met deze methode kun je simpel een lijst maken van alle directory's die je wilt kopiëren. Hier hebben we alle directory's in een lijst gezet behalve /new-disk en /proc. als je om een of andere redenen geen andere methode kan gebruiken, kun je altijd deze methode gebruiken om handmatig alle directory's te kopiëren die jij selecteert.

Als je deze methode gebruikt, en er staan files in de root directory zelf, dan heb je een ander commando nodig om deze te kopiëren. Dit is speciaal nodig met Debian en Slackware sinds deze distributies files root directory hebben gezet:

cp -dp /* /.* /new-disk

Nadat je een van deze commando's hebt gebruikt, moet je ook nog de /proc directory maken op de nieuwe disk, als deze nog niet bestaat:

Als je wilt kun je nu de file structuur laten nakijken op de nieuwe disk:

Als de nieuwe disk meer dan een partitie heeft, dan moet je hem Unmount-en vanaf "onder af" voordat je fsck.ext2 gaat runnen: Zoals in het voorbeeld hier boven moet je eerst de 3e level partities Unmount-en, dan de 2e level partities, en dan de 1e level partities.

Je kan ook twee disks met elkaar vergelijken, om er zeker van te zijn dat de files goed zijn gecopieerd:

(Typ dit allemaal op een regel)

(Slackware enkel: Een basis Slackware installatie ("A" series enkel) zit het "cmp" commando niet in, dus als een een basis installatie hebt dan kun je dit commando niet runnen. De "cmp" commando zit in de "AP1" series.)

Deze vergelijkt enkel reguliere files, dus geen character of block special files (in de /dev directory), sockets, etc.,sinds het "cmp" niet goed werkte. Wij ontvangen graag suggesties over hoe deze "special" files te vergelijken.


Verder Terug Inhoud