正在为 eth0 运行启动作业

正在为 eth0 运行启动作业

我正在使用新安装的 Arch Linux,每当我启动系统时,我都必须等待 90 秒,因为我的网络接口正在运行启动作业。

我昨天安装了 Arch,每当我安装时,ip a我都会发现以太网接口处于DOWN状态。我使用有线 USB 系绳来完成整个安装。我只想在启动时删除启动作业进程。我在 Arch 社区的某个地方看到了一个解决方案,我必须使用以下方法禁用我的界面:

# systemctl disable dhcpcd@interface_name

我还没有这样做。我的问题是,如果我禁用该接口,将来会不会造成任何问题?我现在没有使用任何 LAN 连接。如果将来我想使用 LAN 或某种以太网连接,会不会造成任何问题?

输出uname -a

[siddharth@brightprogrammer ~]$ uname -a
Linux brightprogrammer 4.19.26-1-lts #1 SMP Wed Feb 27 16:06:52 CET 2019 x86_64 GNU/Linux

输出ip a

[siddharth@brightprogrammer ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 80:fa:5b:5b:9e:47 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 94:b8:6d:c9:57:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.201/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 2153sec preferred_lft 2153sec
    inet6 2405:205:a061:4977:348c:2fe2:102:47ac/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::614a:460c:ff14:9caa/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

输出find /etc/systemd

[siddharth@brightprogrammer ~]$ find /etc/systemd
/etc/systemd
/etc/systemd/journald.conf
/etc/systemd/coredump.conf
/etc/systemd/sleep.conf[siddharth@brightprogrammer ~]$ systemd-analyze

启动完成时间为 5.369s(固件)+ 1.785s(加载程序)+ 5.214s(内核)+ 1min 33.882s(用户空间)= 1min 46.252s 图形化。在用户空间 1min 33.882s 后达到目标

/etc/systemd/journal-remote.conf
/etc/systemd/system.conf
/etc/systemd/timesyncd.conf
/etc/systemd/journal-upload.conf
/etc/systemd/networkd.conf
/etc/systemd/system
/etc/systemd/system/getty.target.wants
/etc/systemd/system/getty.target.wants/[email protected]
/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
/etc/systemd/system/bluetooth.target.wants
/etc/systemd/system/bluetooth.target.wants/bluetooth.service
/etc/systemd/system/multi-user.target.wants
/etc/systemd/system/multi-user.target.wants/NetworkManager.service
/etc/systemd/system/multi-user.target.wants/[email protected]
/etc/systemd/system/multi-user.target.wants/wicd.service
/etc/systemd/system/multi-user.target.wants/[email protected]
/etc/systemd/system/multi-user.target.wants/remote-fs.target
/etc/systemd/system/network-online.target.wants
/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
/etc/systemd/system/dbus-org.bluez.service
/etc/systemd/system/dbus-org.wicd.daemon.service
/etc/systemd/system/display-manager.service
/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
/etc/systemd/logind.conf
/etc/systemd/user
/etc/systemd/user/sockets.target.wants
/etc/systemd/user/sockets.target.wants/p11-kit-server.socket
/etc/systemd/user/sockets.target.wants/pipewire.socket
/etc/systemd/user/sockets.target.wants/gpg-agent.socket
/etc/systemd/user/sockets.target.wants/dirmngr.socket
/etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket
/etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket
/etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket
/etc/systemd/user/sockets.target.wants/pulseaudio.socket
/etc/systemd/user/default.target.wants
/etc/systemd/user/default.target.wants/xdg-user-dirs-update.service
/etc/systemd/user.conf
/etc/systemd/network
/etc/systemd/resolved.conf


输出systemd-analyze

[siddharth@brightprogrammer ~]$ systemd-analyze
Startup finished in 5.369s (firmware) + 1.785s (loader) + 5.214s (kernel) + 1min 33.882s (userspace) = 1min 46.252s
graphical.target reached after 1min 33.882s in userspace


输出systemd-analyze critical-analyze

[siddharth@brightprogrammer ~]$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.

graphical.target @1min 33.882s
└─gdm.service @1min 33.615s +265ms
  └─systemd-user-sessions.service @1min 33.503s +110ms
    └─network.target @1min 33.501s
      └─wpa_supplicant.service @15.761s +638ms
        └─basic.target @11.036s
          └─sockets.target @11.036s
            └─dbus.socket @11.036s
              └─sysinit.target @11.028s
                └─systemd-backlight@backlight:intel_backlight.service @14.008s >
                  └─system-systemd\x2dbacklight.slice @14.006s
                    └─system.slice @2.915s
                      └─-.slice @2.915s


输出systemd-analyze blame

[siddharth@brightprogrammer ~]$ systemd-analyze blame
         11.692s [email protected]
         11.692s [email protected]
          6.472s lvm2-monitor.service
          4.616s wicd.service
          3.222s systemd-journal-flush.service
          3.188s NetworkManager.service
          2.719s bluetooth.service
          2.711s systemd-logind.service
          1.395s systemd-sysusers.service
          1.216s systemd-udevd.service
          1.213s ldconfig.service
           981ms udisks2.service
           971ms polkit.service
           649ms [email protected]
           638ms wpa_supplicant.service
           600ms systemd-modules-load.service
           526ms systemd-tmpfiles-setup.service
           501ms systemd-tmpfiles-setup-dev.service
           493ms upower.service
           487ms systemd-udev-trigger.service
           464ms systemd-journald.service
           371ms systemd-journal-catalog-update.service
           338ms systemd-sysctl.service
           268ms colord.service
           265ms gdm.service
           260ms kmod-static-nodes.service
           238ms dev-sda2.swap
           236ms accounts-daemon.service
           142ms systemd-random-seed.service
           135ms systemd-backlight@backlight:intel_backlight.service
           110ms systemd-user-sessions.service
            91ms [email protected]
            81ms systemd-update-utmp.service
            54ms systemd-remount-fs.service
            48ms sys-kernel-debug.mount
            35ms systemd-tmpfiles-clean.service
            28ms dev-hugepages.mount
            26ms [email protected]
            25ms sys-kernel-config.mount
            16ms [email protected]
            15ms dev-mqueue.mount
             9ms rtkit-daemon.service
             6ms systemd-update-done.service
             4ms systemd-rfkill.service
             3ms sys-fs-fuse-connections.mount
             2ms tmp.mount


和 的输出:systemctl status [email protected]dhcpcd@enp1s0f1

[siddharth@brightprogrammer ~]$ sudo systemctl status [email protected][email protected] - dhcpcd on eth0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor pre>
   Active: inactive (dead)

Mar 05 09:42:42 brightprogrammer systemd[1]: Dependency failed for dhcpcd on eth0.
Mar 05 09:42:42 brightprogrammer systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.

[siddharth@brightprogrammer ~]$ sudo systemctl status [email protected][email protected] - dhcpcd on enp1s0f1
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; vendor pr>
   Active: inactive (dead)

我最近禁用了 enp1s0f1。这可能是它被禁用的原因。

我还可以提供 的输出,journalctl -xe但是非常大!我还怀疑我的和我的dhcpcd之间存在某种混淆eth0enp1s0f1

答案1

我想说,您所看到的问题很可能与[email protected]您的系统上的配置有关。所以我的建议是禁用它,希望这足以使启动期间的超时消失:

$ sudo systemctl disable dhcpcd@eth0

我将仔细研究支持这一主张的证据。此处可以进行更多故障排除,我将建议更多步骤(如果您想进一步了解或将来解决类似问题)。

该问题的主要证据是输出消息,systemctl status dhcpcd@eth0其中显示:

Mar 05 09:42:42 brightprogrammer systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.

结果“依赖”失败意味着,在这种情况下,它正在等待其他失败的东西。该服务将依赖于该设备eth0.device,并且该设备不会出现,因此这可能是超时的原因。你可以看看systemctl status eth0.device是否有其他东西出现,有可能会出现(但是,也有可能不会出现。)

就像您在问题中提到的那样,系统中eth0的实际设备名称和实际设备名称之间可能存在混淆。 enp1s0f1systemd(更具体地说是 udevd)将重命名网络接口,为它们提供一致的名称,这通常会在启动初期发生(有时甚至在 systemd 启动之前),因此 systemd 将不再真正看到该eth0名称。

如果您希望将来在该接口上启用 DHCP,请dhcpcd@enp1s0f1改为启用。

的输出systemd-analyze critical-chain支持该服务超时的假设dhcpcd@eth0,您可以从这两个步骤中看到这一点:

└─network.target @1min 33.501s    
  └─wpa_supplicant.service @15.761s +638ms 

之后的时间@是启动后的时钟时间。该wpa_supplicant服务在 systemd 启动后 13 秒才启动,但network.target仅在 1 分 33 秒时才达到(大约是您所说的 90 秒)。

您可能会dhcpcd@eth0在这里更明确地看到,但该单元实际上进入“已加载”/“非活动”状态,而不是“失败”,因此这可能就是为什么它没有在这里(和在systemd-analyze blame)中突出列出的原因,这将有帮助指出它是罪魁祸首。

最后,在解决 systemd 启动问题时,通常最好的一个步骤是首先查看裸输出systemctl status,这将告诉您系统是否处于“降级”状态,这表明启动过程中出现了某些问题。您希望确保系统状态为“正在运行”,因此调查这些故障通常会发现超时等问题。

您可以通过查看 的输出从该点开始进行调查systemctl,该输出将列出所有活动单元及其状态,如果您在那里看到问题,请通过调查特定单元(使用systemctl status <unit>journalctl -u <unit>)进一步查看。命令systemctl --state=failed也可用于仅显示失败的单元单位。

最后,查一下期刊确实很有利于建立关联。命令journalctl -b显示自系统启动以来的日志,因此在启动过程中检查问题非常有用。如前所述,journalctl -u <unit>对于调查单个单元的日志很有用。

希望这些技巧能够帮助您更深入地挖掘和了解系统中发生的情况。还希望禁用它dhcpcd@eth0足以解决您遇到的启动延迟问题。

答案2

我最终通过为指定的配置文件(eth0)重新启用 systemd 单元解决了这个问题。

netctl reenable eth0

现在,重启后 90 秒的启动时间就会被清除。

答案3

问题是当您尚未配置网络(通常在全新安装后)但系统尝试启动整个网络内容时。在正确建立网络配置之前,只需禁用 systemd 用户会话和网络守护进程的依赖性。

来自:/usr/lib/systemd/system/systemd-user-sessions.service

部分:[单位]

行:之后=....

删除网络.target然后执行systemctl daemon-reload

相关内容