如何修复Arch Linux中的"NetCtl服务失败的作业"错误

时间:2020-03-21 11:43:53  来源:igfitidea点击:

有时,我将Tablet PC配置为WiFi Hotspot以在My Arch Linux桌面中使用Internet。
昨天,我用无线网卡的设置搞砸了,我的热点停止了工作。
我能够与主机连接,但互联网在我的Arch Linux桌面上没有工作。
我尝试使用命令启动我的WiFi网络配置文件:

$sudo netctl start wlp9s0-sktab

其中WLP9S0-SKTAB是我的WiFi网络配置文件名称。
我尝试启动网络配置文件时收到以下错误消息。

Job for Hyman@theitroad\x2dsktab.service failed because the control process exited with error code.
See "systemctl status "Hyman@theitroad\x2dsktab.service"" and "journalctl -xe" for details.

在搜索Arch Linux Wiki时,有人指出,如果我们在网络配置文件中使用连字符,可能会出现此问题。
所以,我删除了我的旧WiFi网络配置文件(即WLP9S0-Sktab):

$sudo rm /etc/netctl/wlp9s0-sktab

然后使用"Wifi-Menu"命令创建一个名称"WLP9S0SKTAB"(无连字符)的新一个。
但是,没运气!我仍然有同样的问题,互联网不起作用。

我运行了以下命令以了解我的WiFi网络配置文件的状态。

$sudo netctl status wlp9s0sktab

其中WLP9S0SKTAB是我的WiFi热点名称。

示例输出:

● Hyman@theitroad - Automatically generated profile by wifi-menu
 Loaded: loaded (/etc/systemd/system/Hyman@theitroad; enabled; vendor preset: disabled)
 Active: failed (Result: exit-code) since Sun 2016-03-12 12:25:25 IST; 1min 40s ago
 Docs: man:netctl.profile(5)
 Process: 390 ExecStart=/usr/lib/network/network start %I (code=exited, status=1/FAILURE)
 Main PID: 390 (code=exited, status=1/FAILURE)
Mar 12 12:25:24 sk systemd[1]: Starting Automatically generated profile by wifi-menu...
Mar 12 12:25:25 sk network[390]: Starting network profile 'wlp9s0sktab'...
Mar 12 12:25:25 sk network[390]: The interface of network profile 'wlp9s0sktab' is already up
Mar 12 12:25:25 sk systemd[1]: Hyman@theitroad: Main process exited, code=exited, status=1/FAILURE
Mar 12 12:25:25 sk systemd[1]: Failed to start Automatically generated profile by wifi-menu.
Mar 12 12:25:25 sk systemd[1]: Hyman@theitroad: Unit entered failed state.
Mar 12 12:25:25 sk systemd[1]: Hyman@theitroad: Failed with result 'exit-code'.While searching through Arch Wiki, someone has pointed out that we shouldn't hypen (-) in network profile name. So, Have deleted the existing network profile as shown below.

我不知道我在网络设置中错误配置了什么。
在Arch Linux论坛中dig掘一点点后,我发现Systemd会导致这个问题。
我正在测试和配置本地DHCP服务器,因此我已启用DHCPCD.Service。
这就是我的WiFi热点不起作用的原因。
如果我们遇到过此问题,请遵循以下步骤以修复它。

如何修复Arch Linux中的"NetCtl服务失败的作业"错误

使用命令禁用dhcpcd.service:

$sudo systemctl stop dhcpcd.service
$sudo systemctl disable dhcpcd.service

接下来,删除旧的DHCP租约。
以下目录包含所有DHCP租赁。

$ls /var/lib/dhcpcd/

示例输出:

dhcpcd-enp0s29u1u2.lease dhcpcd-wlp9s0-BlNi-QWtzaHU.lease
 dhcpcd-enp5s0.lease dhcpcd-wlp9s0-Buew-c3VkaGFu.lease
 dhcpcd-wlp9s0-AFFLIENCE.lease dhcpcd-wlp9s0-BVof-QWJp.lease
 dhcpcd-wlp9s0-AFFLIENCE.lease6 'dhcpcd-wlp9s0-theitroad0Tech0Service.lease'
 dhcpcd-wlp9s0-AndroidAP.lease 'dhcpcd-wlp9s0-theitroad0Tech0Service.lease6'
 dhcpcd-wlp9s0-B12B-amFjb2Jzb3duZGFyMw.lease dhcpcd-wlp9s0-Dev9376.lease
 dhcpcd-wlp9s0-Bcof-R2luZW91cw.lease dhcpcd-wlp9s0-Dev9376.lease6
 dhcpcd-wlp9s0-Bed6-cmFteWE.lease dhcpcd-wlp9s0-theitroad.lease
 dhcpcd-wlp9s0-BGD4-cmVudWdhcmFndW5hdGhhbg.lease dhcpcd-wlp9s0-Pratheesh.lease
 dhcpcd-wlp9s0-BGec-TGVub3ZvIEs1MGE0MA.lease dhcpcd-wlp9s0-Raja.lease
 dhcpcd-wlp9s0-BgXq-QWtzaHU.lease dhcpcd-wlp9s0-sktab.lease
 dhcpcd-wlp9s0-BJNQ-bWFkaGFubGF2YTk1.lease dhcpcd-wlp9s0-Sklab.lease
 dhcpcd-wlp9s0-BKTt-RWxh.lease dhcpcd-wlp9s0-mynet.lease

只需删除它们中的所有或者删除首选DHCP租约。

我删除了我的WIF网络配置文件的所有DHCP租赁,如下所示。

$sudo rm -fr /var/lib/dhcpcd/dhcpcd-wlp9s0*

然后,使用命令从SystemD删除所有不必要的和先前启用的服务:

$sudo rm /etc/systemd/system/multi-user.target.wants/netctl*

最后,删除所有连接的WiFi网络配置文件。
我们可能知道,所有网络配置文件都将在/etc/netctl /目录下找到。

$sudo rm -fr /etc/netctl/wlp9s0*

重新启动系统。

登录后,为WiFi网络创建新的网络配置文件。

为此,运行:

$sudo wifi-menu

选择WiFi网络名称:

避免在WiFi网络名称中使用连字符。
单击"确定"以保存配置文件。

现在,使用命令检查新创建的WiFi网络配置文件的状态:

$sudo netctl status wlp9s0sktab

示例输出:

● Hyman@theitroad - Automatically generated profile by wifi-menu
 Loaded: loaded (/etc/systemd/system/Hyman@theitroad; static; vendor preset: disabled)
 Active: active (exited) since Sun 2016-03-12 13:26:33 IST; 2min 20s ago
 Docs: man:netctl.profile(5)
 Process: 851 ExecStart=/usr/lib/network/network start %I (code=exited, status=0/SUCCESS)
 Main PID: 851 (code=exited, status=0/SUCCESS)
 Tasks: 2 (limit: 4915)
 CGroup: /system.slice/system-netctl.slice/Hyman@theitroad
 ├─860 wpa_supplicant -q -B -P /run/wpa_supplicant_wlp9s0.pid -i wlp9s0 -D nl80211,wext -c/run/network/wpa_supplicant_wlp9s0
 └─909 dhcpcd -4 -q -t 30 -L wlp9s0
Mar 12 13:26:24 sk network[851]: Starting network profile 'wlp9s0sktab'...
Mar 12 13:26:26 sk dhcpcd[903]: DUID 00:01:00:01:20:57:b7:1b:c0:18:85:50:47:4f
Mar 12 13:26:26 sk dhcpcd[903]: wlp9s0: IAID 85:50:47:4f
Mar 12 13:26:27 sk dhcpcd[903]: wlp9s0: rebinding lease of 192.168.43.193
Mar 12 13:26:27 sk dhcpcd[903]: wlp9s0: probing address 192.168.43.193/24
Mar 12 13:26:32 sk dhcpcd[903]: wlp9s0: leased 192.168.43.193 for 43200 seconds
Mar 12 13:26:32 sk dhcpcd[903]: wlp9s0: adding route to 192.168.43.0/24
Mar 12 13:26:32 sk dhcpcd[903]: wlp9s0: adding default route via 192.168.43.1
Mar 12 13:26:33 sk network[851]: Started network profile 'wlp9s0sktab'
Mar 12 13:26:33 sk systemd[1]: Started Automatically generated profile by wifi-menu.

如果Internet仍然无法在系统上运行,则需要更新/etc/resolv.conf文件中的名称服务器详细信息。