Lunix (Ubuntu) Sistem İşlemleri
Bu makalede Windows'dan aşina olduğunuz sistem işlemlerinin (yedek alma,geri yükleme gibi...) Lunix Ubuntu da nasıl yapıldığı anlatılmıştır.
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 versiyonunu 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.)
"tar" ile konsoldan yedekleme yöntemi
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: Tümünü seç
sudo fdisk -l
sudo blkidKod: Tümünü seç
gksu gedit /etc/fstab &Aşağıda örnek bir fstab dosyasının değişiklikten önceki ve sonraki halleri var:
Kod: Tümünü 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 0Kod: Tümünü 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 0Kod: Tümünü seç
gksu gedit /boot/grub/menu.lst &Aşağıda örnek bir menu.lst dosyasının değişiklikten önceki ve sonraki halleri var:
# 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
# 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: Tümünü seç
sudo rebootFirefox 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: Tümünü seç
sudo apt-get cleanArtık komple sistem yedeği almaya hazırsınız.
III. YEDEKLEME
Sistem yedeğimizi toplamda üç adımda alacağız: Kök dizinini(/), ev dizinini (/home) ve "/etc/fstab" dosyasını arşivleyeceğiz. Sistem kök dizinini arşivlerken "/home" klasörünü yalnızca boş olarak, "/media" altındaki bağlı sistemlerin yalnızca ana klasör isimlerini, sistem işleyişiyle ilgili sanal dosyaları içeren /proc ve /sys klasörlerini ise boş olarak kaydedeceğiz.
Sonra "/home" klasörüne geçerek içinde bulunan kullanıcıların ev dizinlerini yedekleyeceğiz. Ev dizinini kök dizininden ayırmamız iki açıdan önemli ve gerekli: Birincisi; ev dizinindeki dosyalar ve ayarlar yanlışlıkla silinirse bütün sistemi geri yüklemeye gerek olmuyor. İkincisi; (ben dahil) bazı kullanıcılar ev dizini ayrı bir bölümde tutuyor, zira bu şekilde bir kullanım, Ubuntu dağıtım/versiyon güncellemede büyük kolaylıklar sağlıyor. Böyle bir durumda ev dizinini zaten ayrı yedeklemek durumundayız.
Kod: Tümünü seç
cat /etc/fstabAlt+F2 >> gnome-terminal komutuyla konsolu açın.
Kod: Tümünü seç
sudo suKod: Tümünü seç
cd /
tar cvzpf /root.tgz --exclude={root.tgz,home/*,media/*/*,proc/*,sys/*} /Kod: Tümünü seç
less /etc/fstabEnter'a bastığınız andan itibaren arşiv oluşturulmaya başlayacak ve bilgisayarınızın hızına göre yalaşık 1-2 saat sürecek. Bu sırada bilgisayarda çalışmaya devam edebilirsiniz ancak kesinlikle program yüklemeyin, kaldırmayın ve sistemdeki paketleri güncellemeyin.
Tar programına verdiğimiz cvzpf parametrelerinden c; yeni dosya oluşturur (create), v; konsolda yapılan işlemle ilgili geri bildirim yapar (verbose), z; dosyayı gzip ile sıkıştırır [*.tar.gz ya da kısaca *.tgz] (zip), p; yedeklenen dosyalarının dosya izinlerini korur (preserve veya permissions), f de "hani bana, hani bana?" der; , f parametresi oluşturulacak dosyanın ismini belirtir (burada "f root.tgz").
Tar komutunda dosya ve dizinleri hariç tutmak için --exclude={dizin listesi} komutunu kullanıyoruz. Hariç tutulacak liste tek bir elemandan oluşuyorsa, {} süslü parantez işaretlerini kullanmayabilirsiniz. Dilerseniz, tar komutu için birden fazla "--exclude=" parametresi de kullanabilirsiniz.
Sıra ev dizinini arşivlemeye geldi:
Kod: Tümünü seç
cd /home
tar cvzpf /home.tgz --exclude={home.tgz} .Bu esnada kullanıcı klasörünüzde yer kaplayan ve hariç tutulmasını istediğiniz film, müzik vb. klasörleri;
tar cvzpf /home.tgz --exclude={home.tgz,Belgeler/*,Film/*,Müzik/*,*.mp3,*.avi} .
tarzı bir gösterimle arşiv harici tutabilirsiniz. En sondaki nokta işareti (.) mevcut dizinin arşivleneceğini belirtiyor.
Dikkat: Bu tarz sonradan eklediğiniz belgelerinizi kaybetmek istemiyorsanız, aşağıda anlatacağım geri yükleme aşamasında ev dizinini formatlamamaya dikkat edin.
Ev dizinimizi de yedekledik. Son olarak, bağlı bölümlerin listelendiği /etc/fstab dosyasını, sonradan gerektiğinde başvurmak üzere kök dizine yedekleyelim:
Kod: Tümünü seç
cp /etc/fstab /fstab.old
exitŞimdi kök dizinde root.tgz, home.tgz ve fstab.old olmak üzere toplam 3 adet yedek dosyası oluşmuş olması lazım. Bunları sisteminizde ayrı bir bölüme, örneğin ext3 formatlı bir depo bölümüne, ya da ntfs formatlı Windows paylaşımlı bir klasöre, ya da en iyisi yazılabilir bir DVD'ye (yedekleri "split" vb. ek bir programla bölmezseniz 700 MB standart bir CD'ye sığmayacaktır) kaydetmeniz gerekiyor.
Örneğin, yedek diskimiz disk1 olsun.
Kod: Tümünü seç
mkdir -p /media/disk1/backup/`date +%y%m%d`
mv /*.tgz /*.old /media/disk1/backup/`date +%y%m%d`Yedekleme işlemi tamam.
IV. GERİ YÜKLEME
Korktuğunuz başınıza geldi: Sisteminiz açılmıyor, ya da düzeltilemeyecek kadar çok problem çıkartıyor. Bu durumda yapmanız gereken şey; en son aldığınız yedeği tekrar geri yüklemek. Geri yükleme işlemi, yedekleme işleminden bir nebze daha zor; bölümleri bağlamanız, gerekiyorsa formatlamanız, hangi arşiv dosyasını hangi bölüme açacağınıza çok dikkat etmeniz gerekecek. Ancak "bir penguenin beceremeyeceği iş yoktur". Öyleyse haydi bakalım!
Geri yükleme işlemini iki yoldan yapabilirsiniz:
A- Çalışan Sistem Üzerinde Geri Yükleme:
Eğer sisteminizdeki bazı ayarlar bozulduysa, bazı donanımlar çalışmıyorsa, ancak eski yedeği aldıktan sonra çok fazla program, vb. yüklemediyseniz, mevcut çalışmakta olan sistem üzerinde geri yükleme yapabilirsiniz. Bunun için:
Alt+F2 >> gnome-terminal
komutuyla konsolu açın ve
Kod: Tümünü seç
sudo suKod: Tümünü seç
cd /media/sdX#/yedek_diziniKod: Tümünü seç
cd /media/cdrom#/yedek_dizini
Kod: Tümünü seç
ls /mediaKod: Tümünü seç
tar xvzpf root.tgz -C /Kod: Tümünü seç
tar xvzpf home.tgz -C /homeKod: Tümünü seç
rebootBu yöntemin avantajı geri yüklemenin çok kolay olması, dezavantajı ise genelde "/usr/share" altında bulunan yeni yüklenmiş program dosyalarının, ve varsa yeni çekirdek dosyalarının sistemde fazlalık olarak kalması ve yer işgal etmesi. Bu sorun için bazı çözümler düşündüm, yedekleme öncesi ve sonrası "find" ile yeni yüklenmiş dosyaları bulmak, yedekleme öncesi ve sonrası "dpkg get-selections" vb. komutlarla kurulu paketlerin listesini alarak bir şekilde karşılaştırmak ve yeni paketleri bulup ayıklamak, vb. Ancak henüz "budur" diyebileceğim kesin bir sonuca ulaşamadım.
B- Çalışan CD Kullanarak Geri Yükleme:
Eğer Ubuntu açılmıyorsa ya da son yedeklemeden sonra pek çok program kurmuşsanız, bilgisayarınızı tercihan Ubuntu Çalışan (Live) CD'si ile, Çalışan CD'nin (bazı bilgisayar donanımlarında olduğu üzere) işe yaramadığı durumlarda ise, metin tabanlı Ubuntu Alternatif Kurulum CD'si ile açmanız ve geri yüklemeyi bu şekilde yapmanız gerekiyor:
Yedeğinizi bir CD/DVD'ye almışsanız ve sisteminizde tek CD/DVD sürücü varsa, yedek arşiv dosyalarını başka bir ortama (Windows sabit diski, USB hafıza çubuğu, harici disk, vb.) kopyalamalısınız. Eğer Alternatif Kurulum CD'sini kullanacaksanız, menüde Windows'taki "kurtarma konsolu"na benzer bir seçenek var, bunu seçerek bilgisayarı root yetkileriyle konsoldan açmalısınız. Bilgisayarı Live CD ile açtığınızı varsayarsak:
Alt+F2 >> gnome-terminal
komutuyla konsolu açın ve
Kod: Tümünü seç
sudo su"Ctrl+Shift+T" ile yeni bir sekme açın ve bu sekmede
Kod: Tümünü seç
sudo fdisk -lYedeğin bulunduğu yer bir sabit disk bölümü ise, yukarıdaki komut çıktısını kullanarak ilgili aygıt ismini belirleyin ve aşağıdaki komutlarla, örneğin /dev/sdb1 için;
ile ilgili bölümü yükleyerek yedek dizinine gidin.cd /media
mkdir yedek
mount /dev/sdb1 yedek
ls yedek
cd yedek/yedek_dizini
Eğer yedek CD/DVD'de ya da USB sürücüde bulunuyorsa, bunlar takıldığında zaten otomatik olarak yüklenecek ve ilgili dizin, sistem tarafından "/media" klasörü altında oluşturulacaktır:
gibi... Bir üst dizine geçmek için "cd ..", önceki dizine dönmek için "cd -", kök dizinine çıkmak için "cd /" komutlarını kullanabilirsiniz.cd /media
ls
cd cdrom/yedek_dizini
Yedek dizinimizi bulduk, şimdi sıra geri yükleme yapacağımız kök ve varsa ev bölümlerini bulmaya geldi. Bu aşamada, daha önce yedeklediğimiz, "fstab.old" dosyası çok işimize yarayacak. Ctrl+Shift+T ile üçüncü bir sekme açın ve
Kod: Tümünü seç
less /media/aygıt_adı/yedek_dizini/fstab.oldBöylece 3 sekmemiz oldu; birincide işlemleri yapıyoruz, ikincide "fdisk -l" çıktısı var, üçüncüde ise eski fstab (bağlı dosya sistemleri listesi) içeriği görüntüleniyor. Geri yükleme (özellikle formatlama) işlemlerini yaparken bir gözümüz de diğer sekmelerde olsun. İkinci ve üçüncü sekmelerdeki bilgileri kullanarak, tahmini Ubuntu bölümlerini bulun (fdisk çıktısında ilgili aygıtların dosya sistemi Linux şeklinde görünecektir). Örneğin, fstab çıktısında / (yani kök) olarak bağlanmış gözüken bölüm /dev/sdf8 olsun:
Kod: Tümünü seç
cd /media
mkdir root
mount /dev/sdf8 root
ls rootEğer kök dizini geri yüklemeden önce biçimlendirmek (formatlamak) isterseniz (ki bence yapmalısınız), vermeniz gereken komutlar şu şekilde:
Kod: Tümünü seç
umount root
mkfs.ext3 /dev/sdf8Eğer sistemde ayrı bir /home bölümü varsa (fstab.old çıktısından görebilirsiniz), ve aygıt ismi örneğin /dev/sdg9 ise ve ext3 biçeminde ise, önce içeriğini görmek için;
Kod: Tümünü seç
cd /media
mkdir home
mount /dev/sdg9 home
ls homeKod: Tümünü seç
umount home
mkfs.ext3 /dev/sdg9Evet, artık geri yüklemeye hazırız. Arşiv dosyalarının bulunduğu yedek dizininde değilsek (nerede olduğumuzu görmek için "pwd"), yedek dizinine geri dönelim. Ve kök dizinini geri yükleyecek olan ilk komutumuzu verelim:
Kod: Tümünü seç
mount /dev/sdf8 /media/root
tar xvzpf root.tgz -C /media/rootAyrı bir /home disk bölümü varsa;
Kod: Tümünü seç
mount /dev/sdg9 /media/home
tar xvzpf home.tgz -C /media/homeKod: Tümünü seç
tar xvzpf home.tgz -C /media/root/homeYaklaşık yarım saatlik bir işlem sonucunda (geri yükleme, yedeklemeden daha kısa sürecektir) bütün dosyalar eski yerlerine yüklenmiş olacak ve bize kalan iş, bağlı bölümleri ayırarak, ardından sistemi yeniden başlatmak olacaktır:
Kod: Tümünü seç
umount -a
rebootŞanslıysanız açılışta eski, güzel, sorunsuz Ubuntu'nuza kavuşacaksınız.
Kod: Tümünü seç
V. GRUB GERİ YÜKLEME(BURASI ÖNEMLİ...)Bilgisayarınızı Çalışan CD ile açtıktan sonra;
Alt+F2 >> gnome-terminal
ile ulaşabileceğiniz uçbirim benzetimcisi (terminal emülatörü) aracılığıyla, Grub arayüzünde aşağıdaki komutları girin:
Kod: Tümünü seç
sudo grubKod: Tümünü seç
grub> find /boot/grub/stage1Kod: Tümünü seç
grub> root (hdx,y)
grub> setup (hdx)
grub> quitSon olarak yaptığımız değişiklikleri önyükleme bölümüne yazdıralım. Ancak öncelikle Ubuntu'nun kurulu olduğu sabit disk bölüm adını bilmemiz gerekiyor.
Kod: Tümünü seç
sudo fdisk -lKod: Tümünü seç
sudo grub-install /dev/sdXKod: Tümünü seç
sudo grub-install /dev/hdX
sudo rebootVI. ÖZET
Bu yöntemi uygulamayı düşünen arkadaşlara tavsiyem, yedeklemenin hemen ardından arşiv dosyalarının bulunduğu klasörde, örneğin dosyaları henüz taşımadıysanız kök dizininde, "benioku.txt" gibisinden bir metin dosyası oluşturmaları:
gksu gedit /benioku.txt
ve aşağıdaki özet bilgileri seçip kopyalayarak, bu dosyanın içine yapıştırmaları. Böylece, ellerinde geri yükleme sırasında başvurabilecekleri bir referans metni olur:
(Ctrl+Shift+T)
less /benioku.txt
***************
ON HAZIRLIKLAR:
***************
1. Alt+F2 >> gnome-terminal
2. sudo fdisk -l
3. sudo blkid
4. gksu gedit /etc/fstab &
(UUID=... yerine gercek aygit isimlerini [/dev/sdX# gibi] yaz)
5. gksu gedit /boot/grub/menu.lst &
(UUID=... yerine gercek aygit isimlerini [/dev/sdX# gibi] yaz)
6. sudo reboot
(Yedeklemeden once son kontrol icin)
6. Firefox Opera vb. gecici dosyalari temizle
7. sudo apt-get clean
(Debian paket arsivini silmek icin)
**********
YEDEKLEME:
**********
I. Baslangic:
-------------
1. Alt+F2 >> gnome-terminal
2. sudo su
II. Yedekleme islemi:
---------------------
1. cd /
2. tar cvzpf /root.tgz --exclude={root.tgz,home/*,media/*/*,proc/*,sys/*} /
(Ubuntu haricindeki sistemler icin: "media/*.*" yerine "mnt/*/*")
3. cd /home
4. tar cvzpf /home.tgz --exclude={home.tgz} .
(Gerekiyorsa --exclude={home.tgz,Belgeler/*,Film/*,Muzik/*,*.mp3,*.avi})
5. cp /etc/fstab /fstab.old
II. Arsivleri tasimak icin:
---------------------------
1. mv /*.tgz /*.old /media/yedek_dizini
2. exit
*************
GERI YUKLEME:
*************
---------------------------
A. Calisan Sistem Uzerinde:
---------------------------
I. Baslangic:
-------------
1. Alt+F2 >> gnome-terminal
2. sudo su
II. Geri yukleme islemi:
------------------------
1. ls /media
2. cd /media/sdX#/yedek_dizini
(yedekler sabit disk uzerinde kayitli ise)
cd /media/cdrom#/yedek_dizini
(yedek CD/DVD ortaminda kayitli ise)
3. tar xvzpf root.tgz -C /
4. tar xvzpf home.tgz -C /home
5. reboot
-------------------------
B. Ubuntu Calisan CD'den:
-------------------------
I. Baslangic:
-------------
1. Alt+F2 >> gnome-terminal
2. sudo su
II. Yedek dizinini yuklemek/gormek icin:
----------------------------------------
1. ls /media
(USB ve CD'ler otomatik yuklenecektir.)
2. cd /media
3. mkdir yedek
4. mount /dev/sdX# yedek
5. ls yedek
6. cd yedek/yedek_dizini
III. Yardimci bilgiler:
-----------------------
1. Ctrl+Shift+T (yeni sekmeler icin)
2. sudo fdisk -l
3. Ctrl+Shift+T
4. less fstab.old
5. Ctrl+PgUp/PgDown
(sekmeler arasinda gezinmek icin)
IV. Kok bolum (/) icin:
-----------------------
1. cd /media
2. mkdir root
3. mount /dev/sdX# root
(sdX# yerine sda1, sbd3, vb.)
4. ls root
V. Kok bolumu formatlamak icin:
-------------------------------
1. umount root
2. mkfs.ext3 /dev/sdX#
3. mount /dev/sdX# root
4. ls root
VI. Varsa ev (/home) bolumu icin:
---------------------------------
1. cd /media
2. mkdir home
3. mount /dev/sdX# home
(sdX# yerine sda1, sbd3, vb.)
4. ls home
VII. Varsa ev bolumunu formatlamak icin:
----------------------------------------
1. umount home
2. mkfs.ext3 /dev/sdX#
3. mount /dev/sdX# home
4. ls home
VIII. Geri yukleme islemi:
--------------------------
1. cd /media/yedek/yedek_dizini
2. tar xvzpf root.tgz -C /media/root
3a.tar xvzpf home.tgz -C /media/home
(Ayri bir ev bolumu varsa [bkz. fstab.old])
3b.tar xvzpf home.tgz -C /media/root/home
(Ayri bir ev bolumu yoksa)
4. umount -a
5. reboot
*************************************
GRUB GERI YUKLEME (GRUB ACILMIYORSA):
*************************************
I. Baslangic:
-------------
1. Alt+F2 >> gnome-terminal
2. sudo su
II. GRUB ayarlari:
------------------
1. grub
2. grub> find /boot/grub/stage1
3. grub> root (hdx,y)
4. grub> setup (hdx)
5. grub> quit
III. GRUB geri yukleme:
-----------------------
1. fdisk -l
2. grub-install /dev/sdX
3. reboot
(Not: Dosyayı görüntülerken terminalde karakter sorunu çıkmaması için, metinde Türkçe karakter kullanılmamıştır.)
VII. NOTLAR
1. Bakmayın yukarıda detaylarıyla uzun uzun yazdığıma. Aslında bu yöntemle yedekleme ve geri yükleme hiç de zor bir işlem değil; sakın gözünüz korkmasın, bir alışırsanız otomatiğe bağlarsınız. Bir tek biçemleme (formatlama) esnasında hangi bölümü formatladığınıza dikkat etmelisiniz.
2. Bir ara bütün bu işlemleri Zenity Gtk+ diyalog komutları kullanarak betik haline getirmeyi düşündüm. Nasıl yapacağımın planını bile kurdum. Ancak hem böyle bir şeye kalkışmak benim için fazladan emek, efor, en önemlisi zaman demekti, hem de herkesin sistemi farklı olacağı, bazılarında Wubi, bazılarında birden fazla Linux sistemi yüklü olacağı için, bu kadar bol bilinmeyenin havalarda uçuştuğu bir ortamda böyle iddialı bir görsel betik denemesi yetersiz kalacaktı. Yetersiz kalmak bir yana, yanlış bölümü formatlamak gibi, geri dönülmez hatalara sebebiyet verme riskini taşıyacaktı. Halbuki yukarıda anlattığım, sadece Ubuntu'da değil, tar ve gzip'in yüklü olduğu bütün Linux sistemlerinde uygulanabilen, genelgeçer bir yöntemdir. Bu düşüncelerle, "armut piş ağzıma düş" türü görsel bir betiktense, bunları konsolda kullanıcının kendisinin yapmasının ve bu şekilde ne yaptığının bilincinde olarak hareket etmesinin çok daha faydalı olduğuna karar verdim.
3. İnternet'te tar ve gzip için azami dosya boyutu hakkında rastladığım çeşitli yazılardan anladığım kadarıyla, hem tar, hem de gzip için eskiden 2 GB dosya boyutu sınırı varmış, ancak her iki programın şu an kullandığımız versiyonlarında (görmek için konsolda "tar --version", "gzip --version"), bu sınır ortadan kaldırılmış. Artık tek sınır, dosyayı sakladığınız ortamın biçemiyle ilgili; örneğin dosyayı FAT32 biçemli bir sabit diske kaydederseniz maksimum dosya boyutunun 4 GB olduğunu bilmelisiniz. Arşivleme işlemi sonrasında oluşacak dosya boyutuna dair bir fikir vermesi açısından, 2.5 GB yer kaplayan sistemimi arşivlediğimde elde ettiğim dosya boyutu 750 MB civarında.
2.5 GB >> 750 MB
4. Tar komutu ile birlikte gzip yerine daha iyi sıkıştırma oranı sağlayan bzip2 programını kullanabilirsiniz. Bu durumda arşivleme için kullanacağınız komut "tar cvzpf *.tgz" yerine "tar cvjpf *.tar.bz2" olacaktır (z yerine j). Dosyayı açmak içinse; "tar xvjpf *.tar.bz2" komutu kullanılmalıdır. Ancak denemelerimde gördüğüm kadarıyla, bzip2 ile sıkıştırma gzip ile sıkıştırmadan çok daha uzun sürüyor. Öyle ki, normalde 1 saatte tamamlanan yedekleme işlemi, bzip2 kullanılırsa 2 saati bulabiliyor. Bence biraz daha küçük bir arşiv dosyası elde etmek için bu süreyi beklemeye hiç gerek yok.
5. Tar-Gzip sisteminin belki de tek dezavantajı eklemeli (incremental) yedek alabilmesine rağmen, farka dayalı (differential) yedekleme yapamaması. Yani mevcut bir yedek üzerine eklenen dosyaları bulup kayıt altına alabilirken, yedek alındıktan sonra yeri değiştirilen (bir klasörden diğerine taşınan), ya da silinen dosyaları bulup mimleyememesi. Bu durum da yedek üzerine yedek alırken, tar'ı ideal araç olmaktan çıkarıyor.
Eklemeli arşiv oluşturmak için "tar"a komut satırında "-g fark_kaydı" parametresini veriyoruz. Böylece, ilk seferinde "fark_kaydı" isimli (başka bir isim de kullanılabilir) dosya olmadığı için oluşturuluyor ve bütün dosya bilgileri içine yazılıyor. İkinci sefer, farklı bir *.tgz dosya ismi vererek ancak "-g fark_kaydı" ile aynı kayıt dosyasını göstererek ikinci yedeğinizi aldığınızda, yedeği alınan klasörler, "fark_kaydı" dosyasındaki bu bilgilerle karşılaştırılıyor, içeriği değişen ve yeni eklenen dosya ve klasörler arşivleniyor, son olarak "fark_kaydı" isimli dosya güncellenerek yeniden oluşturuluyor.
Tar'ın "incremental backup" özelliğini ve nasıl kullanılacağını merak eden arkadaşlar şu makaleyi inceleyebilir:
http://www.gnu.org/software/automake/ma ... Dumps.html
6. Öte yandan, yine konsolda çok başarılı bir yedekleme uygulaması olan "dar", farka dayalı yedekleme (differential backup) sistemiyle göz dolduruyor. Bu sayede, ilk yedeği aldıktan bir süre sonra, bu yedeği referans alarak, ikinci bir arşiv dosyası oluşturursanız, "dar" sadece yeni eklenen dosyaları ve silinen dosyaların bir listesini ekler. Geri yükleme esnasında önce ana yedek, sonra ikinci oluşturulan fark yedeği geri yüklemelisiniz. İkinci yedeği yüklerken, eklenecek olan dosyalar eklenir, ikinci yedeği oluştururken silinmiş dosyalar ise "dar" tarafından tekrar silinir. Bu şekilde, bütün bir sistem, istenilen tarihteki an'a geri döndürülmüş olur.
"dar" programının dezavantajı ise, Ubuntu ile birlikte yüklü gelmemesi. Dolayısıyla, "dar" ya da önyüzü olan "kdar" ile yedekleme yapmak isterseniz, önce dar programını Synaptic'ten yüklemelisiniz. Bu noktada bahsedilmesi gereken bir de "dar-static" isminde bir paket ve bu paketle gelen "dar_static" uygulama dosyası var. Programı geliştiren yazılımcı, her türlü kütüphaneden bağımsız olan derlenen "dar_static" ikili dosyasını da biz penguenlerin kullanımına sunmuş. Böylece, "dar" ile sistem yedeği almak isteyen bir kullanıcı, yedek aldığı klasöre dar_static programını da kopyalarsa, daha sonra olası bir geri yükleme sırasında "dar" paketi yüklü olmayan bir ortamda bile (örneğin Ubuntu Çalışan CD'de) kolaylıkla geri yükleme yapabiliyor.
Dar'ın "differential backup" özelliğini ve nasıl kullanılacağını merak eden arkadaşlar şu makaleyi inceleyebilir:
http://dar.linux.free.fr/doc/Tutorial.html
7. Konuyla doğrudan örtüşmese de; konsolda "dpkg --get-selections" komutu sisteminizde kurulu paketleri listeliyor. "dpkg --set-selections" komutu ise kurulması planlanan paket listesini alıyor. Bu listesi geri yüklemeden önce bir dosyaya aktarırsak:
Kod: Tümünü seç
dpkg --get-selections > yeni_programlarKod: Tümünü seç
sudo dpkg --set-selections < yeni_programlar
sudo apt-get dselect-upgrade8. Şu komut, sabit diskinizin ana yükleme kaydının (MBR) bir yedeğini alıyor:
Kod: Tümünü seç
dd if=/dev/sda of=/mbr.bin count=1 bs=512Kod: Tümünü seç
dd if=/mbr.bin of=/dev/sda count=1 bs=4469. Evet, farkındayım; yukarıda verdiğim sdf8, sdg9 gibi aygıt isimleri pek mantıklı değil. Ancak sda1, sdb1 gibi bir şey yazsaydım tecrübesiz kullanıcılar komutu görünce direkt kullanıp yanlış bölümü formatlayabilirdi. Onun yerine, "naptın hoca, böyle bölüm yok" şeklinde hata uyarısı almaları daha iyi.
10. Üçüncü baskı olacak, ama geri yüklemede yanlışlıkla ev dizinini formatlamamaya dikkat edin. Ev dizini gibi /boot, vb. dizinleriniz ayrı disk bölümlerindeyse bunları da ayrı dosyalarda arşivleyin.
11. Konsolda benzer komutları yazarken (örneğin mount ile ilgili komutlar), otomatik tamamlamak için Sekme (Tab) ve komut geçmişi için Yukarı Ok tuşlarını kullanırsanız, işlemleri daha hızlı yapabilirsiniz. Ekranda çok fazla satır varsa, "clear" komutu ya da Ctrl+L ile ekranı temizleyebilirsiniz.
12. Hepsi bu kadar arkadaşlar. Çenem düştü, yazıyı fazla uzun tuttum. Ancak hem yedek alırken, hem de geri yüklerken, temelde uygulanması gereken topu topu birkaç komut var. Yani aslında bu işlem, göründüğü gibi uzun ve karmaşık değil. Umarım bu yedekleme yöntemini benimser ve belirli aralıklarla uygularsınız. Hem bu sayede, "Ubuntu'yu kurcalarken bozar mıyım" endişeniz de olmaz, içiniz rahat eder (tıpkı şu an benim olduğum gibi).
Kaynaklar:
1. Howto: Backup and restore your system! (http://ubuntuforums.org/showthread.php?t=35087)
2. Backup your System using TAR(http://linuxclues.blogspot.com.tr/2007/ ... g-tar.html)
3.http://searchenterpriselinux.techtarget ... 56,00.html
4.http://fixunix.com/slackware/508788-dd- ... avior.html
5. http://www.ubuntugeek.com/clone-your-ub ... ation.html
6.http://ubuntuforums.org/showthread.php?t=169062
7.http://answers.google.com/answers/threadview?id=25116
8.http://www.tek-tips.com/viewthread.cfm? ... 971&page=1
9.http://lists.freebsd.org/pipermail/free ... 37443.html
TRWE_2012
SAKARYA 2016