You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Yocto项目生成离线man手册副本?含PDF及官方方案咨询

生成嵌入式设备已安装软件包Man手册本地副本的方案

一、直接从目标设备提取并转换为PDF

如果设备已部署完成,可通过以下步骤获取并转换man手册:

  1. 定位并拷贝设备上的man文件
    嵌入式设备的man手册通常存放在/usr/share/man或/usr/man目录下,用scp批量拷贝到本地:

    scp -r root@your-device-ip:/usr/share/man/* ./local-man-files/
    

    若不确定路径,可先在设备上执行man --path确认man页的搜索路径。

  2. 批量转换为PDF格式
    本地安装man-db和ghostscript(提供ps2pdf工具)后,用脚本批量转换:

    # 遍历所有压缩的man文件(.gz后缀)
    for man_gz in ./local-man-files/**/*.gz; do
      # 提取文件名,去掉.gz后缀作为PDF文件名
      pdf_file="${man_gz%.gz}.pdf"
      # 直接读取本地man文件并转PDF
      man -l "$man_gz" | ps2pdf - "$pdf_file"
    done
    

    转换后的PDF会和原man文件同目录,文件名一一对应。

二、Yocto官方构建阶段生成手册的方法

Yocto提供原生机制支持生成和导出软件包的man手册,无需等到设备部署后提取:

  1. 构建镜像时包含man手册
    在build/conf/local.conf中添加配置,让构建的镜像包含所有已安装软件包的man手册:

    IMAGE_FEATURES += "manuals"
    

    构建完成后,可从镜像文件(如tmp/deploy/images/<your-machine>/core-image-minimal-<your-machine>.rootfs.tar.gz)中解压出usr/share/man目录,获取完整的man手册。

  2. 单独生成指定软件包的man手册
    若只需特定软件包的man页,可通过bitbake单独构建该包并提取:

    # 构建目标软件包,完成后进入其工作目录
    bitbake <package-name> -c do_install
    cd tmp/work/<target-arch>/<package-name>/<version>/image/usr/share/man
    

    该目录下就是该软件包编译生成的man文件,直接拷贝即可。

  3. 批量生成PDF(构建环境内)
    在Yocto构建环境中,可遍历tmp/work下所有软件包的image/usr/share/man目录,用之前的转换脚本批量生成PDF,无需依赖设备。

内容的提问来源于stack exchange,提问作者Brian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:57:43