小编UVV*_*UVV的帖子

是否可以不通过 /sys 获取网络接口索引?

所以我正在寻找的是一个接口索引(或名称),但真正的。 if_nametoindex(3)并且ioctl(2)似乎没有帮助我在这里。现在我发现如何做到这一点的唯一方法是通过/sys. 让我举例说明我需要什么:

# cat /sys/class/net/bond0.1007/ifindex 
26
# cat /sys/class/net/bond0.1007/iflink
23                                  <-- I need either this or a reference to bond0
# cat /sys/class/net/bond0/ifindex 
23
Run Code Online (Sandbox Code Playgroud)

有没有办法通过函数调用来做到这一点,或者唯一的方法是sysfs

sysfs ioctl network-interface

12
推荐指数
1
解决办法
2万
查看次数

从 sysfs 获取信息

我正在创建一个脚本来轮询有关网络接口的信息。为此,我从/sysfs.

一切都很顺利,直到我想澄清接口的所有可能状态(顺便说一句,它们是什么?我现在只知道up,downunknown)。我通过/usr/src/linux/Documentation/sysfs-rules.txt并发现了这个:

访问 /sys/class/net/eth0/device 是应用程序中的一个错误

是否有一个原因?有人可以通过从 获取信息来解释我是否做错了/sysfs什么吗?

我不会遍历所有接口,/sysfs而是使用getifaddrs(3). 也许还有另一种方法可以获得 iface 状态?谢谢。

sysfs network-interface

7
推荐指数
1
解决办法
8887
查看次数

如何使用 journalctl 获取内核启动日志?

我的板上有一个systemd/journald正在运行。该系统是通过以下方式构建的yoctosystemd版本是 216。

我想得到的是内核启动日志,可以通过journalctl -k. 但据我所知,这个选项的长版本是--dmesg,这让我认为这是从内核环缓冲区中检索到的。显然,如果系统运行数天,我可能无法获得此信息。我的理解在这里正确吗?

现在的问题是是否可以journald在系统启动后立即转储此信息?如果没有,仅journalctl -k > dmesg.log作为启动过程的最后一步调用是否足够?

systemd systemd-journald

7
推荐指数
2
解决办法
2万
查看次数

恢复 '。' 或“来源”

我不小心从脚本中获取了错误的环境。有什么方法可以“取消”它,或者换句话说,可以恢复它并恢复以前的环境?

当然,显而易见的答案是从干净的 shell 会话开始,但我很好奇是否有其他解决方案。

更新:我指的只是一个设置一些变量的脚本。

shell bash zsh shell-script

7
推荐指数
1
解决办法
2052
查看次数

检查哪些 RPM 依赖于这个包

我想获取依赖于请求包的包列表。例如,我想获取所有依赖于telnet. 我想出了这个脚本:

for i in `rpm -qa | sort`;
   do rpm -qR $i | grep telnet > /dev/null;
   if [ $? -eq 0 ]; then
       echo $i;
   fi;
done
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

谢谢。

shell rpm dependencies

6
推荐指数
2
解决办法
2541
查看次数

列出应用程序中使用的系统调用

有没有什么方法可以获取应用程序中使用的所有系统调用的列表,而无需运行应用程序中所有可能的场景?

system-calls

2
推荐指数
1
解决办法
2147
查看次数