《linux运维》之安装chrony.rpm后启动chronyd发生“Job for chronyd.service failed because the control process exite”

一、背景

安装chrony.rpm后启动chronyd发生“Job for chronyd.service failed because the control process exited with error code. See “systemctl status chronyd.service” and “journalctl -xe” for details.”的报错

二、研究报错原因

[root@localhost santi]# systemctl status chronyd.service
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2024-10-21 14:47:48 EDT; 1min 35s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 6031 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 6488 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=127)
 Main PID: 6026 (code=exited, status=0/SUCCESS)

Oct 21 14:47:48 localhost systemd[1]: Starting NTP client/server...
Oct 21 14:47:48 localhost chronyd[6488]: /usr/sbin/chronyd: error while loading shared libraries: libsec...tory
Oct 21 14:47:48 localhost systemd[1]: chronyd.service: control process exited, code=exited status=127
Oct 21 14:47:48 localhost systemd[1]: Failed to start NTP client/server.
Oct 21 14:47:48 localhost systemd[1]: Unit chronyd.service entered failed state.
Oct 21 14:47:48 localhost systemd[1]: chronyd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

问题显示“error while loading shared libraries: libsec…tory”但没有显示完毕,最后一句,“Hint: Some lines were ellipsized, use -l to show in full.”
因此可以通过“systemctl status chronyd.service -l”查看;

[root@localhost santi]# systemctl status chronyd.service -l
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2024-10-21 14:58:02 EDT; 7s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 6031 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 6995 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=127)
 Main PID: 6026 (code=exited, status=0/SUCCESS)

Oct 21 14:58:02 localhost systemd[1]: Starting NTP client/server...
Oct 21 14:58:02 localhost chronyd[6995]: /usr/sbin/chronyd: error while loading shared libraries: libseccomp.so.2: cannot open shared object file: No such file or directory
Oct 21 14:58:02 localhost systemd[1]: chronyd.service: control process exited, code=exited status=127
Oct 21 14:58:02 localhost systemd[1]: Failed to start NTP client/server.
Oct 21 14:58:02 localhost systemd[1]: Unit chronyd.service entered failed state.
Oct 21 14:58:02 localhost systemd[1]: chronyd.service failed.

显示“/usr/sbin/chronyd: error while loading shared libraries: libseccomp.so.2: cannot open shared object file: No such file or directory”,没有找到libseccomp.so.2这个库依赖文件。

也可以通过“journalctl -xe”查看问题。

三、解决方案

1)本主机没有libseccomp.so.2文件

当本主机没有该文件时,可从别的主机复制libseccomp.so.2文件,放置在/home/user/下;
并在在root下cp将文件传到/usr/lib64/目录下,这样属主和所在组为root,方法有效

2)本主机有libseccomp.so.2文件

当本主机有该文件时,也需要在root下cp将文件传到/usr/lib64/目录下,这样属主和所在组为root,方法有效

3)手动更改libseccomp.so.2文件属性

补充操作,但手动更改属主,所在组和操作权限结果测试会失败

[root@localhost santi]# mv libseccomp.so.2 /usr/lib64/

# 查看拥有者和所属组
[root@localhost lib64]# ll | grep libseccomp.so.2 
-rw-rw-r--.  1 santi santi  266688 Oct 21 15:13 libseccomp.so.2

# 更改拥有者
[root@localhost lib64]# chown root libseccomp.so.2
[root@localhost lib64]# 
[root@localhost lib64]# ll | grep libseccomp.so.2 
-rw-rw-r--.  1 root santi  266688 Oct 21 15:13 libseccomp.so.2
[root@localhost lib64]# 

# 更改所属组
[root@localhost lib64]# chgrp root libseccomp.so.2
[root@localhost lib64]# 

# 查看现状
[root@localhost lib64]# ll | grep libseccomp.so.2 
-rw-rw-r--.  1 root root  266688 Oct 21 15:13 libseccomp.so.2

# 更改操作权限
[root@localhost lib64]# ll | grep libSegFault.so
-rwxr-xr-x.  1 root root   21904 Sep 29  2020 libSegFault.so
[root@localhost lib64]# 
[root@localhost lib64]# ll | grep libseccomp.so.2 
-rw-rw-r--.  1 root root  266688 Oct 21 15:13 libseccomp.so.2

# 也修改成rwx rx x
# r 4
# w 2
# x 1
# 也就是需要chmod 751

[root@localhost lib64]# chmod 751 libseccomp.so.2
[root@localhost lib64]# 
[root@localhost lib64]# ll | grep libseccomp.so.2 
-rwxr-x--x.  1 root root  266688 Oct 21 15:13 libseccomp.so.2

4)网上查教程,说关闭selinux,可启动chronyd成功,但测试本iso环境下,未能还原教程结果。

当你遇到Linux Kali系统中的 "Job for network.service failed because the control process exited" 错误,通常意味着network服务未能正常启动,可能是由于多种原因导致的,如服务配置错误、依赖问题或是服务文件损坏等。以下是解决这个问题的一些步骤: 1. **查看日志**:首先通过命令 `journalctl -u network.service` 查看关于network服务的详细错误信息,这有助于定位问题。 2. **重启网络服务**:尝试使用 `sudo service network restart` 或 `sudo systemctl restart network.service` 来重启服务,看看是否能解决问题。 3. **检查服务状态**:确认网络服务的状态是否启用,可以用 `sudo systemctl status network.service` 看看。 4. **检查配置文件**:检查 `/etc/network/interfaces` 或 `/etc/systemd/network/*` 文件,确保它们的配置正确无误,特别是DNS和静态IP设置。 5. **更新网络驱动**:如果是硬件问题,可以尝试更新网卡驱动,比如 `sudo apt-get update && sudo apt-get install firmware-realtek`(针对Realtek网卡)。 6. **清理并重建网络堆栈**:如果以上步骤无效,试试 `sudo netstat -tulpn | grep :80` 和 `sudo sysctl -p` 后重启系统,有时候网络栈需要重置。 7. **修复权限或文件损坏**:检查service文件的权限,如果有损坏,可能会导致无法启动,`sudo chown root:root network.service` 和 `sudo chmod 644 network.service` 可能有帮助。 完成上述操作后,如果问题仍然存在,建议备份重要数据后,考虑重装系统或者寻求专业的技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值