Systemctl eşdeğeri nedir


30

Bu öğreticiyi kullanarak bir paketi .rpm'den .deb'ye dönüştürüyorum . Ancak, uygulamayı test etmek ve hata ayıklamak için çalıştırmam gerekiyor. Beni okuyan programlar bunu aşağıdakilerle hizmet olarak çalıştırmayı açıklar:

systemctl enable progname.service
systemctl start progname.service

Bu komutlar için ubuntu'daki eşdeğeri nedir?


sudo service network-manager restart Bunu bulduğumda aradığım şeydi.
Martin Thoma

2018'den itibaren, Ubuntu daha yeni systemctlbir sistem kullanmaktadır (Ubuntu 15.04, Debian 8, CentOS 7, Fedora 15 ... üzerindeki herhangi bir sistemde olduğu gibi). Eski /usr/sbin/serviceyardımcı program systemctlsistemde çalışıyorsa / çalıştırdığında çağırır .
michael

Yanıtlar:


12

Ubuntu şu anda gelecekte systemd kullanmayı planlıyor / geliştiriyor . Bilgi için aşağıdaki bağlantılara bakın: Vivid systemd ... ve Sürüm notları ile önyüklemeye geçecektir : Önyükleme ve servis yönetimi

14.04 kullanıyorum.

Daha fazla yerel komut kullanabilirsiniz update-rc.d. Man sayfasını kontrol et.

Bir servisi varsayılan ayarlarla etkinleştirme (man sayfasına bakın):

sudo update-rc.d foo_service defaults

Bir hizmeti devre dışı bırakma:

sudo update-rc.d foo_service remove

Hata mesajı olmadan kaldırmak için foo_service dosyasının bulunmaması gerektiğini unutmayın. Ancak zorlayabilirsiniz:

sudo update-rc.d -f foo_service remove

4
Bu konuda belki yok . 15.04 systemd kullanıyor.
muru

@muru Lütfen bir referansınız var mı? Lütfen cevabımı düzenlemek ve insanlara bildirmekten çekinmeyin.
Ely

1
geliştirme sırasında geçişi ilan eden yazı: lists.ubuntu.com/archives/ubuntu-devel-announce/2015-Mart/… , son sürümün sürüm notları: wiki.ubuntu.com/VividVervet/…
muru

5

systemctl systemd için kontrol yardımcı programıdır:

http://www.freedesktop.org/software/systemd/man/systemctl.html

Ubuntu'nun systemd'yi kullanmadığına, prensip olarak aynı şeylerden birkaçını yapan, ancak bazı farklı kavramlara sahip olduğuna dikkat edin.

Systemd hakkında fazla bilgi olmadan ve yayınladığım belgede okuduklarım temelinde, bir hizmeti "etkinleştirmeniz" gerekmediğini düşünüyorum. Sadece / etc / init içindeki hizmetiniz için .conf dosyasını bırakmanız, bunun farkında olmasını sağlamalıdır.

Yine de meselenin özü bu: Servisiniz için systemd config dosyası Ubuntu'da değiştirilmemiş olarak çalışmayacak, bunu Upstart için eşdeğer bir sürüme "çevirmelisiniz". İşte başlangıç ​​için belgeler:

http://upstart.ubuntu.com/cookbook/

Uygun bir upstart .conf dosyasına sahip olduğunuzda, aşağıdakileri kullanarak bir servis başlatabilirsiniz (eşdeğer, sanırım, systemctl start):

start your-service

2
Sorun, 13.10 başlıyor, Ubuntu yaptığı kapak kapatıldığında varsayılan olarak bir dizüstü bilgisayar askıya kullanım systemd en LOGIND. Bu gerçekleşmeden önce ekranı kilitlemesini istiyorsanız, sistemi kapatıp kapağını kapatmanız ve ihtiyaç duyduğunuz gibi görünmeniz gerekir systemctl. Bkz forum.xfce.org/viewtopic.php?id=8411 ve bbs.archlinux.org/viewtopic.php?id=148829 örneğin.
Douglas Bagnall

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.