CANBULA Bilim Bilişim Günlüğü

13Ara/110

Fedora 16 Sistem Açılışında Yönetici Olarak Komut Çalıştırmak

Öncelikle bu yazıyı yazmama neden olan problemimi bir tanımlayayım. Durum bugüne kadar kolaylıkla yapmış olduğum ancak Fedora 16'nın mevcut yöntemlerime cevap vermediği bir durum. Olay benim Conky yardımıyla işlemci sıcaklığını görmek istemem ve dolaylı olarak sistem açılırken root olarak bir komut çalıştırmaya ihtiyacım olması, detaylar ise şöyle:Conky'de işlemci sıcaklığını gösteren aşağıdaki gibi basit bir bash script dosyası yazdım

Selec All Code:
1
sensors|grep 'Core 0'|awk '{print $3}'|cut -c2-8

bu komutlar benim 1. işlemcimin sıcaklığını lm-sensors paketi yardımıyla birazda karakter katarında değişiklik yaparak görüntülememi sağlıyor..sensors komutu ise aşağıdaki çıktıyı veriyor

Selec All Code:
1
2
Core 0:    +33.0 C (high = +76.0 C, crit = + 100.0 C)
Core 1:    +28.0 C (high = +76.0 C, crit = + 100.0 C)

tabi bu çıktıları görebilmem için önceden "sudo modprobe coretemp" komutu ile coretemp modülünü yüklemiş olmam gerekli. Sorun da burada başlıyor zaten, bu komutu başlangıçta yüklenen normal bir dosya içine yazamıyorum çünkü root şifresi isteyecek dolayısıyla otomatik çalışmayacak, sistem izinlerini de bu kadar basit bir işlem için genişletmek istemiyorum.

Bu zamana kadar kullandığım yöntem başlangıçta root olarak çalıştırmam gereken komutları /etc/rc.local dosyası içine yazmaktı ancak Fedora 16'da böyle bir dosya bulamadım, kendim oluşturduğumda ise sistem bu dosyayı çalıştırmadı, chkconfig paketinden yararlanarak bulduğum çözüm ise şöyle:

Önce /etc/init.d klasörünün içinde herhangi bir isimle bir dosya oluşturuyorum ve onu çalıştırılabilir yapıyorum

Selec All Code:
1
2
3
cd /etc/init.d
sudo touch modcoretemp
sudo chmod +x modcoretemp

bu dosyanın içinde olması gereken kodlar ise şöyle

Selec All Code:
1
2
3
4
5
6
7
8
9
#!/bin/bash
# modcoretemp
# chkconfig 345 20 80
# description: baslangicta calisacak dosyam
 
# /etc/init.d/modcoretemp
 
modprobe coretemp
exit 0

burada chkconfig için özel olarak tanımladığım yalnızca 3. satır. Burada bu servisin 3, 4  ve 5. seviyelerde çalışacağını ve başlatma ve sonlandırma önceliklerini tanımladım, eğer bu konuda bir bilginiz yoksa siz de aynen böyle kullanabilirsiniz. Gerekli komutum "modprobe coretemp" çalıştıktan sonra da hiç birşey yapmadan çıkması için "exit 0" komutunu veriyorum. Gelelim bu dosyayı başlangıçta çalışan servisler arasına nasıl ekleyeceğimize. Bu iş için de chkconfig komutunu aşağıdaki gibi veriyorum

Selec All Code:
1
sudo chkconfig --add modcoretemp

bu komut gerekli işlemleri yaparak benim dosyamdaki komutların başlangıçta bir servis gibi çalışmasını sağlayacak. Ayrıca başlangıçta çalışan diğer benzer servisleri yönetmek için de ntsysv paketini kullanabilirsiniz

Selec All Code:
1
sudo ntsysv

komutu ile hangi servisin başlangıçta çalışıp çalışmayacağını ayarlayabilirsiniz.

Bu yazıyı beğendiniz mi?

RSS Kaynağımıza abone olun!

Yorumlar (0) Geri izlemeler (0)

Yorum yapılmadı.


Leave a comment

(required)

Geri izleme yok.