Saya perlu menentukan urutan boot untuk memulai proses. Saya memiliki 389 Server Direktori dan Samba yang berjalan di Fedora 18. Bagaimana saya bisa menjalankan layanan jaringan, kemudian 389 DS, lalu Samba? Apakah ada GUI untuk mengelola ini di Fedora?
Saya telah mengaktifkan Samba untuk memulai systemctl enable smb.service
. Saya juga telah mengaktifkan 389 DS dengan systemctl enable dirsrv.target
.
Jawaban:
Gunakan
systemctl edit smb.service
untuk memperbarui dependensi.After=dirsrv.target
- Akan memastikan layanan smb.server dimulai setelah dirsrv.target.Untuk ketahanan, (yang akan bernilai saat Anda mengutak-atik hal ini) Anda mungkin juga ingin menyertakan beberapa hal berikut:
Requires=dirsrv.target
- Aktifkan dirsrv.target ketika smb.service diaktifkan. Akan menyebabkan smb.service gagal jika dirsrv.target gagal.Wants=dirsrv.target
- Aktifkan dirsrv.target ketika smb.service diaktifkan. Tidak akan menyebabkan layanan seseorang gagal jika dirsrv.target gagal.BindsTo=dirsrv.target
- Jika dirsrv.target dinonaktifkan, nonaktifkan layanan smb.Sumber: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
menyediakan GUI untuk systemd. Memberikan pandangan yang baik tentang status systemd tetapi Anda masih harus menggunakan editor teks untuk memodifikasi file unit.sumber
/usr/lib/systemd
versi file unit kecuali Anda adalah seorang pengelola distro atau Anda menikmati file Anda ditimpa pada setiap pembaruan paket. Salin file unit ke dalam/etc/systemd
dan kemudian edit, atau gunakan file drop-in (lihat systemd.unit (5) untuk detailnya). Lebih mudah lagi, cukup gunakansystemctl edit smb.service
yang melakukan drop-in file magic secara otomatis!Lakukan dua hal:
Edit
/lib/systemd/system/smb.service
file unit, untuk menentukan ketergantungan. The[unit]
Bagian berisiAfter=
garis yang menentukan layanan apa / target harus dicapai sebelum ini.Ubah ke:
Laporkan ketergantungan ini kembali ke Fedora sebagai bug , sehingga dapat dimasukkan dalam rilis mendatang.
sumber
unit
file, Anda biasanya harus menjalankansystemctl daemon-reload
Anda mungkin perlu mengubah atau memasukkan baris dengan
Requires
arahan di[Unit]
bagian/usr/lib/systemd/system/smb.service
file.dan
sumber
Ada dua alternatif untuk memodifikasi file layanan di
/usr/lib/systemd/system
(lihat Contoh 2. Mengesampingkan pengaturan vendor ):Salin file ke
/etc/systemd/system
dan lakukan modifikasi pada salinan. File ini akan sepenuhnya menimpa file di/usr/lib
.Buat file
/etc/systemd/system/smb.service.d/local.conf
. Isi file harus seperti contoh di bawah ini. Ini selektif menimpa opsi "Membutuhkan" dan "Setelah" di file layanan yang disediakan vendor.Masing-masing (termasuk memodifikasi file dalam
/usr/lib
) menawarkan kelebihan dan kekurangan. Pilihan terbaik mungkin tergantung pada layanan dan sifat modifikasi.Meskipun mungkin berfungsi, tidak cukup hanya menambahkan opsi "Setelah" (lihat Opsi Bagian [Unit] ). "Setelah" mengontrol ketertiban, tetapi bukan ketergantungan. Jika
dirsrv.target
tidak dimulai dengan cara lain, menentukan pesanan tidak akan memulainya. Penggunaan opsi "Memerlukan" atau "Ingin" akan memaksadirsrv.target
untuk memulai.NB: Saya tidak tahu apakah pendekatan ini tersedia ketika pertanyaan ini awalnya diajukan.
sumber