Jak zmienić limit czasu w systemctl


14

Kiedy uruchamiam system Debian, jego uruchomienie zawiesza się na około 2 minuty w linii:

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)

W końcu rezygnuje z podniesienia interfejsu sieciowego i kontynuuje uruchamianie.

Pytanie: Jak mogę zmienić używany limit czasu systemctl, aby po 15 sekundach przestał próbować podnieść interfejs sieciowy?

Informacje dodatkowe: źródłem problemu jest użycie klucza USB Wi-Fi na tym komputerze. Czasami klucz jest, a czasem nie. Kiedy klucz sprzętowy nie jest podłączony, oczekuję, że interfejs sieciowy nie zostanie podniesiony i po prostu nie chcę czekać zbyt długo.

Odpowiedzi:


9

Miałem podobny problem i drapałem się po braku wyników Google (po kilkukrotnym skończeniu na tej stronie), więc postanowiłem po prostu przeczytać, jak tusystemd działa .

W końcu doszedłem do wniosku, że networkingtak naprawdę jest to skrypt inicjujący SysV ( /etc/init.d/networking), który jest konwertowany na systemdusługę w czasie wykonywania ( /run/systemd/generator.late/networking.service), więc nie można po prostu modyfikować istniejącego skryptu.

Zamiast tego musisz zastąpić go plikiem np. /etc/systemd/system/networking.service.d/reduce-timeout.confW twoim przypadku zawierającym:

[Service]
TimeoutStartSec=15

7

W systemie z systemem Debian Jessie byłem w stanie dołączyć następujący kod do pliku znajdującego się na /lib/systemd/system/networking.service.d/network-pre.conf

[Service]
TimeoutStartSec=15

Zmieniło to „brak limitu” na limit 15 sekund, dzięki czemu system uruchamia się znacznie szybciej, jeśli sieć zostanie odłączona.

Utworzenie pliku w /etc/systemd/system/networking.service.d/nie miało żadnego wpływu na ten system, więc edytowałem istniejący plik w /lib/systemd/system/networking.service.d/. Jeśli ten katalog jest pusty, utworzenie nowego pliku .conf z powyższym kodem powinno działać.

Nie jestem pewien, dlaczego tak jest inaczej, czy jest to nawet właściwy sposób skonfigurowania takiej rzeczy.


to rozwiązanie również działało dla mnie. Przyjęty nie.
Moritz

AFAIK /lib/systemd/...jest przeznaczony do oryginalnych skryptów i /etc/systemd/...do zastępowania lokalnego, więc nie jestem pewien, dlaczego to nie działa. Jestem też na Jessie.
DuBistKomisch

/lib/systemd/system/networking.servicezawarte w odcinku limit czasu 5 minut !!
Philippe Gachoud

5

Miałem podobny problem i okazało się, że mój system próbował połączyć się z Wi-Fi. Moje rozwiązanie polegało na zmianie tej linii w / etc / network / interfaces:

auto wlan0

do:

allow-hotplug wlan0

działało to dobrze dla mojej płyty Asus P5Q, która ma cztery karty sieciowe (ciężko stwierdzić, która z czterech jest przypisana jako eth0). Zmieniłem auto eth0na allow-hotplug eth0\ n allow-hotplug eth1\ n allow-hotplug eth2\ nallow-hotplug eth3
Cauterite

1

Jest to problem w skryptach sieciowych Debiana - najwyraźniej czekają na pojawienie się wszystkich interfejsów i nie mają pojęcia „dynamicznie pojawiających się” interfejsów (podobnie jak systemd-networkdrobi).

Masz dwa rozwiązania. Pierwszym rozwiązaniem jest ograniczenie limitu czasu konfiguracji. Jednak, jak widać z opublikowanego wyniku ( ...38s / no limit), systemd nie nakłada żadnych limitów czasu na uruchomienie sieci. Jest to więc coś, co musisz skonfigurować w samych skryptach specyficznych dla Debiana.

Drugim rozwiązaniem jest użycie bardziej nowoczesnych narzędzi do konfiguracji sieci (takich jak NetworkManager), które obsługują dynamicznie pojawiające się interfejsy. Pamiętaj, że systemd-networkdnie przyda się tutaj wiele, ponieważ nie ma zintegrowanej obsługi sieci WLAN.


Dziękuję intelfx za twoją odpowiedź. Czy wiesz, jak skonfigurować limit czasu w systemdskryptach specyficznych dla Debiana? Każdy wskaźnik do jakiegoś rozwiązania byłby bardzo wdzięczny! (Spędziłem dużo czasu na googlowaniu i empirycznym bałaganiu się z opcjami bez powodzenia do tej pory)
Jealie

@Jealie: Nigdy nie korzystałem z Debiana ani jego pochodnych, więc nie mogę ci pomóc, przepraszam. Byłoby lepiej, gdybyś dodał tag „debian” do swojego pytania, ale odrzuciłeś moją edycję, która sugerowała dokładnie tę zmianę ...
intelfx

@Jealle: Ach, hm, musiałem coś źle odczytać ... przepraszam.
intelfx
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.