Linux的man命令的最新源代码在哪里?


20

我正在寻找man命令的最新源代码,我的Linux版本很旧(v1.6f),但是在搜索了一段时间后我失败了。

我的意思是的最新源代码man,而不是可以编译和安装man-pages的二进制文件/usr/bin/man本身。

Answers:


19

通常,您可以查询您的发行版以查看来源。例如,我在Fedora上,可以看到该man命令来自man-db软件包:

$ rpm -qf /usr/bin/man
man-db-2.6.7.1-16.fc21.x86_64

然后,我可以查询man-db包中的上游URL:

$ rpm -qi man-db | grep -i url
URL         : http://www.nongnu.org/man-db/

在那里,http://www.nongnu.org/man-db/

您可以对其他发行版上使用的包装系统执行类似的步骤序列。


谢谢,发布这个问题后我已经有了man-db了,由于很多依赖,似乎我不能只从源代码编译man。
CodyChan 2015年

那是真实的。您将必须首先解决所有依赖关系。即使这样,由于依赖于其他较新的二进制文件,因此您的新人二进制文件可能对您没有用。
fpmurphy

1
如果仅存在线性依赖关系,这很容易;-)有些程序系统行GNOME具有循环依赖关系。我希望一些OSS开发人员学会创建仅具有记录的线性依赖关系的源。
schily's

1
供将来参考,在基于Debian的发行版中,等效命令为dpkg -S /usr/bin/manapt-cache show man-db | grep Homepage
Tim

2

在基于Ubuntu的基于Debian的发行版上,您可以找到并下载如下源代码:

$ which man
/usr/bin/man
$ dpkg --search /usr/bin/man
man-db: /usr/bin/man
$ apt-get source man-db

这会将源代码放入您当前的工作目录中。


谢谢,这对我有帮助。如果可以以某种方式更广泛地回答这个问题,那就太好了。
亚伦·霍尔

-2

Linux不是操作系统,而只是内核。因此,从理论上讲,每个发行版都可以自由使用他们喜欢的任何内容。

甚至rpm不一定在每个Linux发行版上都使用,因此第一步是找出使用哪种实现。通常可以通过strings在二进制文件上使用,然后在双引号中使用有效字符串作为Google上的搜索字符串来完成。


1
如果rpm -qf或者dpkg -S或者类似的针对`“$(命令-v人)”回报包的名称,则该方法将是一个很多比google搜索字符串更可靠的包装系统二进制虽然找到。请记住,大多数发行版都是从上游修补软件。因此,用于分发的源程序包是唯一可以获取为/ usr / bin / man编译的确切源代码的地方。
斯特凡Chazelas

有十多种不同的打包系统,因此您需要提及许多方法.....但您是对的:通常,许多发行版是非协作的,并且将漏洞修补到软件中或未报告有用的修补程序上游。
schily's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.