1. Genel
Önceki 11. Kısım - Sistem Yönetimi Sonraki
1. Genel
1.1. Bir programın veya betiğin Linux her açıldığında çalıştırılmasını nasıl sağlarım?
1.2. Sistemde kayıtlı olan normal kullanıcıların listesini nasıl alabilirim?
1.3. Dosya sistemi ext3 olan bir disk bölümünü her açılışta sistemime nasıl tanıtabilirim?
1.4. Eski linux'umu yeni kurduğum linux'e taşımak istiyorum. Veri kaybı olmaması için hangi yolu izlemeliyim?
1.5. RedHat 7.x sürümü kullanıyorum ve inetd deamon'ı bulamadım. Servisleri nasıl ayarlayabilirim?
1.6. root parolasını unuttum. Ne yapabilirim?
1.7. Kullanıcıların çalıştırabileceği süreç sayısını veya benzer kısıtlamaları nasıl yapabilirim?
1.8. Belli aralıklarla yapılmasını istediğim işleri nasıl otomatikleştirebilirim?
1.9. Sisteme root olarak girdiğim halde /usr/sbin gibi bazı dizinlerin PATH değişkeninde yer almadığını görüyorum. Hata nedir?

1.1. Bir programın veya betiğin Linux her açıldığında çalıştırılmasını nasıl sağlarım?
Yanıtlayan: M. Umut Atasever ve Murat Koç
Programınızı /etc/rc.local dosyasının sonuna eklerseniz sistem başlangıcında çalıştırılır.
rc betikleri genelde /etc/rc.d/ veya /etc/init.d dizinlerinin altında bulunur ki zaten rc.d dizini de init.d dizinine bağ durumundadır. Dolayısı ile dosyanın temel olarak olması gereken yer /etc/rc.d/rc.local'dir. Fakat bazı dağıtımlarda bu ismi /etc/rc.d/boot.local biçiminde de görebilirsiniz.
Benim asil eklemek istediğim ise rc.local veya boot.local betiklerini init işleminden sonra rc'den hemen sonra çalıştırılan betiktir. Dolayısı ile eğer ağ ile ilgili birşey yaptırmak istiyorsanız (samba'daki bir paylaşımı bağlamak örneğin) bunu ağ ayarlarının düzenlenmesinden sonra yapmanız gerekir. Bundan dolayı temelde yapmanız gereken şey için bir bash betiği yazmak bunun içine "start" ve "stop" parametrelerinde yapacağı işleri tanımlamak ve bunu hangi çalışma seviyesinde (runlevel) çalıştıracaksanız onunla ilgili olan dizine Sxxservis Kxxservis biçiminde bağlamanız kontrolun daha fazla elinizde olmasını sağlayacaktır. Ama nispeten basit şeyler yapacaksanız bu durumda rc.local veya boot.local dosyasını gönül rahatlığı ile kullanabilirsiniz (Sxx ve Kxx'in anlamları için /etc/init.d'de README dosyası olur, genelde ona bakabilirsiniz).
1.2. Sistemde kayıtlı olan normal kullanıcıların listesini nasıl alabilirim?
Yanıtlayan: Görkem Çetin
Aşağıdaki komut ile kullanıcı numaraları 500'den fazla olanların kullanıcı isimlerini ekrana yazabilirsiniz:
# awk -F: '{ if ($3>500) print $1 }' < /etc/passwd
1.3. Dosya sistemi ext3 olan bir disk bölümünü her açılışta sistemime nasıl tanıtabilirim?
Yanıtlayan: Alper Oğuz
/etc/fstab dosyanızda ilgili satırda ext2    defaults yerine ext3    defaults,journal=update yazmalı ve
# tune2fs -i 0 -c 0
çalıştırıp açılışta fsck yapılmasını engellemelisiniz.
1.4. Eski linux'umu yeni kurduğum linux'e taşımak istiyorum. Veri kaybı olmaması için hangi yolu izlemeliyim?
Yanıtlayan: Barış Şimşek
Eski linux'unuzda çalışan servislerinize göre değişir. Ancak genel olarak konuşursak:
Dosya haklarının ve sahiplerinin korunması için /etc/passwd, /etc/shadow ve /etc/group dosyalarını almalısınız.
Kullanıcıların kendi kök dizinlerinde dosya varsa /home dizinini de tamamen almalısınız.
Bu makina eğer eposta sunuculuğu yapıyordu ise /var/spool/mail (kullanıcı epostaları) dizinindeki tüm dosyaları almalısınız. Tabii ki eposta sunucu yazılımınızın ayar dosyalarını da almalısınız.
Yetkili kullanıcının kök dizini /home altında olmayıp /root dizinidir. Bunu da almayı unutmayın.
/etc altında değişiklik yaptığınız ayar dosyaları varsa onları da yedekleyin.
Apache için httpd.conf ve bu dosyada belirtilen DocumentRoot dizinini, sanal web sayfası dizinlerini, .htacess ile korunan dizinlerin parola dosyalarını, varsa SSL dosyalarınızı (ssl.key, ssl.crt ...) yedekleyin.
1.5. RedHat 7.x sürümü kullanıyorum ve inetd deamon'ı bulamadım. Servisleri nasıl ayarlayabilirim?
Yanıtlayan: M. Umut Karabudak
RH 7.x sürümünden itibaren inetd yerine xinetd programını sürümüne dahil etti. xinetd tek dosya yapısı yerine birden çok dosyadan oluşmaktadır.
Program ayarları için /etc/xinetd.conf dosyasına, servis ayarları için /etc/xinetd.d dizinindeki ilgili servis dosyasını düzenleyiniz.
Daha ayrıntılı bilgi için: # man xinetd
1.6. root parolasını unuttum. Ne yapabilirim?
Soru: 5.41. sorusunun yanıtına bakın.
1.7. Kullanıcıların çalıştırabileceği süreç sayısını veya benzer kısıtlamaları nasıl yapabilirim?
Yanıtlayan: Murat Koç
pam'in yanında ulimit özellikle bu tür şeyleri engellemek için bulunmaktadır. Daha fazla bilgiyi # man ulimit ile alabilirsiniz.
1.8. Belli aralıklarla yapılmasını istediğim işleri nasıl otomatikleştirebilirim?
Yanıtlayan: Barış Şimşek
Bu işleri yapacak programlarınızı crontab'a ekleyerek.
Crontab'a ekleme yapmak için crontab -e komutunu verin. Bu komut ile, o an bulunduğunuz kullanıcı için periyodik iş eklersiniz. Sistem dizinlerine erişen bir betik vb. programlamak için root olarak girip bu komutu vermelisiniz.
Crontab komutu şu şekildedir:
dakika saat aygun ay haftagun komut
Örnekler:
38 4 * 1,3,6 * /usr/local/sbin/update_dat
10,15,20,25,30,35,40,45,50,55,0 * * * * /root/scripts/checkdaemon
50 5 * 6 * /root/scripts/getbackup
*, bulunduğu zaman diliminde her zaman demektir. İlk satır, her ayın her haftasının 1, 3 ve 6. günleri saat 4:38 de update_dat betiğini çalıştırır.
1.9. Sisteme root olarak girdiğim halde /usr/sbin gibi bazı dizinlerin PATH değişkeninde yer almadığını görüyorum. Hata nedir?
Yanıtlayan: Enver ALTIN
Anladığım kadarıyla su komutu ile root oluyorsunuz. su yerine, su - (sondaki - işareti, root kullanıcısının ortam değişkenlerinin de aktarılmasını sağlıyor) ile root olursanız sorun çözülecektir.
Önceki Üst Ana Başlık Sonraki
11. Kısım - Sistem Yönetimi Başlangıç 2. FTP
Bir Linux Kitaplığı Sayfası