Cara membuat file unit service Systemd di Linux

Layanan adalah program yang berjalan secara otomatis ketika komputer mulai dan menunggu di latar belakang untuk melakukan tugasnya. Sebuah service biasanya tidak memiliki interface user grafis dan bekerja tanpa interaksi user. Layanan yang paling terkenal adalah server web, email, atau database tertentu, misalnya apache, MySQL, dan banyak lainnya. Tetapi juga deteksi perangkat keras atau integrasi otomatis (pemasangan) stik USB, misalnya, dilakukan oleh service.

Pada prinsipnya, ada dua jenis service: internal, untuk tugas yang relevan atau terkait perangkat keras saat sistem dimulai, dan service lainnya yang kemudian diinstal oleh user, yang biasanya mencakup semua service server. Dalam istilah teknis atau jargon komputer, service juga secara tradisional disebut sebagai daemon. Oleh karena itu, huruf ‘d’ sering digunakan sebagai huruf terakhir dalam program untuk menunjukkan beberapa service, seperti ketika komponen server sshd dari SSH atau mysqld dari MySQL.

Sedangkan Systemd adalah sistem dan pengelola sesi (init system) yang bertanggung jawab untuk mengelola semua service yang berjalan di sistem selama seluruh waktu pengoperasian komputer, mulai dari proses start-up hingga shutdown. Proses selalu dimulai secara paralel (sejauh mungkin) untuk menjaga proses boot sesingkat mungkin. Sekarang, ketika kita membuat file konfigurasi yang diakhiri dengan.service dan menyimpan kode tentang proses yang dikendalikan dan diawasi oleh Systemd ; dikenal sebagai file Unit Layanan Systemd. Unit dibuat untuk service, timer, titik pemasangan, soket, ruang swap, dan perangkat, misalnya.

Oleh karena itu, systemd mendapatkan semua default dan pengaturan untuk administrasi dari file, dalam terminologi systemd, ini adalah “unit”. Perbedaan dibuat antara unit yang berlaku di seluruh sistem dan unit yang hanya berlaku untuk area user masing-masing.

Ada berbagai jenis unit seperti unit service untuk memulai service atau unit pengatur waktu untuk eksekusi (berulang) suatu tindakan pada titik waktu tertentu. Semua jenis file unit memiliki kesamaan bahwa mereka memiliki struktur yang mirip dengan file ini. Mereka terdiri dari beberapa bagian (dalam kebanyakan kasus tiga), disebut dalam systemd dikenal sebagai “bagian”, di mana serangkaian pasangan kunci-nilai, dalam systemd disebut “direktif”, disimpan.

Garis komando

Alat untuk mengelola systemd pada command line atau di terminal disebut systemctl. Sebagian besar perintah mengintervensi secara mendalam dalam sistem dan oleh karena itu memerlukan hak root, oleh karena itu perintah ini harus dijalankan di bawah hak sudo untuk melakukan operasi yang diperlukan.

Log

systemd menulis informasi log ke jurnal pusat. Ini dapat dibaca dengan bantuan journalctl, termasuk opsi pencarian dan filter.

unit seluruh sistem

usr/lib/systemd/system : Di sinilah semua file unit yang telah diinstal sebelumnya di seluruh sistem oleh service berada. /etc/systemd/system : Semua file unit seluruh sistem yang dibuat atau diedit oleh user berada di sini. Hak root diperlukan untuk ini. Jika ada file unit di bawah /etc/systemd/system dengan nama yang sama seperti di bawah usr/lib/systemd/system, preferensi diberikan kepada yang dari /etc systemd/system, yaitu mereka dimuat oleh sistem.

Jenis unit

Ada berbagai jenis unit, yang ditangani secara berbeda oleh systemd tergantung pada ekstensi nama file:

Jenis

keterangan

.perangkat

Membuat file perangkat

.Gunung

Memasang dan melepas sistem file

.jalur

Jalankan unit service tergantung pada perubahan ke file atau direktori

.jaringan

Untuk konfigurasi jaringan

.melayani

Untuk service

.stopkontak

Membangun koneksi antar proses

.target

Mendefinisikan sekelompok unit

.timer

Untuk tugas-tugas berulang, mirip dengan cron pekerjaan

Di sini kita berbicara tentang.Layanan Satuan

Buat unit Sederhana Anda sendiri atau file service systemd

Katakanlah, Anda ingin menjalankan beberapa skrip atau perangkat lunak di latar belakang dengan boot sistem. Maka untuk itu, kita perlu membuat sebuah unit service. Sintaks untuk itu diberikan di sini:

sudo nano /usr/lib/systemd/system/ nama file.service

atau

sudo nano /etc/systemd/system/ file-name.service

Ganti- nama file dengan nama yang ingin Anda berikan Tempel blok teks yang diberikan di bawah ini:

[Unit] Description = service untuk apa After = network.target [Service] ExecStart = path ke file/script yang harus dijalankan [Install] WantedBy = multi-user.target

Ubah item tebal di blok kode di atas dan Simpan file- tekan Ctrl+X, ketik- Y, dan tekan tombol Enter. Misalnya: Jika kita ingin membuat file service untuk alat pemantauan Glances Linux agar berjalan di latar belakang, langkah-langkah di atas akan seperti ini:

sudo nano /usr/lib/systemd/system/glances.service

Rekatkan blok teks yang diberikan di bawah ini:

[Unit] Deskripsi = Sekilas dalam Mode Server Web Setelah = network.target [Layanan] ExecStart = /usr/bin/glances -w -t 5 [Install] WantedBy = multi-user.target

Simpan file- tekan Ctrl+X, ketik Y, lalu tekan tombol Enter.

Penjelasan:

[Install]:

Di bagian “[Instal]”, kunci WantedBy menentukan kapan unit dimulai. Nilai yang berbeda dimungkinkan:

Target

keterangan

multi-user.target

untuk sistem multi-user, dengan atau tanpa login grafis (sesuai dengan runlevel 3)

grafis.target

untuk sistem multi-user yang harus memiliki interface login grafis (sesuai dengan runlevel 3 plus login grafis)

penyelamatan.target

Mode user tunggal biasanya hanya diperlukan untuk penyelamatan sistem (sesuai dengan runlevel 1)

reboot.target

Unit hanya dijalankan ketika sistem di-restart

matikan.target

Unit hanya berjalan ketika sistem mulai dimatikan

default.target

Ini default.target tidak “nyata” target, namun symbolic link ke yang lain, yang sebenarnya sudah ada sasaran. Dalam instalasi standar desktop Ubuntu, default.target ini adalah graphics.target.

Aktifkan unit service sistem yang dibuat secara manual

Setelah Anda membuat file service menggunakan langkah-langkah yang diberikan di atas, maka kita juga perlu mengaktifkan dan memulainya. Untuk itu perintahnya adalah: Reload file service untuk menyertakan service baru.

sudo systemctl daemon-reload

Untuk Mengaktifkan dan memulai file service:

sudo systemctl memungkinkan nama file.service sudo systemctl mulai nama file.service sudo systemctl Status filemane.service

Ganti nama file dengan yang telah Anda berikan ke file service Anda. Misalnya, jika kita menggunakan service kilasan yang dibuat di atas, untuk mengaktifkannya perintahnya adalah sudo systemctl aktifkan kilasan.service