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.

Zazdrość
źródło

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
DuBistKomisch
źródło
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.

Proctoru2
źródło
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
tshepang
źródło
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.

intelfx
źródło
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