【我的 Rust Crate】获取 Linux 本地信息

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

get_local_info是一个Rust crate,用于获取Linux本地信息,支持KyLin、UOS、HarmonyOS等中文操作系统。目前功能包括网络功能、系统版本获取、系统功能、安全信息检测和文件信息获取等。使用方法为添加依赖并导入到项目中。作者是中国武汉的刘强。

🔎

延伸解读

面向国产操作系统的本地信息获取工具

get_local_info 是一个 Rust crate,专门用于简化 Linux 本地信息的获取,并明确支持 KyLin、UOS、HarmonyOS 等中文操作系统。对于需要在国产化环境中进行系统监控、资产盘点或安全检测的开发者,它提供了统一的接口,避免了针对不同发行版重复编写适配代码。其长期维护的定位也意味着后续可能扩展更多功能。

功能覆盖网络、系统与安全检测

该 crate 目前涵盖网络接口信息、活动网卡详情、外部 IPv4 获取与域名解析;系统版本检测支持 Kylin10(2017 及以上)、Ubuntu 18.04 及以上和 UOS20(1020 及以上);还提供进程检测、虚拟机检测、双系统检测,以及 topsec 杀毒数据库日期检测和目录文件遍历。这些功能适合构建系统信息采集或安全合规检查工具。

使用方式与版本兼容性注意

通过 cargo add get_local_info 添加依赖后,即可在项目中调用相关函数。示例代码展示了获取网卡名、IP 地址、系统版本、进程检测等典型用法。需要注意的是,系统版本检测需传入 osname 参数(如 "uos"),且不同发行版的版本支持范围有限,使用前应确认目标环境是否在支持列表内。

❓

Q&A

get_local_info 这个 Rust crate 是做什么的?

get_local_info 是一个用于获取 Linux 本地信息的 Rust crate,旨在解决 Linux 本地信息获取困难的问题,并支持 KyLin、UOS、HarmonyOS 等中文操作系统。

get_local_info 支持哪些操作系统版本?

支持 Kylin10(2017 及以上版本)、Ubuntu(18.04 及以上版本)和 UOS20(1020 及以上版本)。

如何使用 get_local_info 获取网络接口信息?

可以通过调用 get_local_info::get_pc_net_card_info() 获取网络接口信息,或使用 get_pc_net_card_name()、get_pc_ipv4()、get_pc_ipv6()、get_pc_mac() 分别获取网卡名称、IPv4、IPv6 和 MAC 地址。

get_local_info 能检测系统是否运行在虚拟机中吗?

可以,使用 get_local_info::get_pc_system_is_vm() 函数,返回 false 表示真实机器,true 表示虚拟机。

如何用 get_local_info 检查杀毒软件数据库的更新日期?

调用 get_local_info::get_pc_check_antiviruslib(antiname),传入杀毒软件名称(如 "topsec"),即可获取对应杀毒软件数据库的更新日期。

get_local_info 如何遍历指定目录下的所有文件?

使用 get_local_info::get_dir_filename(idir),传入目录路径(如 "/opt"),即可遍历该目录下的所有文件并返回文件名列表。

get_local_info 的作者是谁?项目在哪里可以找到?

作者是来自中国武汉的刘强。项目发布在 crates.io(https://crates.io/crates/get_local_info)和 GitHub(https://github.com/daijianshusheng/rs_libGetDeviceInfo)。

🏷️

标签

➡️

继续阅读