Ağın yapılandırılmasını beklemek için bir başlangıç ​​işi çalışıyor. Ubuntu sunucusu 17.10


39

dizüstü bilgisayarıma ubuntu sunucuyu yeni kurdum ve dizüstü bilgisayar ethernet'e bağlı değilse veya wi-fi menzili içinde değilse açılışta her şey yolunda gidiyor "Bu iş için ağ için bekle "2 dakika kadar kalacak şekilde" yapılandırılabilir. Çevrimiçi çözümler aradım ve şunları denedim:

  • Ağ yöneticisini devre dışı bırak
  • /Etc/systemd/system.conf dosyasındaki zaman aşımı ayarlarını düzenleme
  • Systemd.networkd-wait-online.service işlevini devre dışı bırak

Bu çözümlerin hiçbiri benim için çalıştı. Herhangi bir olası düzeltme?


Bunlar düzeltmeler. Her değişiklikten sonra NM / systemd'i yeniden yüklediniz mi? Konfigürasyon dosyalarını sadece başlangıçta okurlar.
user535733

Evet systemctl daemon-reload kullandım, hala aynı sonuç
vlad27

Yanıtlar:


39

kullanım

systemctl disable systemd-networkd-wait-online.service

sistemin bir ağ bağlantısında beklemesini önlemek için çevrimiçi bekletme servisini devre dışı bırakmak ve

systemctl mask systemd-networkd-wait-online.service

Servisin başka bir servis tarafından istenirse başlamasını engellemek için (servisin simgesine bağlantı verilir /dev/null).


Bu bağlamda maskeleme ne demektir ?
Jaime Hablutzel 27.03

İşe yaradı. :) Burada ne yaptığımızı tarif edebilir misiniz? Sadece merak ediyorum.
SD.

3
@SD @ jaime-hablutzel Bir açıklaması için askubuntu.com/a/816378/445084 adresini ziyaret edinsystemctl mask . Uzun lafın kısası: bir servisin maskelenmesi /dev/null, başka bir servis için gerekli olması durumunda yeniden etkinleştirilmesini önleyerek yönlendirir .
timelmer

31

Sistem servisini maskelemeyin veya devre dışı bırakmayın.

Düzen /etc/netplan/01-netcfg.yamlve eklenti optional: trueher zaman mevcut olmayabilir herhangi cihazlara.

sudo netplan apply

1
Benim durumumda sadece tüm arayüzleri isteğe bağlı olarak ayarladıktan sonra çalıştı: true
duli

1
Bu, sistem hizmetini devre dışı bırakmaktan ne kadar üstündür?
Andreas Hartmann

Vmware'de Ubuntu 18.04 ile benim için karşılık gelen dosya /etc/netplan/50-cloud-init.yaml; isteğe bağlı ekleyerek: gerçek & yeniden başlatma çalıştı! İlgili konu: askubuntu.com/questions/1090631/… . Netplan ile ilgili bilgi: linux.com/learn/intro-to-linux/2018/9/… (DHCP'yi Yapılandırma)
Snidhi Sofpro

Bu benim için NetworkManager'ı devre dışı bırakıp netplan ile networkd kurduğum Ubuntu 18.04.03 LTS (Desktop) ile çalıştı, kdvm / qenu sanallaştırması için br0 ve dnsmaquerade ile önbellekleme dns. Yeni ayarlarımda neyin yanlış gittiğini bulamadı, ancak satın alımların isteğe bağlı olmadan 2 dakikadan fazla sürdüğü doğru: gerçek ayar. Bu ayar ile önyükleme normaldir ve bu yüzden ağda da işlevsellik vardır.
Reijo Korhonen

9

Bu systemd-networkd-wait-online.serviceasılı demektir . Bilinen birkaç hata var. Hangi servislerin ne istediğini kontrol edin network-online.target:

systemctl show -p WantedBy network-online.target

İsterseniz bu hizmetleri devre dışı bırakabilirsiniz. Aksi takdirde, hizmeti Mr.Ecco'nun belirtildiği gibi maskelemeniz gerekebilir .


2

Maskeleme systemd-networkd-wait-online.service, diğer cevaplarda önerildiği gibi, basit kurulumlarda yardımcı olabilir, ancak sorunu çözmez. Hizmeti maskeliyseniz, o zaman buna bağlı olarak diğer tüm servisler de başarısız olur. Bu, çevrimiçi oluncaya kadar beklemek için gereken tüm hizmetlerin başarısız olacağı anlamına gelir.

Ben fail-over ile benim dizüstü bilgisayarlar için kurulum bir dinamiği kullanmak çünkü bu sorun çıkıyor bağ ana arayüzü için köle olarak kullanılan kablolu (enp9s0) ve kablosuz (wlp12s0) arayüzüne bond0 . Tam olarak aynı durum, eğer bir köprü kullanırsanız ( köle arayüzlü br0 ). Yalnızca ana0 bond0 veya br0 arayüzleri çevrimiçine geçecek ancak köleler değil, köleler systemd-networkd-wait-online.serviceüzerinde başarısız olacaktır.

Bu sorunun çözümü hizmeti değiştirmek ve yalnızca çevrimiçi olması gereken arayüzleri kontrol etmektir. Ile bulacaksınız:

~$ sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes

Program systemd-networkd-wait-online belirli arayüzleri test etmek için bir parametreye sahiptir. İle kontrol edin /lib/systemd/systemd-networkd-wait-online --help. Bu yüzden hizmeti değiştirmek için bir damla dosya açtım:

~$ sudo systemctl edit systemd-networkd-wait-online.service

Boş düzenleyicide, bu ifadeleri, elbette arayüzünüzle birlikte ekleyin, onları editörden çıkın:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

Boş ExecStart=, "eski" komutunu devre dışı bıraktığı için önemlidir. Arabirimden daha fazlasını kontrol edebilirsiniz (yardıma bakın).


Mükemmel, çok iyi bir cevap, bu benim
sorunumdu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.