用新的手册页替换旧的手册页

用新的手册页替换旧的手册页

libgpiod我刚刚在我的 RPi 4B 上(从源代码)构建了当前版本(2.1 版) 。 . 的源 tarball 中包含六 (6) 个“命令行工具” libgpiod。在此make install过程中,这些工具及其新man页面被安装在/usr/lib/arm-linux-gnueabihf.

  • 手册页:./share/man/man1
  • 二进制exe工具:./bin

libgpiod我没有从系统中卸载现有的软件包。现在(直到我弄清楚是否保留版本 2.1,或者发布最新的软件包),我正在创建符号链接来/usr/bin指向/usr/lib/arm-linux-gnueabihf/bin.但我不清楚如何处理manuals。我想看新的man页面;例如,当我进入时man gpioset,我想查看 中的手册页/usr/lib/arm-linux-gnueabihf/share/man/man1/gpioset.1

由于 RPi OS 是 Debian 的衍生产品,我会预计手册已安装 IAWDebian 约定(无论那可能是什么)。我确实whereis以其中一位的名字为名进行了反对6个命令行工具,并得到以下结果:

$ whereis gpioinfo
gpioinfo: /usr/bin/gpioinfo /usr/bin/gpioinfo.old /usr/share/man/man1/gpioinfo.1.gz

我在/usr/share/man/man1(如“gzip”- 压缩文件)。我想单程来替换“以新换旧“手册页将移动 ( mv) 旧手册,并在其位置放置新手册的链接。但我希望得到一些东西更优雅比那 - 也许是某个地方的“一行”指向/usr/lib/arm-linux-gnueabihf/share/man/man1.有没有这样一个一行

有没有办法将其设置为特别指定基础 - 直到新libgpiod包发布?

答案1

有许多不同的选项,具体取决于man您安装的确切版本。到目前为止,我已经确定了名为/etc/man.conf/etc/man_db.conf、的配置文件/etc/manpath.config。幸运的是,您需要的应​​该从 引用man man,并且可以通过名称进一步描述(例如,man man.conf)。但是,您不需要自己编辑这些内容,这里有两个建议,具体取决于您是否需要多个用户或实际上只有您自己可以访问手册页:

  1. 将手册页放在已知系统位置下正确命名的目录中。对于本地安装,这通常是/usr/local/share/man.因此,您可以将文件从本地移动或复制./share/man/man1到该目录/usr/local/share/man/man1

  2. 将环境变量设置MANPATH为以冒号分隔的目录树列表以搜索手册页。这里稍微复杂的因素是知道原始搜索路径,并且在某些系统上您可以运行manpath(或者可能manpath -g)来获取该值。

    以下是一些应该可行的建议,其中第一个是首选:

    MANPATH="/usr/lib/arm-linux-gnueabihf/share/man:$(manpath)"
    MANPATH="/usr/lib/arm-linux-gnueabihf/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man"
    

相关内容