Hizmetler ve Arka Plan Programları
Bu bölüm, bir sistem başlatıldığında çalıştırılacak hizmetlerin yapılandırmasını açıklar ve hizmetlerin systemctl programını kullanarak komut satırında nasıl başlatılacağı, durdurulacağı ve yeniden başlatılacağı hakkında bilgi sağlar.
Sistemi güvende tutun
Yeni hizmetlere erişime izin verdiğinizde, hem SELinux hem de güvenlik duvarının yapılandırılması gerektiğini unutmayın. Yeni bir hizmeti yapılandırırken yapılan en yaygın hatalardan biri, erişime izin vermek için gerekli güvenlik duvarı yapılandırmasını ve SELinux politikalarını uygulamayı ihmal etmektir. Daha fazla bilgi için 29 Güvenlik Kılavuzuna bakın. |
Hizmetleri Yapılandırma
Önyükleme sırasında hangi hizmetlerin başlatılacağını yapılandırmanıza izin vermek için Fedora, systemctl komut satırı aracıyla birlikte gelir.
ntsysv ve chkconfig programlarını kullanmayın
|
irqbalance hizmetini etkinleştirme
POWER mimarisinde en iyi performansı sağlamak için systemctl status irqbalance.service
|
Hizmeti Etkinleştirme
Bir hizmeti önyükleme sırasında otomatik olarak başlatılacak şekilde yapılandırmak için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl enable hizmet_adı.service
Hizmet, sistemi bir sonraki önyüklemenizde başlatılacaktır. Hizmetin hemen nasıl başlatılacağı hakkında bilgi için Hizmeti Çalıştırma kısmına bakın.
Sisteminizde Apache HTTP Sunucusunu çalıştırmak istediğinizi düşünün. httpd paketinin kurulu olması koşuluyla, aşağıdaki komutu root
olarak bir kabuk isteminde yazarak httpd
hizmetini etkinleştirebilirsiniz:
~]# systemctl enable httpd.service
Hizmeti Devre Dışı Bırakma
Önyükleme sırasında bir hizmeti başlatmayı devre dışı bırakmak için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl disable hizmet_adı.service
Sistemi bir sonraki önyüklemenizde hizmet başlatılmayacaktır. Hizmetin hemen nasıl durdurulacağı hakkında bilgi için Hizmeti Durdurma kısmına bakın.
Sistemin güvenliğini sağlamak için kullanıcılara Telnet gibi güvenli olmayan bağlantı protokollerini devre dışı bırakmaları tavsiye edilir. Aşağıdaki komutu root
olarak çalıştırarak telnet
hizmetinin devre dışı bırakıldığından emin olabilirsiniz:
~]# systemctl disable telnet.service
Hizmetleri Çalıştırma
systemctl programı ayrıca belirli bir hizmetin durumunu belirlemenize ve bir hizmeti başlatmanıza, durdurmanıza veya yeniden başlatmanıza olanak tanır.
service programını kullanmayın
|
Hizmetin Durumunu Denetleme
Belirli bir hizmetin durumunu belirlemek için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl status hizmet_adı.service
Bu komut, hizmetin durumu hakkında ayrıntılı bilgi sağlar. Ancak, yalnızca bir hizmetin çalıştığını doğrulamanız gerekiyorsa, bunun yerine systemctl komutunu aşağıdaki şekilde kullanabilirsiniz:
systemctl is-active hizmet_adı.service
httpd hizmetini etkinleştirme kısmında, önyükleme sırasında httpd
hizmetinin başlatılmasının nasıl etkinleştirileceği gösterildi. Sistemin yeniden başlatıldığını ve hizmetin gerçekten çalıştığını doğrulamanız gerektiğini düşünün. Bunu, bir kabuk isteminde şunu yazarak yapabilirsiniz:
~]$ systemctl is-active httpd.service
active
Ayrıca aşağıdaki komutu çalıştırarak hizmetle ilgili ayrıntılı bilgileri görüntüleyebilirsiniz:
~]$ systemctl status httpd.service httpd.service - LSB: start and stop Apache HTTP Server Loaded: loaded (/etc/rc.d/init.d/httpd) Active: active (running) since Mon, 23 May 2011 21:38:57 +0200; 27s ago Process: 2997 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS) Main PID: 3002 (httpd) CGroup: name=systemd:/system/httpd.service ├ 3002 /usr/sbin/httpd ├ 3004 /usr/sbin/httpd ├ 3005 /usr/sbin/httpd ├ 3006 /usr/sbin/httpd ├ 3007 /usr/sbin/httpd ├ 3008 /usr/sbin/httpd ├ 3009 /usr/sbin/httpd ├ 3010 /usr/sbin/httpd └ 3011 /usr/sbin/httpd
Tüm etkin sistem hizmetlerinin bir listesini görüntülemek için şu komutu kullanın:
systemctl list-units --type=service
Bu komut, her satırda aşağıdaki sütunların bulunduğu tablo şeklinde bir çıktı sağlar:
-
UNIT
— Birsystemd
birim adı. Bu durumda, bir hizmet adı. -
LOAD
—systemd
biriminin düzgün yüklenip yüklenmediği bilgisi. -
ACTIVE
— Birimin genel etkinleştirilme durumu. -
SUB
— Birimin ayrıntılı etkinleştirilme durumu. -
JOB
— Birim için bekleyen bir iş. -
DESCRIPTION
— Birimin kısa bir açıklaması.
Aşağıdaki komutu kullanarak tüm etkin hizmetleri listeleyebilirsiniz:
~]$ systemctl list-units --type=service
UNIT LOAD ACTIVE SUB JOB DESCRIPTION
abrt-ccpp.service loaded active exited LSB: Installs coredump handler which saves segfault data
abrt-oops.service loaded active running LSB: Watches system log for oops messages, creates ABRT dump directories for each oops
abrtd.service loaded active running ABRT Automated Bug Reporting Tool
accounts-daemon.service loaded active running Accounts Service
atd.service loaded active running Job spooling tools
[çıktı yarıda kesildi]
Yukarıdaki örnekte abrtd
hizmeti yüklenmiş, etkin, çalışıyor ve bekleyen herhangi bir işi yok.
Hizmeti Çalıştırma
Bir hizmeti çalıştırmak için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl start hizmet_adı.service
Bu, hizmeti geçerli oturumda başlatacaktır. Hizmeti önyükleme sırasında başlatılacak şekilde yapılandırmak için Hizmeti Etkinleştirme kısmına bakın.
httpd hizmetini etkinleştirme kısmında, önyükleme sırasında httpd
hizmetinin nasıl çalıştırılacağı gösterildi. Aşağıdaki komutu root
olarak bir kabuk isteminde yazarak hizmeti hemen başlatabilirsiniz:
~]# systemctl start httpd.service
Hizmeti Durdurma
Bir hizmeti durdurmak için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl stop hizmet_adı.service
Bu, hizmeti geçerli oturumda durduracaktır. Önyükleme sırasında hizmeti başlatmayı devre dışı bırakmak için Hizmeti Devre Dışı Bırakma kısmına bakın.
telnet hizmetini devre dışı bırakma kısmında, önyükleme sırasında telnet
hizmetinin başlatılmasının nasıl devre dışı bırakılacağı gösterildi. Aşağıdaki komutu root
olarak çalıştırarak hizmeti hemen durdurabilirsiniz:
~]# systemctl stop telnet.service
Hizmeti Yeniden Başlatma
Bir hizmeti yeniden başlatmak için aşağıdaki şekilde systemctl komutunu kullanın:
systemctl restart hizmet_adı.service
/etc/ssh/sshd_config
yapılandırma dosyasındaki herhangi bir değişikliğin etkili olması için, sshd
hizmetini yeniden başlatmanız gerekir. Bunu, aşağıdaki komutu root
olarak bir kabuk isteminde yazarak yapabilirsiniz:
~]# systemctl restart sshd.service
Want to help? Learn how to contribute to Fedora Docs ›