Daemon

Berikut ini adalah hasil terjemahan saya dari salah satu artikel di situs MandrakeUser.org yang judulnya "Daemons: What they are and how to handle them". Jika ada kesalahan dalam menerjemahkan mohon untuk di koreksi.

Tentang Daemon

Dalam dongeng kuno 'daemon' adalah suatu makhluk gaib (semacam jin ;~), contoh yang paling populer adalah Jin pada Lampu Alladin. Dalam GNU/Linux (dan Unix pada umumnya) daemon adalah proses yang berjalan di background tanpa ada campur tangan dari user. Daemon mulai dijalankan ketika boot melalui file-file di '/etc/rc.d/init.d/' dan menyediakan layanan-layanan (services) tertentu. Menjalankan dan menghentikan service-service ini bisa dilakukan melalui start/stop yang menunjuk direktori runlevel di '/etc/rc.d/' dan membutuhkan hak akses sebagai 'root'. Sepertinya ini lebih memusingkan dari kelihatannya:
GNU/Linux mengenal tujuh runlevel, yaitu dari 0 sampai 6. Kebanyakan dari runlevel-runlevel menjelaskan suatu status sistem (sebagaimana dijelaskan dalam file '/etc/inittab'):

bullet

Runlevel 0: Halt. Dijalankan melalui perintah shutdown -h now atau init 0.

bullet

Runlevel 1: Single User. Dijalankan melalui perintah single atau init 1. Merupakan account root minimal, berguna dalam situasi-situasi darurat.

bullet

Runlevel 2: Multi-User tanpa Networking. Dijalankan melalui init 2. Untuk keperluan pemeliharaan sistem tanpa dukungan jaringan.

bullet

Runlevel 3: Multi-User dengan Networking. Dijalankan dengan init 3 atau setting 'initdefault' dalam '/etc/inittab'. Merupakan runlevel konsol asli GNU/Linux (yang umum/normal).

bullet

Runlevel 4: tidak digunakan

bullet

Runlevel 5: Runlevel 3 + X Windows. Dijalankan oleh startx atau setting 'initdefault' dalam '/etc/inittab'. Dimana kebanyakan orang yang kurang ahli menghabiskan waktunya ;)

bullet

Runlevel 6: Reboot. Dijalankan oleh perintah shutdown -r now, init 6 atau dengan menekan tombol CTRL-ALT-DEL.

(Catatan: fungsi runlevel-runlevel di atas tergantung dari distribusi, lihatlah di '/etc/inittab').

Service-service bisa dijalankan atau dihentikan dalam proses dengan berpindah ke suatu runlevel. Merubah runlevel juga memerlukan hak akses 'root'.

Contohnya adalah network service. Dalam '/etc/rc.d/rc0.d/' (direktori untuk runlevel 0) kita temukan: 'K90network'. 'K' berarti kill, angka '90' adalah untuk urutan. Service tersebut akan dihentikan ketika shutdown. Sebagian dari Anda mungkin bisa melihatnya kalau service-service di direktori runlevel 0 sama dengan yang di dalam 'rc1.d/' (emergency console) dan 'rc6.d/' (reboot). Perlu diketahui bahwa service-service biasanya dijalankan atau dihentikan dalam setiap pindah runlevel, karena tidak dapat diduga dari runlevel mana kita memasuki runlevel lainnya. Dalam rc2.d dapat kita temukan 'S10network'. Sehingga network service akan dijalankan ketika masuk ke runlevel ini (atau tidak akan dihentikan ketika berpindah dari runlevel yang network service-nya sudah ada/berjalan). Tetapi bukankah runlevel 2 seharusnya multi-user tanpa network?

Hal ini menyatakan bahwa semua service bergantung pada network service karena mereka berkomunikasi dengan sistem operasi melalui protokol TCP/IP (ya, sama dengan yang digunakan untuk browsing). GNU/Linux Anda merupakan network untuk dirinya sendiri (disebut 'loopback'), walaupun tidak terhubung ke dunia luar dan semua service-service yang dibutuhkan untuk koneksi ke luar dimatikan pada runlevel tersebut. Ini juga menjelaskan bahwa network script akan dijalankan (ketika boot) paling awal, sedangkan ketika shutdown akan dimatikan terakhir.


Kendalikan Daemon Anda!

Setting instalasi default Mandrake mengaktifkan banyak daemon. Berikut ada beberapa cara untuk menonaktifkannya dan membiarkan mereka 'hidup' bisa membawa banyak kerugian:

bullet

System load: walaupun kebanyakan waktu daemon 'tidur', namun mereka 'memakan' sebagian memori sistem, khususnya yang dijalankan secara periodik, seperti 'postfix'.

bullet

Security holes (lubang keamanan): daemon memantau beberapa port untuk suatu kejadian (event). '(x)inetd' sendiri merupakan kumpulan beberapa jenis daemon. Lebih banyak daemon yang berjalan berarti lebih banyak port yang terbuka yang berarti juga memperbesar kemungkinan untuk diserang, khususnya jika sistemnya tidak secure.

bullet

Incompatibilities (ketidaksesuaian): contohnya dukungan mouse oleh 'gpm' di 'X', 'routed' akan memusingkan Anda jika Anda mempunyai account dial-up, dll.

bullet

Long boot time (boot time yang lama): jika sistem Anda lambat ketika boot, itu biasanya disebabkan oleh daemon yang sedang diload.

Daemon-daemon akan sangat berguna jika digunakan sesuai keperluan, hanya saja jangan biarkan daemon Anda berbalik menyerang Anda.


Mengkonfigurasi Service Secara Sementara

Service-service memiliki perintah-perintah yang berbeda untuk dikonfigurasi (kebanyakan darinya membutuhkan 'root'). Sebagai pengganti mengetikkan full-path ('/etc/rc.d/init.d/') setiap waktu, Anda bisa menggunakan perintah service (service [nama_service [perintah]]) sebagai berikut:

bullet

service [nama_service] start

bullet

service [nama_service] stop

bullet

service [nama_service] restart

bullet

service [nama_service] reload

bullet

service [nama_service] status

bullet

service [nama_service] probe

Tergantung pada setiap service. Untuk mengetahui parameter-parameter apa yang dimiliki suatu service, cukup ketik tanpa parameter:

#service smb

Usage: /etc/rc.d/init.d/smb {start|stop|restart|status}

Untuk parameter tidak perlu dijelaskan fungsinya (sudah jelas dari namanya). Biasanya Anda tidak perlu tahu tentang semua daemon, tapi dengan mengetahuinya bisa sangat berguna ketika kita merubah konfigurasi dan perlu me-restart service untuk mengaktifkan konfigurasi yang telah kita ubah (di GNU/Linux tidak perlu reboot sistem, tinggal restart saja service yang bersangkutan ;)), ingin memeriksa bagaimana service bekerja atau mau menghentikan service karena keterbatasan resource atau untuk alasan keamanan.


Mengkonfigurasi Service Secara Permanen

Perintah service hanya melakukan perubahan secara sementara, setelah reboot, perubahan-perubahan akan hilang (kembali seperti semula). Cara yang paling cepat untuk merubah service secara permanen adalah dengan perintah:

chkconfig -add [service]
akan menambah service secara permanen ke runlevel 3, 4 dan 5. Ganti -add dengan -del untuk mencegah seervice dijalankan ketika booting. Parameter -list akan menampilkan semua service dan konfigurasi runlevel yang sedang aktif sekarang. Jika Anda lebih suka mengkonfigurasi secara grafis, gunakan 'Startup Services' di 'DrakConf', 'Linuxconf', 'tksysv' atau 'ntsysv'. Sejak LM 7.0, 'Linuxconf' memungkinkan Anda untuk merubah beberapa konfigurasi profile ('Central' - 'Control files and systems' - 'Configure system profiles'), yaang bisa dilakukan ketika boot dengan menekan tombol 'i' atau 'I'.

Daftar Service Berdasarkan Abjad

Dalam daftar berikut, service-service dikelompokkan menjadi 'optional', 'essential' dan 'pros only'. 'Optional' berarti Anda bisa mengaktifkan/mematikannya dengan aman, 'essential' berarti jangan dimatikan dan 'pros only' berarti bebas saja asalkan Anda tahu apa yang Anda lakukan.

alsa

Menjalankan/menghentikan driver sound ALSA (Advanced Linux Sound Architecture). Jika Anda tidak mau ada suara di PC Anda, matikan saja.
Jenis: Optional. Dok: http://www.alsa-project.org/documentation.php3

anacron

Penerus 'cron'. 'cron' menjalankan task seperti system maintainance pada waktu-waktu tertentu, tetapi jika pada waktu tersebut sistem tidak berjalan (komputer dimatikan), maka task tersebut akan ditunda. Disinilah fungsi 'anacron': ia memeriksa task cron yang tertunda ketika waktu boot dan mengeksekusinya. Jika sistem Anda tidak selalu nyala, biarkan 'anacron' aktif.
Jenis: Optional. Dok: man anacron

apmd

Advanced Power Management BIOS Daemon. Biasanya dibutuhkan jika komputer Anda dijalankan menggunakan batere, seperti laptop. Beberapa BIOS pada laptop biasanya bermasalah dengan apmd, yang bisa menyebabkan masalah yang fatal pada saat instalasi.
Jenis: Optional. Dok: man apmd

arpwatch

Menentukan pasangan alamat ethernet/ip. Biasanya tidak aktif. Aktifkan jika diperlukan (jika diperlukan, Anda akan tau apa fungsinya dan tidak perlu dijelaskan ;)).
Jenis: Pros Only. Dok: man arpsnmp

atd

The At Daemon. Menangani job yang terjadwal ('pada waktu tertentu'). Berhubungan dengan 'crond'. Jenis: Optional. Dok: man atd, man at

autofs

Mengontrol daemon automount (tidak sama dengan 'supermount' yang disertakan pada LM 7, berbeda dalam mekanismenya). Biasanya tidak aktif. Anda mungkin membutuhkannya jika mau me-mount share jaringan secara otomatis.
Jenis: Pros Only. Dok: man autofs, man automount

bootparamd

Dibutuhkan untuk menyediakan informasi boot bagi client tanpa disk. Biasanya tidak aktif.
Jenis: Pros Only. Dok: man bootparamd

crond

The Cron Daemon. Menangani tugas berulang-ulang (kronologis). Berhubungan dengan 'atd'.
Jenis: Essential. Dok: man crond, man cron

cups

Sejak rilis 7.2 dijadikan service pencetakan standar pada Linux Mandrake.
Jenis: Essential untuk mencetak. Dok: /usr/share/doc/cups/documentation.html

firewall

Service generik. Firewall penjaga LAN dari serangan luar (internet). Tidak terpakai sejak LM 7.
Jenis: Optional. Dok: tidak ada.

gpm

General Purpose Mouse Daemon. Dibutuhkan jika Anda ingin menggunakan mouse pada konsol (bukan xterms). Jika Anda hanya bekerja di dalam X, sebaiknya dimatikan, karena gpm tidak kompatibel dengan X.
Jenis: Optional. Dok: man gpm

httpd

Daemon yang diperlukan untuk menjalankan web-server Apache. Dalam LM, httpd berjalan sebagai service tersendiri dan tidak melalui '(x)inetd'. Jika Anda tidak bermaksud untuk menjalankan sebuah web-server, matikan saja: httpd rakus memori (lebih dari 15MB) dan menjadikan sistem mudah diserang jika tidak dikonfigurasi dengan baik (melalui '/etc/httpd/conf/httpd.conf'). Jenis: Optional. Dok: man httpd

inet(d)

The Internet 'Super-Server'. Menangani service-service dial-in seperti ftp, pop3 dan telnet (ketiganya aktif secara default). Jika Anda hanya dial-out (untuk koneksi ke internet misalnya), atau hanya menjalankan Apache, matikan saja!!! Pada setting default, inet(d) mengundang setiap orang yang mengetahui IP Anda untuk melancarkan serangan ke komputer Anda.
Bagaimanapun jika Anda ingin menggunakannya, pelajarilah file-file '/etc/inetd.conf', '/etc/hosts.allow', '/etc/hosts.deny' dan instal tcp-wrapper.rpm (biasanya sudah terinstal). Sejak LM 7.2 sudah diganti dengan 'xinetd'.
Jenis: Optional. Dok: man inetd, man hosts-access, man tcpd, Linux Administrator's Secutiry Guide.

isdn4linux

Untuk pengguna card ISDN. Mungkin Anda masih harus mengkonfigurasi service ini, baca '/usr/doc/isdn4net-[...]/doc/INSTALL.quick' untuk lebih jelasnya. Dalam LM 7.2 keatas, gunakan utility 'draknet'. Biasanya enable. Jika tidak punya card ISDN, marikan saja.
Jenis: Optional. Dok: '/usr/doc/faq/isdn4linux/i4lfaq.html'.

keytable

Service generik. Meload keyboard map yang dipilih sebagaimana yang tercantum pada file '/etc/sysconfig/keyboard'. Biasanya enable.
Sifatnya Essential bagi user yang menggunakan keyboard non-US. Dok: man loadkeys

kheader

Compiler stuff. Karena hanya me-regenerate suatu file, kheader tidak begitu memboroskan sumber daya sistem. Jenis: Optional. Dok: tidak ada.

kudzu

Mendeteksi dan mengkonfigurasi kardware baru atau yang telah berubah selama boot. Anda bisa mematikannya dan Linux Anda bisa boot lebih cepat. Anda bisa menjalankannya secara manual di konsol. Biasanya enable.
Jenis: Optional. Dok: man kudzu

linuxconf

Dibutuhkan untuk tool konfigurasi 'Linuxconf'. Biasanya enable.
Sifatnya Essential jika Anda butuh tool konfigurasi yang lengkap.
Dok: '/usr/lib/linuxconf/help.[kode-bahasa]'.

lpd

Linux Printer Spooler Daemon yang lama. Tidak digunakan sejak LM 7.2 (digantikan oleh CUPS). Dok: man lpd

netfs

Network Filesystem Mounter. Service generik. Dibutuhkan untuk mounting NFS, SMB dan NCP share ketika boot. Biasanya enable.
Jenis: Optional. Dok: man mount

network

Service generik. Mengaktifkan semua antarmuka jaringan ketika boot dengan memanggil skrip-skrip di '/etc/sysconfig/network-scripts/'. Biasanya aktif.
Jenis: Essential. Dok: man ifconfig

nfslock

Menjalankan dan menghentikan service file locking NFS. Jika Anda tidak tahu apa itu, matikan saja. Biasanya enable. Jenis: Optional. Dok: man nfs

numlock

Mengunci tombol NumLock pada saat perubahan runlevel. Biasanya enable, kecuali pada laptop.
Jenis: Optional. Dok: tidak ada.

pcmcia

Service generik. Untuk pengguna laptop saja, sejak LM 7 bukan bagian dari instalasi standar lagi (kecuali untuk laptop).
Jenis: Optional. Dok: baca skrip-nya.

portmap

Dibutuhkan untuk Remote Procedure Calls. Biarkan enable jika Anda membutuhkan RPC (jika tidak tahu apa itu, berarti Anda tidak membutuhkannya ;-)). Biasanya enable.
Jenis: Optional. Dok: man portmap

postfix

Mail Transport Agent (MTA) standar pada LM, seperti sendmail, tetapi lebih mudah untuk dikonfigurasi dan lebih cepat. Jika Anda menggunakan Mail User Agent (MUA) yang bisa mengirim mail sendiri (seperti KMail, Netscape Mail atau Balsa), matikan saja. Biasanya enable.
Jenis: Optional. Dok: man postfix, '/usr/doc/postfix-[versi]/html/index.html'.

random

Random Number Generating Daemon. Dibutuhkan untuk keamanan.
Jenis: Essential. Dok: man 4 random

rawdevice

``Skrip ini meng-assign raw device untuk mem-blok device (seperti partisi hard disk). Ini digunakan oleh aplikasi-aplikasi seperti Oracle.''
Jenis: Pros Only. Dok: tidak ada.

routed

Network Routing Daemon. Jangan digunakan jika Anda mempunyai koneksi dial-up! Sejak LM 7 bukan bagian dari instalasi desktop standar lagi.
Jenis: Pros Only. Dok: man routed

rstatd

Server statistik kernel (advanced networking stuff). Anda perlu mengaktifkan 'portmap' juga. Biasanya disable. Jenis: Pros Only. Dok: man rpc.rstatd

ruserd, rwalld, rwhod

Menyediakan beberapa service yang berguna ketika menjalankan sebuah sistem multiuser. Biasanya disable. Jenis: Pros Only. Dok: man ruserd

sendmail

Mail Transfer Agent, sekarang digantikan oleh PostFix (tapi masih bagian dari distribusi). Jika mail client Anda mampu mengirim dan menerima mail sendiri (seperti Netscape Mail, KMail, Pine), lebih baik dimatikan saja, karena sendmail cukup membebani sistem.
Jenis: Optional. Dok: man sendmail

smb

Dibutuhkan untuk menjalankan SAMBA (Server Message Block Protocol Server). Menyediakan layanan network pada klien MS-Windows dan akses share pada mesin-mesin tersebut dari GNU/Linux Anda. Biasanya disable.
Jenis: Optional. Dok: man samba

syslog (sysklogd)

System Message Logger.
Jenis: Essential. Dok: man sysklogd

usb(d)

Daemon untuk perangkat-perangkat USB. Jika Anda tidak menggunakan perangkat USB, matikan saja. Biasanya enable.
Jenis: Optional. Dok: '/usr/share/doc/usbd-[versi]'.

xfs

X Font Server. Anda bisa tidak menggunakannya tetapi nantinya harus mengeset font path di '/etc/X11/XF86Config(-4)' dan mungkin ingin menggunakan font server TrueType eksternal seperti xfstt. Biasanya enable.
Jenis: Essential untuk pengguna X. Dok: man xfs

ypbind

NIS Binder. Hanya dibutuhkan jika komputer Anda bagian dari domain NIS (Network Information Service). Sejak LM 7 tidak lagi menjadi bagian dari instalasi standar. Bisa menyebabkan masalah pada mesin dial-up.
Jenis: Pros Only. Dok: man ypbind

Daemon

This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir1461Ma2Rwi/lyx_tmpbuf1461igXM06/daemons.tex

The translation was initiated by Ario Sutomo on 2001-11-04

Ario Sutomo ([email protected]) 2001-11-04

Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2001
 

Hosted by www.Geocities.ws

1