On Tuesday 15 June 2010 00:56:50 Değer Muharrem wrote:
> On Sunday 13 June 2010 16:13:33 Ahmet AKMAZ wrote:
>    13 Haziran 2010 13:21 tarihinde Değer Muharrem
> 
> <[email protected]>yazdı:
>    > On Sunday 13 June 2010 10:57:44 Emre Erenoglu wrote:
>    >   > Merhaba,
>    >   > 
>    >   > Şu anda 2008.2 de pisi paketini bulamadığım Denyhosts programını
>    >   > kaynak kodundan kurdum. Programın kendi başlatma betiğini
>    >   > kullanarak başlatabiliyorum.
>    >   > 
>    >   > Bu betiği Servis Yöneticisinin içerisine almak için Çomar'a nasıl
>    >   > kaydettirebilirim diye biraz araştırdım. 2006'ya ait bir yazışmada
>    >   > $ sudo hav register System.Service appname path/to/service.py
>    >   > diye bir tavsiye var. O günde bu güne Pardus çok ilerledi tabii.
>    >   > 
>    >   > Onun için Error:
>    >   >  tr.org.pardus.comar.db.nomodel: No such model.
>    >   > 
>    >   > yanıtını alıyorum.
>    >   > 
>    >   > Acaba
>    >   > /usr/share/denyhosts/daemon-control python betiğini Çomar'a nasıl
>    >   > kayıt ettirip Servis Yöneticisinden başlatabilirim?
>    >   > 
>    >   > Okumam gereken dokumantasyon veya bir yol gösterebilirmisiniz
>    >   > lütfen?
>    >   
>    >   Selam,
>    >   
>    >   Su siteye bir bakin, umarim bilgileri gunceldir:
>    >   http://tr.pardus-wiki.org/Pardus:Servis_Betikleri

Bugün böyle bir dosya yok tabii! Umarım wikiyi yönetenler dosya silmek yerine 
yonlendirme (301 redirect) koymayı düşünürler birgün.

>    >   
>    >   Bir de  https://svn.pardus.org.tr/pardus/2009/devel/server/
>    > 
>    > adresindeki paketlerin comar dizinlerindeki service.py dosyalarina
>    > bakin, sonra hav register ile bir sekilde ekleyebilmeniz lazim.
>    > 
>    > Çok teşekkür ederim. Hemen okumaya başladım bile.
>    > 
>    > Değer
> 
>    Sayın Değer Muharrem, sonuç olumlu olursa nasıl yaptığınızı bizimle
>  paylaşır mısınız?
> 
> Tabii paylaşırım.
> 
> Önce örneklerden ve Wikiden yola çıkarak şöyle bir service.py dosyası
> yazdım.
> 
> # -*- coding: utf-8 -*-
> from comar.service import *
> 
> serviceType="server"
> serviceDesc = _({"en": "DenyHosts daemon",
>                  "tr": "DenyHosts sunucusu"})
> @synchronized
> def start():
>     startService(command="/usr/share/denyhosts/daemon-control",
>                  args="start",
>                  pidfile="/var/lock/subsys/denyhosts",
>                  donotify=True)
> 
> @synchronized
> def stop():
>     stopService(command="/usr/share/denyhosts/daemon-control",
>                 args="stop",
>                 donotify=True)
> 
> def status():
>     ret = run("/bin/rm /var/lock/subsys/denyhosts")
>     if ret!=0:
>         return False
>     return isServiceRunning("/var/lock/subsys/denyhosts")
> 
> Sonra da bu dosyayı Çomara şu komutla kayıt ettirdim.
> 
> sudo hav register denyhosts System.Service service.py
> 
> Bundan sonra program Servis Yöneticisinde yerini aldı. Başlat ve Durdur
> komutları da programı başarıyla çalıştırıp durdurdu.
> 
> Umarım işinize yarar. Hoşcakalın,
> 
> Değer

2011.2 için uyarlanmış güncelleme:
programı indirip kurduktan sonra şöyle yapmak mümkün:
Önce sevgili editörümüzle

sudo <editör> /usr/share/denyhosts/daemon-control

dosyasını açıp DENYHOSTS_LOCK parametresini aşağıdaki gibi düzenliyoruz.
<editör> sevdiğiniz bir editör olabilir, nano veya vi, gibi.

DENYHOSTS_LOCK  = "/var/run/denyhosts.pid"·

ve sonra kaydediyoruz. Bundan sonra da

sudo <editör> /usr/share/denyhosts/denyhosts.cfg

dosyasını açıp 198. satır dolayındaki LOCK_FİLE parametresini aşağıdaki gibi 
düzenliyip kaydediyoruz.

LOCK_FILE = /var/run/denyhosts.pid

Bundan sonra da bir servis dosyası yazıyoruz Çomar için.

service.py dosyası aşağıdaki gibi:
###########################################
from comar.service import *
import os
serviceType="server"
serviceDesc = _({"en": "DenyHosts daemon",
                 "tr": "DenyHosts servisi"})
PIDFILE = "/var/run/denyhosts.pid"
@synchronized
def start():
    startService(command="/usr/share/denyhosts/daemon-control",
                 args="start",
                 pidfile=PIDFILE,
                 donotify=True)

@synchronized
def stop():
    stopService(command="/usr/share/denyhosts/daemon-control",
                args="stop",
                donotify=True)
    try:
        os.unlink(PIDFILE)
    except OSError:
        pass
      
def status():
    return isServiceRunning(PIDFILE)
###########################################

Bu dosyayı bir yere kaydediyoruz. Çomar servisi olarak kaydetmek için de 
aşağıdaki komuta benzer bir komut yazıyoruz.

sudo hav register denyhosts System.Service /home/kullanıcıadı/service.py

Bunlardan sonra Servis Yöneticisinden servisi başlatıp durdurmak mümkün.

Eğer bir problemle karşılaşıp servisi çıkarmak isterseniz aşağıdaki komutla 
çıkartabilirsiniz.

sudo hav remove denyhosts

Şimidiki durum bu.
Hoşcakalın,
Değer
_______________________________________________
Pardus-kullanicilari e-posta listesi
Listeden çıkmak için 
http://liste.pardus.org.tr/mailman/listinfo/pardus-kullanicilari adresini 
kullanın.
Listeye iletmek istediğiniz soruları  [email protected] 
e-posta adresine gönderin.
Liste mesajlarında arama yapmak için http://liste.pardus.org.tr/arama web 
sayfasına gidin.

Cevap