Gönderen Konu: [Nasıl] Ubuntu'da Sistem Yedeği Almak  (Okunma sayısı 22975 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

« Yanıtla #1 : »
UBUNTU'DA SİSTEM YEDEĞİ ALMAK - Bölüm: 1/5

Kaynakça:
1. Howto: Backup and restore your system!
2. Backup your System using TAR


I. GİRİŞ


Linux'ün, Windows'ta olmayan çok ilginç bir özelliği var; insanı kurcalamaya, yeni yeni şeyler denemeye teşvik ediyor. Lakin bazen bu kurcalama işini abartıp sistemi kullanılmaz hale getirebiliyoruz. İşte böyle durumlarda bir düğmeye basıp herşeyi, sistemi bozmadan önceki eski haline getirebilseydik harika olurdu. Size güzel bir haberim var: Bu mümkün!

Önce şu felaket senaryolarına bir göz atalım isterseniz:

Senaryo-1: Bütün ayarlarınızı yaptınız, ekran kartınız, ses kartınız, vb. donanımınız düzgün çalışıyor. Bir gün yaptığınız güncellemeler, program kurulumları (örn. KDE4) neticesinde bilgisayarınız sapıttı. Masaüstü açılmıyor, eskiden çalışan ses artık gelmiyor. Bütün ayarlar bir şekilde alt üst oldu ama nasıl oldu emin değilsiniz. Düzeltemiyorsunuz da...

Senaryo-2: Şu an Alpha aşamasında olan Ubuntu'nun yeni versiyonu Intrepid Ibex'i (8.10) merak edip kurdunuz, sorunlarından bıktınız ve geri dönmek istiyordunuz. Normelde Hardy'yi sıfırdan tekrar kurmanız gerekir. Ama o kadar özelleştirmeden sonra tekrar sıfırdan kurulup yapmak size zor geliyor.

Senaryo-3: Zararsız bir dosyayı root yetkileriyle sileyim derken meşhur "rm -rf" komutunun neden bu kadar tehlikeli olduğunu ilk elden görme şansınız oldu: Pek çok önemli sistem klasörünü yanlışlıkla sildiniz. Sisteminiz artık açılmıyor bile.

Senaryo-4: Çok uğraştınız, zevkinize göre özelleştirdiniz; en nihayetinde size özel çok güzel bir sistem kurdunuz. Ve bu sistemi, benzer özellikleri olan yeni bilgisayarınıza aktarmak istiyorsunuz.

Bu senaryolar ve daha fazlası için; ne yazık ki Ubuntu'da, Windows'taki Sistem Geri Yükleme'de olduğu gibi merkezi bir çözüm yok. Ancak 3. kişilerin geliştirdiği pek çok program var. Önce bu programları irdeleyelim. Yedekleme ve geri yükleme için temelde üç farklı yaklaşım söz konusu:

A- Diskin / bölümün komple kopyasını alan yazılımlar:
Linux'teki klasik "dd" disk görüntüsü alma programı, Acronis True Image, Norton Ghost, PartImage, vb.
(Bildiğim kadarıyla bunları dezavantajı, geri yükleme için tamamen aynı özellikte, aynı boyutta bir sabit diske / bölüme ihtiyaç olması, özellikle "dd" komutu için, bölüm boyutunda değişiklik olursa geri yükleme yapılamamasıdır.)

B- Dosya ve dizin arşivleme esasına göre çalışan uygulamalar:
Linux'teki klasik "tar", "dar", "rsync", "rdiff-backup" yedekleme programları, Simple Backup Suite, Flyback, "dar" programının önyüzü olan KDar, Mondo Rescue, vb.
(Grafik araçlar genelde belli bazı klasörlerin yedeklenmesinde kullanılıyor. Komple sistem yedeği almak için konsol araçlarını kullanmak daha doğru bir yaklaşım olur. Bu araçlardan bazıları, eklemeli yedekleme [incremental backup] ve farka dayalı yedekleme [differential backup] olarak tabir edilen çözümleri destekliyor. Böylece her seferinde komple sistem yedeği almak yerine, mevcut yedek üzerine, sadece yapılan değişiklikleri yedek almak mümkün oluyor.)

C- Mevcut paket ve ayarları kullanarak Çalışan CD oluşturan uygulamalar:
Remastersys, Reconstructor, bir dereceye kadar AptOnCD, vb.
(Bu araçları kullanarak, Ubuntu/Linux Mint tabanlı, ancak istediğiniz paketlerin kurulu olduğu Çalışan CD/DVD'ler oluşturabilirsiniz.)

Şimdi dilim döndüğünce yukarıdaki araçlardan, B grubuna ait olan, uzun süredir kullandığım ve beni geçmişte birçok zor durumdan kurtarmış olan "tar" ile konsoldan yedekleme yöntemini anlatacağım.


II. ÖN HAZIRLIKLAR


Herşeyden önce "/etc/fstab" ve "/boot/grub/menu.lst" dosyalarındaki UUID referanslarını kaldırarak, yerlerine /dev/sdX# (sda1, sdb2 gibi) aygıt referanslarını yazmalıyız. Bu işlemi yedeklemeden sonra yapmaktansa önce yapmamız hayrımıza, zira geri yükleme öncesinde disk bölümlerinde boyut değişikliği, formatlama, vb. işlemler yapılmışsa ilgili bölümün UUID numarası değişiyor ve geri yükleme sonrasında sistem ya hiç açılmıyor, ya da düzgün açılmıyor.

Kod: [Seç]
sudo fdisk -l
sudo blkid
komutlarıyla mevcut sabit disklerin UUID numaralarını bulun.

Kod: [Seç]
gksu gedit /etc/fstab &komutuyla ve yukarıdaki komutların çıktılarından faydalanarak, açılışta yüklenecek bölümlere ait "UUID=....." ifadesini (dikkat; komple satırı değil) "/dev/sdX#" şeklinde ilgili satırın aygıt ismiyle değiştirin. Buradaki & işlemi, konsolda verdiğiniz komutu arka plana atacak ve gnome editor açıldıktan sonra da konsolda yeni komutlar yazmanıza imkan verecek.

Aşağıda örnek bir fstab dosyasının değişiklikten önceki ve sonraki halleri var:
Kod: [Seç]
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda1
UUID=9c1afbfd-73ae-4a60-8764-b8dcdd980672 /               ext3    relatime,errors=remount-ro 0       1
# /dev/sda5
UUID=7dcc38cc-88d2-4eb2-bf6f-6adc03ee43a5 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

Kod: [Seç]
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    relatime,errors=remount-ro 0       1
/dev/sda5       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

Kod: [Seç]
gksu gedit /boot/grub/menu.lst &komutuyla ve yukarıdaki komutların çıktılarından faydalanarak, Linux root bölümüne (fstab içinde / olarak yüklenen bölüme) ait "root=UUID=....." sözcüklerini "root=/dev/sdX#" olarak ilgili satırın aygıt ismiyle değiştirin. "sdX#" yerine sda3, sdb1, hda5, vb. gerçek bölüm numarasını yazmalısınız. Bu arada dikkat edin, dosyanın başlarında bir yerlerde, yorum satırı gibi görünen (# ile başlayan), ancak gerçekte sistem tarafından çekirdek güncellemelerinde Grub menüsünün otomatik güncellenmesinde kullanılan "root=UUID=....." ifadesine rastlayacaksınız. Bu satırı da aynı şekilde "root=/dev/sdX#" olarak değiştirmelisiniz.

Aşağıda örnek bir menu.lst dosyasının değişiklikten önceki ve sonraki halleri var:
Kod: [Seç]
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.
.....
.....
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=9c1afbfd-73ae-4a60-8764-b8dcdd980672 ro
.....
.....
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=9c1afbfd-73ae-4a60-8764-b8dcdd980672 ro quiet splash
initrd /boot/initrd.img-2.6.24-19-generic
quiet

title Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=9c1afbfd-73ae-4a60-8764-b8dcdd980672 ro single
initrd /boot/initrd.img-2.6.24-19-generic

title Ubuntu 8.04.1, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

Kod: [Seç]
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.
.....
.....
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/sda1 ro
.....
.....
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.24-19-generic
quiet

title Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.24-19-generic

title Ubuntu 8.04.1, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST


Her iki dosyayı da kaydedin ve kapatın. Düzgün çalıştığından emin olmak için bilgisayarınızı bir kez kapatıp açın:
Kod: [Seç]
sudo reboot
Firefox'tan (ve diğer web tarayıcılarından) geçmiş dosyalar (cache) arşivini temizleyin:
Kod: [Seç]
Firefox için Araçlar >> Özel verileri temizle, Opera için Araçlar >> Kişisel verileri sil
"/var/cache/apt/archives" klasöründe tutulan, yüklediğiniz programların arşivlenen Debian paketlerini aşağıdaki komutla temizleyin:
Kod: [Seç]
sudo apt-get clean
Masaüstünde ve diskin diğer yerlerinde kaydedilmesini istemediğiniz dosyalar (film, müzik, vb.) olup olmadığını son bir kez kontrol edin.

Artık komple sistem yedeği almaya hazırsınız.

« Son Düzenleme: 28 Temmuz 2008 - 22:16:20 Gönderen: erginemr »

« Yanıtla #25 : »
Eğer sabit disk yapısında değişiklik yapmadıysanız, yani eskiden 3 adet olan disk bölümlerini yeniden boyutlandırarak 4'e çıkarmadıysanız, ya da başka bir sabit disk bölümüne kurmaya çalışmıyorsanız sorunsuz açılmalıydı...

Yalnız benim merak ettiğim şu: Siz şimdi yedek aldınız, geri yükleme mi yapamıyorsunuz? Yoksa yedek aldınız ama hazırlık aşamasında sildiğiniz UUID değerleri yerine koyduğunuz /dev/sdxy ifadeleri, bir dahaki açılışta sorun mu çıkarttı?

« Yanıtla #26 : »
Eğer sabit disk yapısında değişiklik yapmadıysanız, yani eskiden 3 adet olan disk bölümlerini yeniden boyutlandırarak 4'e çıkarmadıysanız, ya da başka bir sabit disk bölümüne kurmaya çalışmıyorsanız sorunsuz açılmalıydı...

Yalnız benim merak ettiğim şu: Siz şimdi yedek aldınız, geri yükleme mi yapamıyorsunuz? Yoksa yedek aldınız ama hazırlık aşamasında sildiğiniz UUID değerleri yerine koyduğunuz /dev/sdxy ifadeleri, bir dahaki açılışta sorun mu çıkarttı?
Hazırlık aşamasındaki söylenenleri yaptıktan sonra sistemi tekrar başlatın diyor yazıda. İşte sistemi tekrar başlattıktan sonra linux açılmadı.

« Yanıtla #27 : »
Hmm, anladım. Intrepid'de sistemde çok büyük bir değişiklik yapılmadıysa, sorun çıkmamalıydı. Dilerseniz beraber bakalım:

1. Şu iki dosyanın içeriği nedir?
Kod: [Seç]
gedit /boot/grub/menu.lst &
gedit /etc/fstab &

2. Konsolda şu iki komut ne döndürüyor?
Kod: [Seç]
sudo fdisk -l
sudo blkid

« Yanıtla #28 : »
Hmm, anladım. Intrepid'de sistemde çok büyük bir değişiklik yapılmadıysa, sorun çıkmamalıydı. Dilerseniz beraber bakalım:

1. Şu iki dosyanın içeriği nedir?
Kod: [Seç]
gedit /boot/grub/menu.lst &
gedit /etc/fstab &

2. Konsolda şu iki komut ne döndürüyor?
Kod: [Seç]
sudo fdisk -l
sudo blkid
Şu andaki içeriği tekrar eskisi gibi düzenledim. Önceden yaptığım gibi yapıp buraya koyayım öyleyse.

« Yanıtla #29 : »
Alıntı
Bunun dışında, bir adet NTFS disk bölümünüz olmasına rağmen, menu.lst dosyasında Windows işletim sistemine ait bir bölüm yok. Sisteminizde Windows kurulu değil mi?
Şimdi oldu, sistem açılıyor. :) Evet, sistemde windows yok. Yardımlarınız için çok teşekkür ederim.

« Yanıtla #30 : »
Son bir şey daha sorayım. Bilgisayarı formatlamam gerekti tekrardan düzenleme yapıyorum.
Alıntı
title      Ubuntu 8.10, kernel 2.6.27-9-generic
root      (hd0,5)
kernel   /boot/vmlinuz-2.6.27-9-generic root=/dev/sda6 ro quiet splash
initrd      /boot/initrd.img-2.6.27-9-generic
quiet

title      Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
root      (hd0,5)
kernel   /boot/vmlinuz-2.6.27-9-generic root=/dev/sda6 ro  single
initrd      /boot/initrd.img-2.6.27-9-generic

title      Ubuntu 8.10, memtest86+
root      (hd0,5)
kernel   /boot/memtest86+.bin
quiet

Buradaki (hd0,5) değerini hangi mantıkla yazdık?

« Yanıtla #31 : »
(hdx,y) ifadesinde:
Alıntı
hd0 -> sda, hd1 -> sdb, hd2 -> sdc,
(hd0,0) -> sda1, (hd0,1) -> sda2, (hd2,2) -> sdc3
anlamına geliyor.

Hangi disklerin bağlı olduğunu da "sudo fdisk -l" komutu ile görüyoruz.



« Yanıtla #32 : »
(hdx,y) ifadesinde:
Alıntı
hd0 -> sda, hd1 -> sdb, hd2 -> sdc,
(hd0,0) -> sda1, (hd0,1) -> sda2, (hd2,2) -> sdc3
anlamına geliyor.

Hangi disklerin bağlı olduğunu da "sudo fdisk -l" komutu ile görüyoruz.




Tamam, şimdi tam anlamıyla anladım :)

« Yanıtla #33 : »
Alıntı
A- Diskin / bölümün komple kopyasını alan yazılımlar:
Linux'teki klasik "dd" disk görüntüsü alma programı, Acronis True Image, Norton Ghost, PartImage, vb.
(Bildiğim kadarıyla bunları dezavantajı, geri yükleme için tamamen aynı özellikte, aynı boyutta bir sabit diske / bölüme ihtiyaç olması, özellikle "dd" komutu için, bölüm boyutunda değişiklik olursa geri yükleme yapılamamasıdır.)

dipnot: Acronis için disk bölümünün sabit olmasına gerek yok hatta yedek yüklerken bölümün boyutunu istediğiniz gibi ayarlayabiliyorsunuz. :)
"Sevginin gücü, güce olan sevgiyi yendiğinde, dünya barışı tanıyacak..."
-Sri Chinmoy Ghose-

« Yanıtla #34 : »
« Son Düzenleme: 18 Ekim 2009 - 20:05:41 Gönderen: özgürubuntu »
Yaşamak bir ağaç gibi tek ve hür
ve bir orman gibi kardeşçesine,
      bu hasret bizim!

« Yanıtla #35 : »
Çok yararlı bir döküman olmuş bu.
Paylaştığınız için teşekkürler.

« Yanıtla #36 : »
Öncelikle bu yazı için çok teşekkür ederim benim çok işime yaradı açıkcası bir ekleme yapmak istiyorum uyku modu (hibernate) kullananlarda uykudan uyanamama gibi bir durum oluşursa "/etc/initramfs-tools/conf.d/resume" içinde ki uuid değerini yeni swap bölümün uuid değeri ile güncellemek gerekiyor.