A�a��da anlat�lan y�mtemlere mahsus �ncelikli konu ''kaynak'' bilgisayar (klonlanacak olan) ile ''hedef'' bilgisayar (kopya) aras�nda bir a� kurmak olacakt�r. Her iki bilgisayar da bir hub'a ba�l�ysa i�imiz kolay, de�ilse a� kartlar�n� k�pr�l� (crossover) kabloyla birbirine ba�lamal�s�n�z (normal d�z kablolar kullan�lamaz). Hedef bilgisayar i�in bir �al��an linux (Knoppix, LNX-BBC gibi) veya network kart�n� �al��t�rabilecek k���k bir sistem ve ssh ve/veya netcat kullan�labilir olmas� gerekir. Hatta bunlar� yapabilece�iniz disketler bile var (Bilgisayar�mdada tomsrtb olmas�na ra�men, network kart�m� ge� tan�yor). Yeni bir sistem kurmak isterseniz, bu da belki kolay bir alternatif olabilir. Her iki bilgisayar da resimde oldu�u gibi IP adresleri birbirleriyle ''konu�abilecek'' tarzda ve ayn� a� �zerinde olacak �ekilde ayarlanmal�.
Bu temel yap�land�rmalardan sonra klonlama yapmak i�in bir ka� yol var:
ssh-keygen -t rsayaz�n. ��leri kolayla�t�rmak i�in bir �ifre girmeyin. Ortak anahtara /root/.ssh/id_rsa.pub dosyas�ndan ula�abilirsiniz. Bu dosyay� kaynak bilgisayara
scp /root/.ssh/id_rsa KaynakBilgisayar:/tmpkomut sat�r� ile y�kleyebilirsiniz. KaynakBilgisayar yazan yere IP nosunu yaz�n. Emin olup olmad���n�z� sorunca ''yes'' yaz�n (''y'' bazen �al��mayabilir). Hala kaynak bilgisayarda root parolas� i�in bekleniyor olacak. �imdi de hedef bilgisayar�n g�venilir bir a� eleman� oldu�unu g�stermek i�in
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keyskomutunu kaynak bilgisayarda yaz�n. Her �eyden emin olmak i�in yukar�daki komut sat�r�n� hedef bilgisayar�nda da uygulay�n. Art�k bir parola istenmeyecektir.
�lk ad�m her zaman hedef bilgisayar�n sabit s�r�c�s�n� b�l�mlemek ve daha sonra ext2/ext3 dosya sistemini olu�turmakt�r. Bir sonraki ad�m ise journalling se�ene�inin mke2fs komutuna -j se�ene�inin de eklenerek etkin hale getirilmesi olacak (�ekirdekte ext3 deste�inin olmas� gerekli). Hatta isterseniz tune2fs(8) komutu ile ext2 sisteminizi ext3'e �evirebilirsiniz. Kaynak bilgisayarda �u konfigurasyon var diyelim:
Dosya Sistemi | B�y�kl�k | Kullan�lan | Kullan�m % | Ba�land��� yer |
---|---|---|---|---|
/dev/hda3 | 2.7G | 552M | 22% | / |
/dev/hda5 | 7.8G |
1.6G | 22% | /usr |
/dev/hda7 | 6.3G | 1.7G | 28% | /usr/share |
/dev/hda8 | 3.4G | 601M | 19% | /home |
/dev/hda12 | 5.3G | 1.9G | 37% | /opt |
/dev/hda1 | 587M | 70M | 13% |
/var/backup |
Genellikle bir ka� �e�it b�l�mlemeyi tavsiye ederim. Aksi takdirde dosya sistemindeki her hangi bir hata veya sabit s�r�c�n�zdeki bir ka� sekt�r�n bozulmas�ndan dolay� b�t�n bilgilerinizi kaybedebilirsiniz. Ve Murphy Kanuna g�re tek par�adan olu�an bir s�r�c� yerine farkl� b�l�mlemeler yaparak tedbir almazsan�z b�yle k�t� bir hadiseyle kar��la�aca��n�zdan emin olabilirsiniz. Yak�nlarda b�yle bir durumla kar��la�t�m, g�zel bir �ekirdek vard� ve ben s�r�c�y� b�l�mlere ay�rmam��t�m; ve b�t�n bilgilerimi root dosya sistemiyle birlikte kaybettim. Bu da bana /usr'nin �ok h�zl� b�y�d���n� g�sterdi, dolay�s�yla /usr/share dizini eklendi. Daha b�y�k bir sabit disk alman�n vakti geldi.
Hedef bilgisayarda parted (tavsiye edilebilir) veya favori b�l�mleme program�n�z� �al��t�r�n (Qtparted iyi bir grafik arabirimine sahip ve Partition Magic'e benzer bir program). En az kaynak bilgisayardaki b�l�mler b�y�kl���nde par�alar olu�turun. Takas alan�n� da unutmay�n. B�l�mleme tablosunu olu�turduktan sonra, her yeni b�l�memke2fs -j -L <label> /dev/xxxkomutuyla dosya sistemini y�kleyin. xxx yerine b�l�m�n ismini, <label> yerine etiket ismini yaz�n.Ben genellikle etiket yerine ''/usr'' gibi �eyler kullan�r�m (a��l�� esnas�nda bunlar� g�receksiniz). tune2fs(8) ile d�zenli sistem denetim aral���n� ayarlamak gibi bir �ok ayar� yapabilirsiniz.
mount /dev/xxx /mntKlonlama yaparken hedef bilgisayarda bulundu�umuz dizini
cd /mntolarak de�i�tirmemiz gerekli. �imdi de hedef bilgisayarda a� biti i�in �unlar� yap�n:
ssh kaynakBilgisayar 'dump -0 -f - /' | restore -r -f -''-0'' tam yedekle, ''-f -'' dosya tan�mlayicilar i�in stdin/stdout kullan, ''-r'' a� �zerinde ba�l� hedef bilgisayar�n dosya sisteminin tekrar olu�turmas� i�in gerkli olan y�klemeyi yap manalar�na gelmektedir. Daha fazla se�enek i�in dump(8) ve restore(8) kelimelerine bakabilirsiniz. A�a��da k�k dizini transfer edilirken olu�an ��kt�y� g�receksiniz.
$ ssh 10.42.3.42 'dump -0 -f - /' | restore -r -f - DUMP: Date of this level 0 dump: Tue Feb 22 15:50:12 2005 DUMP: Dumping /dev/hda3 (/) to standard output DUMP: Label: debian DUMP: Writing 10 Kilobyte records DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 547312 blocks. DUMP: Volume 1 started with block 1 at: Tue Feb 22 15:50:14 2005 DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: Volume 1 completed at: Tue Feb 22 15:51:43 2005 DUMP: Volume 1 546590 blocks (533.78MB) DUMP: Volume 1 took 0:01:29 DUMP: Volume 1 transfer rate: 6141 kB/s DUMP: 546590 blocks (533.78MB) DUMP: finished in 89 seconds, throughput 6141 kBytes/sec DUMP: Date of this level 0 dump: Tue Feb 22 15:50:12 2005 DUMP: Date this dump completed: Tue Feb 22 15:51:43 2005 DUMP: Average transfer rate: 6141 kB/s DUMP: DUMP IS DONEGeri y�kleme her zaman restoresymtable ad�nda bir dosya olu�turur. Dosya sistemi y�klenirken bir hata olu�mad���ndan eminseniz bir defaya mahsus olarak bu dosyay� silebilirsiniz. K�k dosya sistemi bittikten sonra, di�er ba�l� alt-sistemleri de /usr ile ba�layarak ayn� �ekilde halledebiliriz (�al��ma dizininin yeni sistemin k�k�nde oldu�unu kabul ediyoruz).
mount /dev/xxx ./usr cd ./usr ssh hedefBilgisayar 'dump -0 -f - /usr' | restore -r -f -Bu �ekilde mount-cd-dump/restore d�ng�s�n� b�t�n b�l�mler i�in ger�ekle�tirin. /usr/share (kaynak bilgisayarda kendine has bir b�l�m� olan) b�l�m�ne gelince, yukar�daki ad�mlardan sonra bulundu�unuz dizini ./usr/share olarak de�i�tirin ("." karakterine dikkat edin) ve �unlar� tekrarlay�n
ssh hedefBilgisayar 'dump -0 -f - /usr/share' | restore -r -f -Sadece varolan dosyalar� tekrar y�kleme sorulursa y�kleyin, dolay�s�yla kaynak bilgisayardaki iki farkl� b�l�m�n hedef bilgisayardaki bir b�l�me konmas�nda her hangi bir problem olmayacakt�r. B�t�n sistemi klonlamak ssh ve 100MB a� kartlar� ile yakla��k bir saat s�recektir (k�pr�l� kablo da bir bonus).
Not: Bir dosya sisteminin d�k�m�n� almak i�in sisteme ba�l� olmas�na gerek yoktur. Ayn� zamanda ba�lanm�� bir b�l�m i�in dizin ismini kullanmaktansa /dev/hda6 gibi b�l�m etiketi de kullanabilirsiniz.
ssh'a alternatif olarak k�saltmas� nc olan netcat(1) 'i de kullanabilirsiniz. Netcat a� �zerinde borular olu�turman�za izin veren TCP/IP istemci sunucu i�erinde kolay bir kullan�ma sahip isvi�re �ak�s� gibi bir �ey. Yukar�daki �rnekler sadece a�a��daki gibi de�i�tirildi�inde sorun kalmayacakt�r. /var/backup b�l�m�n�n kaynak bilgisayardan hedef bilgisayara dump/restore ile ta��nd���n� varsay�yoruz.
Al�c� taraf�nda (hedef Bilgisayar) ise bir dinleyici olu�turmak i�in netcat -l komutunun ��k���n� restore komutuna ba�lay�n.nc -l -p 2000 -q 1 | restore -r -f -Kaynak Bilgisayar'da girdisi Hedef Bilgisayar�n IP'si olan bir netcat durumu olu�turun.
dump -0 -f - /var/backup | nc <HedefBilgisayar-ip> 2000-q se�ene�i nc'nin dosya-sonu (EOF) karakteri al�nca durmas�n� sa�layacak, fakat benim y�ntemimde elle durdurmak zorunda kalaca��m. Zaten ssh kullanman�z� tavsiye ederim.
grub> root (hd0,xxx) ... filesystem is ... grub> setup (hd0) ... lots of output here grub> quitveya xxx yerine sabit s�r�c�n�z� yaz�n ve �u komutu kullan�n: grub-install /dev/xxx. Burada hem root (hdn,xx) k�sm�n� hem de root=/dev/xxx k�sm�n� kontrol edin.
E�er klonlanm�� bilgisayarda donan�m�n�z daha iyiyse �zel-�ekirdek ayarlar�'n� g�ncellemek isteyebilirsiniz. E�er �nceden ayarlanm�� bir�ok mod�ll� bir sistem kullan�yorsan�z (RedHat, SuSe, Mandrake, Fedora ... gibi) endi�elenmeyin, b�y�k bir olas�l�kla uygun bir mod�l vard�r. Yoksa, lspci -vv ve ba�ka yerlerde a��kland��� gibi �ekirde�in derlenmesi ile sorunu ��zebilirsiniz. Ekran kart�n�z farkl�ysa /etc/X11/XF86Config-4 dosyas�n� g�ncelleyin (veya xorg.conf RH/Fedora'da), aksi takdirde ekran ��kt�s� alamazs�n�z. M�mk�nse ve elinizde gerekli ara�lar mevcut ise 3. �al��ma d�zeyinde bilgisayar� a��p grafik ara�lar�n�n yard�m�yla X ortam�n�n ayarlar�n� yapabilirsiniz. Debian alt�nda biraz ara�t�rma gerekiyor, bende s�r�c� r128'den radeon'a de�i�ti�i i�in �ansl�yd�m.
Bu belge ext2/ext3 dosya sistemlerinin nas�l klonland���n� anlat�yor. Bir�ok benzer komut di�er bir�ok Linux sistemlerinde bulunabilir. Mesela, FreeBSD, HP-UX, IRIX gibi bir�ok Unix sistemleri dump/restore komutlar�n� destekler; Solaris'te ufsdump/ufsrestore diye adland�r�lm��t�r. ReiserFS gibi dump fonksiyonunu tavsiye etmeyen dosya sistemleri de mevcut. Burada kendisine rsync kullanmay� tavsiye ediyor. rsync ile bir Linux sistemin nas�l ba�ar�l� bir �ekilde klonlanabilece�ini burada g�rebilirsiniz [1].