Solusi 1:
Gunakan systemctl edit smb.service untuk memperbarui dependensi.
After=dirsrv.target - Akan memastikan smb.service dimulai setelah dirsrv.target.
Untuk kekokohan, (yang akan bermanfaat jika Anda mengutak-atik hal ini), Anda mungkin juga ingin menyertakan beberapa hal berikut:
Requires=dirsrv.target - Aktifkan dirsrv.target saat smb.service diaktifkan. Akan menyebabkan smb.service gagal jika dirsrv.target gagal.
Wants=dirsrv.target - Aktifkan dirsrv.target saat smb.service diaktifkan. Tidak akan menyebabkan smb.service gagal jika dirsrv.target gagal.
BindsTo=dirsrv.target - Jika dirsrv.target dinonaktifkan, nonaktifkan smb.service.
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 mengubah file unit.
Solusi 2:
Lakukan dua hal:
-
Edit
/lib/systemd/system/smb.servicefile unit, untuk menentukan ketergantungan.[unit]bagian berisiAfter=baris yang menentukan layanan/target apa yang harus dicapai sebelum layanan ini.After=syslog.target network.target nmb.service winbind.serviceUbah ke:
After=dirsrv.target syslog.target network.target nmb.service winbind.service -
Laporkan ketergantungan ini kembali ke Fedora sebagai bug, sehingga dapat disertakan dalam rilis mendatang.
Solusi 3:
Anda mungkin perlu mengubah atau menyertakan baris dengan Requires direktif dalam [Unit] bagian dari /usr/lib/systemd/system/smb.service berkas.
Requires=dirsrv.target
dan
After=dirsrv.target
Solusi 4:
Ada dua alternatif untuk memodifikasi file layanan di /usr/lib/systemd/system (lihat Contoh 2. Mengesampingkan setelan vendor):
-
Salin file ke
/etc/systemd/systemdan lakukan modifikasi pada salinannya. 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 secara selektif menimpa opsi "Membutuhkan" dan "Setelah" di file layanan yang disediakan vendor.
Masing-masing (termasuk memodifikasi file di /usr/lib ) menawarkan keuntungan dan kerugian. Pilihan terbaik mungkin bergantung pada layanan dan sifat modifikasi.
Meskipun mungkin berhasil, tidak cukup hanya menambahkan opsi "Setelah" (lihat Opsi Bagian [Unit]). "Setelah" mengontrol urutan, tetapi bukan dependensi. Jika dirsrv.target tidak dimulai dengan cara lain, menentukan pesanan tidak akan memulainya. Penggunaan opsi "Requires" atau "Wants" akan memaksa dirsrv.target untuk memulai.
[Unit]
Requires=dirsrv.target
After=dirsrv.target
NB:Saya tidak tahu apakah pendekatan ini tersedia saat pertanyaan ini awalnya diajukan.