Ketika saya mem-boot sistem Debian saya, startup-nya macet selama kurang lebih 2 menit di telepon:
Loading, please wait...
[ 5.191043] systemd-fsck[129]: /dev/mmcblk0p2: clean, 234192/873120 files, 2335263/3491328 blocks
[ 6.645242] intel_rapl: no valid rapl domains found in package 0
[ 6.643682] systemd-fsck[222]: fsck.fat 3.0.27 (2014-11-12)
[ 6.664844] intel_rapl: no valid rapl domains found in package 0
[ 6.660702] systemd-fsck[222]: /dev/mmcblk0p1: 3 files, 33/130812 clusters
[ **] A start job is running for LSB: Raise network interf...38s / no limit)
Akhirnya, sistem ini menyerah untuk menaikkan antarmuka jaringan dan melanjutkan booting.
Pertanyaan: Bagaimana cara mengubah batas waktu yang digunakan di systemctl
, sehingga setelah 15 detik, ia berhenti mencoba menaikkan antarmuka jaringan?
Info tambahan: Sumber masalahnya adalah penggunaan dongle USB wifi pada mesin ini. Terkadang dongle ada di sana, terkadang tidak. Ketika dongle tidak dicolokkan, saya berharap antarmuka jaringan tidak akan dinaikkan, dan saya tidak ingin menunggu terlalu lama.
Saya mengalami masalah yang sama dan menggaruk-garuk kepala karena kurangnya hasil pencarian Google (setelah membuka halaman ini beberapa kali), jadi saya memutuskan untuk membaca cara kerja systemd
di sini.
Akhirnya saya menemukan bahwa networking
sebenarnya adalah skrip init SysV (/etc/init.d/networking
), yang dikonversi menjadi layanan systemd
pada saat runtime (/run/systemd/generator.late/networking.service
), sehingga Anda tidak bisa memodifikasi skrip yang sudah ada.
Sebaliknya, Anda harus menimpanya dengan sebuah file di misalnya /etc/systemd/system/networking.service.d/reduce-timeout.conf
, dalam kasus Anda yang berisi:
[Service]
TimeoutStartSec=15
Pada sistem yang menjalankan Debian Jessie, saya dapat menambahkan kode berikut ini ke berkas yang terletak di /lib/systemd/system/networking.service.d/network-pre.conf
[Service]
TimeoutStartSec=15
Ini mengubah 'tanpa batas ' menjadi batas 15 detik, membuat sistem melakukan booting lebih cepat jika jaringan terputus.
Membuat berkas di /etc/systemd/system/networking.d/
tidak memberikan efek apa pun pada sistem ini, jadi saya mengedit berkas yang ada di /lib/systemd/system/networking.d/
. Jika direktori ini kosong, buatlah berkas .conf baru dengan kode di atas.
Tidak yakin mengapa ini berbeda atau apakah ini adalah cara yang benar untuk mengkonfigurasi hal seperti itu.
Ini adalah masalah pada skrip jaringan Debian - skrip ini tampaknya menunggu semua antarmuka muncul dan tidak memiliki pengertian tentang antarmuka yang muncul secara dinamis (seperti halnya systemd-networkd
).
Anda memiliki dua solusi. Solusi pertama adalah mengurangi batas waktu konfigurasi. Namun, seperti yang dapat dilihat dari output yang telah Anda kirimkan (...38s / no limit
), systemd tidak memaksakan batas waktu pada startup jaringan. Jadi, ini adalah sesuatu yang perlu Anda konfigurasikan dalam skrip khusus Debian itu sendiri.
Solusi kedua adalah menggunakan alat yang lebih modern untuk mengkonfigurasi jaringan Anda (seperti NetworkManager) yang mendukung antarmuka yang muncul secara dinamis. Perhatikan bahwa systemd-networkd
tidak akan banyak berguna di sini karena tidak memiliki dukungan terintegrasi untuk jaringan WLAN.