Bölüm 10. Diğer

10.1. Sistem zamanının zaman sunucularından ayarlanması

apt-get install ntpdate Zaman sunucusu olarak time.deu.edu.tr adresini veya yurtdışından ntp.demon.co.uk, pool.ntp.org olarak belirleyebilirsiniz. Öntanımlı olarak bu sunucu pool.ntp.org olarak gelecektir.

Zaman sunucusunu daha sonra /etc/default/ntpdate dosyasından değiştirmek mümkün. Değişiklik yaptıktan sonra /etc/init.d/ntpdate restart komutu ile ntpdate'i yeniden başlatabilirsiniz.

Zaman sunucusu adreslerine http://www.eecis.udel.edu/~mills/ntp/clock1a.html ve http://www.eecis.udel.edu/~mills/ntp/clock1a.html adresinden ulaşabilirsiniz.

[Not]Not

Sisteminiz her yeniden başlatıldığında sistem zamanı belirtilen zaman sunucusundan senkronize edilmeye çalışılacaktır. Bu açılış süresinde çok kısada olsa gecikmeye sebep olur.

10.2. Sistem başlatılırken herhangi bir komutu nasıl çalıştırabilirim?

Sistem başlatılırken, sistemin ayarlandığı açılış seviyesine göre (Debian için varsayılan değer 2'dir) /etc/rc?.d dizini içerisindeki betikleri sırayla işletir. Bu betiklerin esas yolları /etc/init.d dizinidir. Betiklerin hepsi /etc/init.d içerisinde yer alır, biz runlevel 2 ile başlattığımız bir makine için her açılışta otomatik olarak çalıştırılmasını istediğimiz betikleri /etc/rc2.d içerine bağlarız. Sizde açılışta çalıştırmak istediğiniz komut için ufak bir betik yazıp /etc/init.d/ içerisine bırakarak daha sonra da bunun gerekli araçlarla veya ln -s komutu ile /etc/rc2.d içerisine bağlanmasını sağlayabilirsiniz.

Mesela, Internet bağlantımız ile ilgili ufak bir betiğin her açılışta çalışmasını istiyor olalım. Bu betiği aşağıdaki şekilde "internet.sh" olarak kaydedip, /etc/init.d/ içerisine bırakalım.

#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -j MASQUERADE

Sıra bu betiğin açılışımıza uygun olan seviyede aktif edilmesine geldi. Bu betiği açılış seviyemiz ne olursa olsun mutlaka başlatılan /etc/rcS.diçerisinde de aktif edebiliriz ancaksisteme daha sonradan eklenen betikler için genelde uygun seviye altına bağlamak tercih görür. Bu işlem için aşağıdaki yöntemlerden birisini tercih edebilirsiniz.

  • ln -s /etc/init.d/internet.sh /etc/rc2.d/SXXinternet (XX ile açılış sırası belirtilir 92,93 gibi bir değer uygun olur)
  • update-rc.d -f internet.sh defaults 92 (internet.sh betiğini tüm seviyelere bağlar)
  • rcconf paketini kurup rcconf ile çalıştırarak açılışta aktif edilmesini istediğiniz betikleri belirtebilirsiniz. Buda tüm seviyelere sizin betiğinizi bağlar.
  • sysv-rc-conf paketi ile de istediğiniz seviyeye betiği bağlayabilirsiniz. sysv-rc-conf paketi update.rc ve rcconf'dan farklı olarak betiği siz istemedikçe tüm seviyelere bağlamaz, hangi seviye aktif edilmesini istediğinizi işaretleminizi ister.

Konu ile ilgili daha detaylı bilgi için : http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit

10.3. Sistem yerelini nasıl değiştirebilirim? Hata mesajlarını kendi dilimde almak istiyorum.

dpkg-reconfigure locales (locales paketi yüklü değilse yükleyin)

10.4. Hdparm ile HDD/CDROM aygıtlarım performansını yükseltebilir miyim?

Hdparm ATA/IDE aygıtları için kullılan performans arttırmaya yönelik bir araçtır. Dikkatli ve uygun parametrelerle kullanıldığında çok iyi sonuçlar verebilir. Hdparm kullanımda en çok dikkat edilmesi gereken husus çekirdeğinizde ATA/IDE sürücüleri için DMA modunun aktif olmasıdır. Bunu /boot/config-$(uname -r) dosyasını kontrol ederek görebilirsiniz.

Hdparm kurulumu için; apt-get install hdparm

Sabit diskinizin performansını test etmek için;

hdparm -tT /dev/hda (sizin sisteminizde hda yerine başka bir aygıt olabilir)

Diskinize göre /etc/hdparm.conf dosyasında değişiklik yapıp /etc/init.d/hdparm komutu ile ayarları aktif ederek yeni durumu tekrar test ederek gözlemleyebilirsiniz. Genelde aşağıdakine benzer ayarlar olumlu sonuç verecektir.

hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda

Bu satır hdparm ayarlarını komut satırından aktif etmek içindir. Siz bu ayarlar için /etc/hdparm.conf dosyasını kullanınız. Bu satır size fikir vermesi açısından sunulmuştur.

Bazen hdparm parametreleri en iyi sonucu en son çekirdek ile verebilir. Bazı parametreler daha yeni çekirdekler için sunulmuş olabilir bu durumuda göz önünde bulundurmanız yerinde olacaktır.

Hdparm ile yapacağınız ayarlar ve testler ile ilgili risk size aitdir. Parametrelerin uygun seçilmesine ve seçilen parametrelerin sorunsuz sonuç verdiğine emin olmak gerekir.

10.5. ATA/IDE aygıtım için DMA'nın aktif olup olmadığını nasıl öğrenebilirim?

apt-get install hdparm
hdparm /dev/hda

10.6. MySQL'i belli bir portu dinleyecek şekilde nasıl ayarlayabilirim?

/etc/mysql/my.cnf dosyası içerisinde yer alan skip-networking ifadesini yorum satırı haline getirip MySQL'i yeniden başlatmanız gerekir. Şayet sadece localhost'u dinlesin isterseniz aşağıdaki ifadeyi de /etc/mysql/my.cnf dosyasındaki [mysqld] bölümüne ilave edebilirsiniz.

bind-address = 127.0.0.1

10.7. Debian Logosunda kullanılan fontun ismi nedir?

Poppl Laudatio Condensed

10.8. Kırık bağların (linklerin) listesini nasıl alabilirim?

apt-get install symlinks

10.9. Num Lock'umu herzaman açık tutmak istiyorum.

Komut satırından setleds komutunu kullanarak yapabilirsiniz. X11 içerisinden bu işlemi yapabilmek için de numlockx paketini kullanabilirsiniz.

10.10. ctrl+alt+backspace tuşları ile X-Sunucumun sonlandırılmasını nasıl iptal edebilirim?

/etc/X11/XF86Config{-4} dosyanızda ServerFlags bölümüne DontZap true opsiyonunu ekleyiniz.

10.11. Kök dosya sistemimi hatalara karşı nasıl kontrol edebilirim?

Sisteminiz çalışırken kök ("/") dosya sistemi üzerinde fsck yapmanız uygun değil ancak daha sonraki açılışta sisteminizi fsck kontrolünü yaparak açılmaya zorlayabilirsiniz. Bunun için;

touch /forcefsck

veya /etc/default/rcS dosyasında FSCKFIX değerini yes yapın.

10.12. Tarayıcılarda Java Desteği

Lisans problemlerinden dolayı java paketi Debian depolarında yer almaz. Java binary dosyasını www.java.com adresinden alıp Debian metodlarıyla .deb paketini oluşturup kuracağız.

Öncelikle /etc/apt/sources.list dosyasındaki depo kaynaklarında contrib bölümünün olduğuna emin olunuz. Yani;

deb http://ftp.tr.debian.org/debian testing main contrib non-free

şeklindeki kayıt /etc/apt/sources.list dosyanızda olmalı. Burada önemli olan contrib bölümünün yer almasıdır.

Önce dosyalarımızı bulunduracağımız geçiçi bir dizin oluşturalım. Mesela tempjava gibi.

[Not]Not

Bu dizinin normal kullanıcılar tarafından da yazılabilir halde olması önemli. Zira daha sonraki adımda normal kullanıcı olarak yapacağımız .deb paketi oluşturma işleminde, işlemi uyguladığımız kullanıcının o dizine yazma hakkı yoksa problem olacaktır. Bu açıdan bu dizinin /tmp gibi herkes tarafından yazma/okuma hakkı olan bir dizin olması uygun olur.

mkdir tempjava (mkdir /tmp/tempjava daha uygun olabilir)

Ardından http://www.java.com/en/download/manual.jsp adresinden Linux (self-extracting file) dosyasını javatemp dizinine indirelim.

İndirmiş olduğumuz dosya jre-1_5_0_02-linux-i586.bin gibi olacaktır. Sizdeki daha güncel bir versiyon olabilir.

apt-get install java-package
cd tempjava (veya cd /tmp/tempjava)

Şimdi işlemlerimizi normal kullanıcı (root yetkisiyle değil) yapacağız. Aşağıdaki şekilde paketi oluşturalım;

fakeroot make-jpkg jre-1_5_0_02-linux-i586.bin (sizde bu dosya daha farklı güncel bir sürüm olabilir)

Sorulan sorulara yanıt verdikten sonra bulunduğumuz dizin içerisinde sun-j2re1.5_1.5.0+update02_i386.deb benzeri bir dosya oluşacak.

Şimdi root yetkilerine sahip olup dpkg -i sun-j2re1.5_1.5.0+update02_i386.deb şeklinde oluşan paketimizi kuralım.

Paketimiz otomatik olarak tarayıcılara gerekli desteği verecektir. Dilerseniz tarayıcımızın plugins dizininde gerekli bağlantının sağlanıp sağlanmadığını kontrol edelim. Mesela mozilla-firefox için;

ln -s /usr/lib/j2sdk1.5-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla-firefox/plugins/libjavaplugin_oji.so

veya

ln -s /etc/alternatives/firefox-javaplugin.so /usr/lib/mozilla-firefox/plugins/libjavaplugin_oji.so

şeklinde bağlantının oluşmuş olması gerekir.

Benzer yöntem ile diğer tarayıcılara da java desteği verebilirsiniz. Tarayıcının birisine bu desteği verdikten sonra diğerlerine de vermek için daha farklı bir yöntemde izleyebilirsiniz. Mesela, mozilla-firefox'a destek verdikten sonra Konquerorde de bu desteği sağlamak için;

Ayarlardan, Konqueror programını yapılandır seçiniz, gelen pencerenin sol tarafında Eklentiler kısmını seçip Eklentileri Tara seçeği ile eklentinin otomatik olarak bulunmasını sağlayabilirsiniz. Ayrıca dilerseniz, Aynı kısımda yer alan Açılışta eklentileri tara seçeneğini aktif edip işlemlerin otomatik yapılmasını sağlayabilirsiniz.

Tarayıcınızın Java desteğini test etmek isterseniz, http://www.java.com/en/download/help/testvm.jsp adresini ziyaret edebilirsiniz.

[Not]Not

Java desteği için yukarıdaki yöntemlerle paketi oluşturup kurmanız yeterli olacaktır. Sonraki bilgiler sadece konrol amaçlı veya olası problemlerin tespit edilebilmesi amacı ile verilmiştir.

10.13. Diskimdeki Windows dosya sistemimi tüm kullanıcıların okuyup yazabileceği şekilde nasıl bağlarım.

VFAT ve NTFS dosya sistemleri Linux dosya sistemi değillerdir. Siz bu dosya sistemlerini sisteminizde bağladığınız (mount) zaman Linux çekirdeği tarafından bu dosyalara spesifik kullanıcı id'si (UID), grup id'si (GID) ve erişim izinleri verilir. Debian tarafından bu dosyalara erişim izinleri verilirken erişim izinleri normal kullanıcıların (root yetkisinde olmayan) bu dosyaları okumasına ve yazmasına izin verilmeyecek şekilde düzenlenir.

Şayet tüm kullanıcıların bu dosya sistemi üzerinde okuma yapmasına ve yazmasına izin vermek istiyorsanız dosya sistemini bağlarken, umask ifadesi ile erişim yetkilerini düzenlemeniz gerekir.

Tüm kullanıcılar için okuma ve çalıştırma iznini sağlayacak olan 755 (rwxr-xr-x) değerini umask ile belirtebilmek için 022 (777-755) değerini girmek gerekir. Bunu /etc/fstab dosyası üzerinde örneklemek gerekirse;

/dev/disk_bölümü /bağlama/noktası auto defaults,uid=USERID,gid=GROUPID,umask=022 0 0

şeklindeki bir yapı ile uid'si USERID ve gid'si GROUPID ile belirtilen kullanıcıların /dev/disk_bölümü'ne erişim yetkilerini 755 olarak düzenlemiş oluyoruz.

veya uid ve gid parametreleri yerine users ifadesi ile tüm kullanıcıların erişimine izin vermiş olursunuz. Bu defa tüm kullanıcılara okuma,yazma ve çalıştırma izni vermek isteyelim. Bunun için umask değerimiz 000 (777-777) olacaktır. Buna örnek olarakda;

/dev/disk_bölümü /bağlama/noktası auto defaults,users,umask=000 0 0

şeklindeki fstab satırı uygun olacaktır. Bu biçeme uygun olan satırı /etc/fstab dosyası içerisine yerleştirdiğinizde makinenizin her yeniden başlatılmasında bu dosyadaki satırlar işletilecek ve gerektiği şekilde aktif edilecektir.

Mount işleminde türkçe karakterlerin düzgün görüntülenebilmesi için iocharset parametresini kullanabilirsiniz. Bunun için sisteminizde gerekli yerellerin yüklü olduğuna emin olun. iocharset = iso8859-9 şeklindeki bir kullanım için sisteminizde tr_TR ISO-8859-9 yerelinin, iocharset = utf8 şeklindeki bir kullanım için tr_TR.UTF-8 yerelinin yüklü olduğuna emin olunuz.

Gerekli yerelleri yüklemek için dpkg-reconfigure locales komutunu kullanabilirsiniz.

Fstab dosyası içerisinde yeni bir düzenleme yaptıkdan sonra mount -a komutu ile fstab içeriğini yeniden okutup uygulatabilirsiniz. Veya yeni eklediğiniz fstab girişini aktif edebilmek için;

mount /bağlama/noktası (örn: mount /win/c)

biçemine uygun komutla ilgili bağlama noktasını aktif edebilirsiniz.

[Not]Not

already mounted şeklinde bir mesaj alırsanız bu bağlamaya çalıştığınız alanın zaten aktif olarak sistemde bağlı durumda olduğunu belirtir.

Bu alanı daha önce bağlamış ancak daha sonradan fstab'da değişiklik yapmış ve bu alanın yeniden yeni parametrelerle bağlanmasını istiyorsanız iki yöntem uygulanabilir;

Birincisi mount /bağlama/noktası -o remount (örn: mount /win/c -o remount) şeklinde remount parametresini kullanmak.

Diğeri aşağıdaki şekilde bağlı olan alanı önce umount edip daha sonra yeniden mount etmek.

umount /bağlama/noktası (örn: umount /win/c)
mount /bağlama/noktası (örn: mount /win/c)