Acil Durum Çözümleri ve Genel Çözümler
Önceki Linux Kitapçığı Sonraki
Acil Durum Çözümleri ve Genel Çözümler
Yeni bir disk bölümü oluşturmak
Bu noktada Linux'un sabit diskleri nasıl tanıdığı konusunda bir şeyler açıklamakta fayda var sanırım. Linux sabit diski cinsine, hangi IDE kablosuna takılı olduğuna ve master/slave ayarlarına göre tanır. Örnek:
1. IDE kablosuna bağlı master sabit disk /dev/hda'dır
2. IDE kablosuna bağlı slave sabit disk ise /dev/hdd'dir.
Dolayısıyla ana sabit diskimizde yer açtığımızı düşünürsek vereceğimiz komut,
# cfdisk /dev/hda
olacaktır. Evet, şu anda /dev/hda'nın bölümlerini görüyoruz. Burada görmemiz gereken şey tahminen
                                       cfdisk 2.11l

                                   Sabit Disk: /dev/hdb
                                 Size: 40060403712 bytes
                  Kafa: 255        Sektör/İz: 63         Silindir: 4870

   İsim        Flama       Bölüm Türü   DS Türü        [Etiket]        Boy (MB)
--------------------------------------------------------------------------------
   hda1        Açılış      Birincil     Win95 FAT32                     530.11
   hda2                    Ek           Win95 Ext'd                   38588.13
   hda5                    Mantıksal    Win95 FAT32                    9647.0
   hda6                    Mantıksal    Linux ext2                     9647.0
   hda7                    Mantıksal    Linux swap                      987.97
                           Boş alan                                   18306.20

         [  Sil ]  [Yardım]  [Sığdır] [ Yeni ]  [  Yaz ]  [ Çık  ]
         [ Türü ]  [ Birim]  [Kaydet]

böyle bir ekrandır.
Yeni bölüm oluştururken bizim ayarlayacağımız disk bölümü "Boş alan" ile belirtilen bölümlenmemiş alanda olacaktır. Bu yüzden ok tuşları [ Yeni ] alanının üzerine gelip <Enter> tuşuna basacağız. Bunu verdiğimizde cfdisk bize doğrudan bu alanı Linux olarak ayırır. Bunu yaparken de ne kadar yer ayıracağını sorar. Verdiğimiz örnekte elimizde 18306 MB boş alan bulunmakta, bunun önce 10000'ini sonra da kalanını Linux için ayıralım. Şimdi bunun için bize ayırmak istediğimiz yer sorulduğunda 10000 diyeceğiz ve otomatik olarak Linux bölümü oluşturulacak. Sonra kalan alanı için de aynı işlemi yapacağız. Son durum şöyle olacak:
   İsim        Flama       Bölüm Türü   DS Türü        [Etiket]        Boy (MB)
--------------------------------------------------------------------------------
   hda1        Açılış      Birincil     Win95 FAT32                     530.11
   hda2                    Ek           Win95 Ext'd                   38588.13
   hda5                    Mantıksal    Win95 FAT32                    9647.0
   hda6                    Mantıksal    Linux ext2                     9647.0
   hda7                    Mantıksal    Linux swap                      987.97
   hda8                    Mantıksal    Linux ext2                     9647.0
   hda9                    Mantıksal    Linux ext2                     8835.71
Yapacağımız son işlem ise [ Yaz ] seçeneğini seçip bu disk bölümlenme bilgilerini diske yazıp geçerli hale getirmek. Bu noktada isterseniz sil baştan yapıp yeniden bölümlenme yapabilirsiniz, daha hiçbir şey yazılmadı sabit diske.
[ Çık ] seçeneğini de kullandiktan sonra yapmamiz gereken,
# mke2fs -O sparse_super,filetype,has_journal /dev/hda8
ile Linux bölümünü ext3 dosya sistemine göre biçimlemektir. Bu işlemi /dev/hda9 için de yaptıktan sonra yeni disk bölümleriniz sisteme bağlanmaya hazırdır.
Sabit diskde hata var!
Sabit diskde bir hata durumunda sistem büyük ihtimalle tamir modunda açılmak için sizden root parolası isteyecektir. Hatta bu bile olmayabilir. Böyle bir durumda yapmanız gereken başka bir disk bölümündeki başka bir Linux kurulumundan ya da kurulum yaptığınız CD'den sistemi tamir kipinde başlatıp kök dosya sistemini sisteme bağlamadan (mount komutu) fsck komutu ile disk kontrolü yapmaktır. ext2 ve ext3 sistemlerde bu komutu şöyle çalıştırabilirsiniz:
# e2fsck -fy /dev/hda6
Büyük ihtimalle sorun hallolacaktır. ext3 dosya sistemlerinde bu işlem pek gerekmez. Çoğunlukla dosya sistemi çekirdek tarafından jurnal dosyasındaki bir önceki sorunsuz haline getirilir. Böyle bir durumun başlıca oluşma sebebi disk kafası faaliyet halindeyken enerjinin kesilmesidir. Bu bakımdan diske birşeyler yazılırken ya da okunurken sistemi makina üzerindeki düğmelerden kapatmayın. Önceki bölümlerde bahsedilen komutları kullanarak sistemi kapatın ya da yeniden başlatın. O zaman hemen hemen hiç sorun çıkmaz. Sadece arasıra çekirdek olası hatalara karşı disk denetimi yapar.
Disk bölümlerinin ve CDROM'ların sisteme bağlanması
Yeni auto-mount sistemler dışında Linux'da ana dosya sisteminin parçası olmayan sabit disk bölümleri ile çıkarılıp takılabilir ortamlara (CD, disket gibi) dosya sisteminde bir boş dizin oluşturulup bu dizin altına bağlanarak erişilebilir. Örneğin DOS C:\ bölümünü kök dosya sisteminin altına bağlamaya çalışalım. Önce /mnt dizini altında bir dizin oluşturalım:
# mkdir /mnt/C:
Unutmayın, dosya/dizin isimlerinde her karakteri kullanabiliyoruz. Sonra /dev/hda1 bölümünü bu dizine bağlayalım:
# mount -t auto /dev/hda1 /mnt/C:
artık C:\ sürücünüze ulaşmak istediğinizde yapmanız gereken /mnt/C: dizinini kullanmak olacaktır.
Aynı şekilde CD ve disketleri de sisteme bağlayabiliriz. CDROM sürücünüzdeki diski sisteme bağlamak için:
# mount -t auto /dev/cdrom /mnt/cdrom
komutunu kullanıyoruz. Özellikle bağlı CD'ler CDROM'dan çıkarılamazlar, çıkarmak için sistemden ayrılmaları gerekir:
# umount /dev/cdrom
Eğer o anda kullandığınız herhangibir program CDROM'a erişiyorsa ya da /mnt/cdrom dizininden bu işlemi yapmaya çalışıyorsanız yapamazsınız. Önce dizindeyseniz dizinden çıkın (en kolayı cd ile ev dizininize geçin). Başka bir yazılımın kullanıp kullanmadığını ps -ef ile alacağınız listede bir sürecin /mnt/cdrom/dosya.txt gibi bir dosyayı açmış olup olmadığına bakın. Böyle bir süreç varsa dosyayı bırakmasını sağlayın ya da süreci öldürün (hemen aşağıda nasıl öldüreceğiniz anlatılıyor). Bunu da yapıp umount komutu ile diski sistemden ayırdıktan sonra diski artık yuvasından çıkarabilirsiniz.
Sistemi öldürmeyin, süreci öldürün!
Linux'da bir süreç sorun çıkardığında sistem yeniden başlatılmaz, sorun çıkaran süreç öldürülür, sistem yaşatılır. Örneğin mozilla'yı öldürmek isteyelim (çok sık başıma geliyor da).
$ ps -ax | grep mozilla
2500 ?        S      0:01 /usr/lib/mozilla-1.2.1/mozilla-bin
2508 pts/2    S      0:00 grep mozilla
$ kill -9 2500
$
Ya da sadece killall mozilla-bin komutuyla süreç kimliğini (PID) öğrenmeden (yazılımın tam ismini bilmeniz gerekir) süreci öldürebilirsiniz.
Ethernet kartları
Çok sık rastlanan bir durum olarak, makinanıza ethernet kartı taktınız fakat hangi modülü kullanacağınızı bilmiyorsunuz. Bütün mevcut ethernet modüllerini listelemek için
# modprobe -l -t drivers/net -a \*
ardından da lsmod komutu ile yüklenmiş modüllere bakıp hangisinin sizin modülünüz olduğunu görebilirsiniz.
Ağ ayarları
ifconfig -a ile baktığımızda eğer eth0 varsa modül düzgün çalışıyordur, ama ifconfig ile baktığımızda sadece lo gözüküyorsa, eth0 gözükmüyorsa ethernetinizi yapılandırmanız gerekir.
Öncelikle ağda ne kullanılıyor, sabit IP'ler mi var yoksa dinamik IP'ler mi? Mesela windows makinalarda ağ ayarlarında bir IP yazıyor mu yoksa otomatik mi alıyor?
Eğer otomatikse yapacağınız şey çok kolay:
# dhclient -q eth0
Yok eğer böyle değilse size tahsis edilmiş olan IP'yi sistem yöneticinizden öğrenin. Büyük ihtimalle linux kurduğunuz için size bozulacaktır, umursamayın ;) diyelim 192.168.0.15 verdi. Eğer aksini söylemezse (özellikle de şirketinizde 200 civarı makina yoksa) ağ maskeniz 255.255.255.0'dır ama siz yine de sorun. Komutumuz:
# ifconfig eth0 192.168.0.15 netmask 255.255.255.0 broadcast 192.168.0.255
olacaktır. Eveet artık adresimiz var, istersek ifconfig -a ile kontrol edebiliriz.
Fakat hala internete çıkamıyoruz. Diyelim ki ağgeçitimiz 192.168.0.1 olsun. O zaman komutumuz:
# route add default gw 192.168.0.1
olacaktır. Şimdi bakalım:
# ping 212.156.4.4
eveet internete çıkış var, fakat ping ns1.ttnet.net.tr cevap vermiyor. Şimdi de DNS ayarımız kaldı, o da /etc/resolv.conf içine:
nameserver 212.156.4.4
satırını eklemek şeklinde olacak. Tekrar deniyoruz:
# ping ns1.ttnet.net.tr
Açık portları görmek
Makinanızda açık portları görmek için vermeniz gereken komut çok basit:
# netstat -tap
Diğer kartlar
Linux'un en sancılı yanlarından biri olan modül tanıtmanın en önemli yardımcısı lspci komutudur.
Çekirdek Derlemek
  • Önce http://www.kernel.org/'dan kendinize en uygun çekirdeği indirin.
  • Ardından /usr/src altına açın.
  • Aynı dizinde bir linux sembolik bağı oluşturun:
    ls -s linux-2.4.21 linux
  • Şimdi bu dizine gelip make xconfig ya da make menuconfig komutunu verin. İlki X altında, diğeri konsolda çalışır.
  • Çıkan ekranlardan gerekli aygıtlarınızı seçin.
  • Save seçin ve çıkın ve sırayla aşağıdaki komutları verin.
  • make dep (2.6 çekirdeklerde bu komuta gerek yok)
  • make clean
  • make bzImage
  • make modules
  • make modulse-install
  • make install
Son komut derlenmiş çekirdeği /boot dizinine kaydedecek ve /etc/lilo.conf dosyasını yeni çekirdeğe göre güncelleyip sonra da bu ayarları etkinleştirecektir. Yine de /etc/lilo.conf dosyanızı kontrol edin ve lilo komutunu tekrar verin.
Önceki Üst Ana Başlık Sonraki
Bilgi Edinme Komutları Başlangıç Linux ile ilgili adresler
Bir Linux Kitaplığı Sayfası