默认
QNAP
是不带man
命令的,但是,作为一个Linux
重度用户怎么能忍?得想办法安装man啊!经过一番努力,最终成功安装man pages!
需求
默认QNAP
是不带man
命令的,但是,作为一个Linux
重度用户怎么能忍?
得想办法安装man啊!
验证
先试一下
基本可以死心了。
看看busybox版本
可以看到内置busybox
不支持man
的。
寻找解决方案
去看看官方Busybox
是否支持
发现是支持man
的,只是QNAP
没有编译进去。
解决思路
- 给
QNAP
提需求单? 是一个选择,但是太慢了,想官方内置,不知道等到猴年马月了。 QNAP
似乎开发了底层SDK,记得有下载过,还没有仔细研究怎么使用。不过记得有附带编译工具链,自己动手编译一个busybox
版本替代系统内置的,应该也是可行的。
去看看别人有啥解决方案?
Optware has man but only for the optware installed packages (if supplied) and or manually added files in the man folder.
柳暗花明又一村, entware
支持man pages
,可以直接安装了。
插入
entware
安装方法:打开
App Center
,源选择刚添加的Qnapclub
,点击搜索框输入entware
,选Entware-std 1.03
一条命令解决:
安装完之后验证:
问题就这么解决了。
一个问题,我有很多其它手册,想要安装,怎么办?
安装其它man
手册
已经有了man
命令,只要把手册安装到entware man
命令目录中就行了。
找到enteware man
手册目录。
TIPS:
CACHEDEV3_DATA/.qpkg
这个是安装qpkg软件的磁盘。CACHEDEV3
似乎是表示第三块插入机器的磁盘。
结果输出:
很显然,路径就在/share/CACHEDEV3_DATA/.qpkg/Entware/share//man/
中了。
那么,安装完entware
之后,其它的man 手册放到 /share/CACHEDEV3_DATA/.qpkg/Entware/share/man
这个目录中就行了。
把gh git
等手册放进去。再次验证
完美收工!
可能需要注意的地方,注意man
手册的权限644
,如果手册copy进去了,发现使用不了。运行下面命令。
安装更多的man pages
PS: 中文
man
手册有不少依赖需要解决,在Docker
中已经可以查询中文man
了,qnap
中试了下,解决依赖搞得头大,暂时就docker
中用中文man
好了
真正收工了!
附录
man介绍
man命令并非仅仅能查看命令或者函数的介绍,在linux中,有丰富的帮助手册信息,并且每一个手册都有一个编号。编号和对应内容如下:
编号 | 代表内容 |
---|---|
1 | 可执行程序或shell命令,如ls |
2 | 系统调用,如chdir |
3 | 库函数,如printf |
4 | 设备或特殊文件,如tty |
5 | 配置文件格式或约定 |
6 | 游戏 |
7 | 杂项 |
8 | 管理命令,通常只有root用户可以使用 |
9 | 内核例程 |
n | 内置命令,如cd |
常用快捷键
手册内容
多数手册包含以下几部分内容:
- NAME 功能的简单描述
- SYNOPSIS 语法格式
- DESCRIPTION 描述
- OPTIONS 选项
- ERRORS 描述出错场景,这在排查错误时很有帮助
- NOTES 注意事项
- FILES 相关文件,例如对于man命令的FILES部分内容显示了它的配置文件位置等信息
- EXAMPLES 使用示例,会提供一些简单的示例
- BUGS 存在的bug,当遇到奇怪的问题时,不妨看看当前命令是否有已知的bug
基本查看
手册的查看和less查看文本类似,可以参考《文本查看篇》或查看less命令的使用,这里介绍基本操作:
- 空格 向下翻页
- Home 回到第一页
- End 跳到最后一页
- /string 向前搜索string字符串
- ?string 向后搜索string字符串
- n 下一个匹配字符
- N 上一个匹配字符
- q 退出