Apa yang setara dengan systemctl

30

Saya mengonversi paket dari .rpm ke .deb menggunakan tutorial ini . Namun, untuk menguji dan men-debug aplikasi saya harus menjalankannya. Program readme menjelaskan untuk menjalankannya sebagai layanan dengan:

systemctl enable progname.service
systemctl start progname.service

Apa yang setara di ubuntu untuk perintah ini?

Marnaw
sumber
sudo service network-manager restart adalah apa yang saya cari ketika saya menemukan ini.
Martin Thoma
Pada 2018, Ubuntu memang menggunakan systemd yang lebih baru systemctl(seperti halnya sistem apa pun di atas Ubuntu 15.04, Debian 8, CentOS 7, Fedora 15 ...). /usr/sbin/serviceUtilitas lama memanggil systemctljika / ketika sistem menjalankan systemd.
michael

Jawaban:

12

Ubuntu saat ini merencanakan / mengembangkan untuk menggunakan systemd di masa depan. Lihat tautan berikut untuk info: Vivid akan beralih ke boot dengan systemd ... dan Release notes: Boot dan manajemen layanan

Saya menggunakan 14,04.

Anda dapat menggunakan perintah yang lebih asli update-rc.d. Periksa halaman manual.

Mengaktifkan layanan dengan default (lihat halaman manual):

sudo update-rc.d foo_service defaults

Menonaktifkan layanan:

sudo update-rc.d foo_service remove

Perhatikan bahwa untuk menghapus tanpa pesan kesalahan, file foo_service tidak boleh ada. Namun Anda dapat memaksa:

sudo update-rc.d -f foo_service remove
Ely
sumber
4
Tidak mungkin tentang itu. 15.04 menggunakan systemd.
muru
@muru Dou Anda punya referensi? Silakan mengedit jawaban saya dan beri tahu orang-orang.
Ely
1
pos mengumumkan sakelar selama pengembangan: lists.ubuntu.com/archives/ubuntu-devel-announce/2015-March/… , catatan rilis rilis final: wiki.ubuntu.com/VividVervet/…
muru
5

systemctl adalah utilitas kontrol untuk systemd:

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

Perhatikan bahwa Ubuntu tidak menggunakan systemd, ia menggunakan pemula, yang melakukan beberapa hal yang sama pada prinsipnya, tetapi memiliki beberapa konsep yang berbeda.

Tanpa banyak pengetahuan tentang systemd, dan berdasarkan apa yang saya baca di dokumen yang saya posting, saya pikir Anda tidak perlu "mengaktifkan" layanan. Hanya dengan menjatuhkan file .conf untuk layanan Anda di / etc / init akan membuat pemula mengetahui hal itu.

Namun, itulah inti masalahnya: file konfigurasi systemd untuk layanan Anda tidak akan berfungsi tanpa dimodifikasi di Ubuntu, Anda harus "menerjemahkan" itu ke versi yang setara untuk Pemula. Berikut dokumentasi untuk pemula:

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

Setelah Anda memiliki file .conf pemula yang sesuai, Anda dapat memulai layanan (setara, saya kira, untuk systemctl start) menggunakan:

start your-service
roadmr
sumber
2
Masalahnya adalah, mulai pukul 13.10, Ubuntu memang menggunakan systemd's logind, yang secara default menangguhkan laptop ketika tutupnya ditutup. Jika Anda ingin mengunci layar sebelum ini terjadi, Anda perlu untuk menggantung layanan systemd dari penutupan tutup, dan untuk melakukan itu Anda tampaknya perlu systemctl. Lihat forum.xfce.org/viewtopic.php?id=8411 dan bbs.archlinux.org/viewtopic.php?id=148829 misalnya.
Douglas Bagnall