Linuxのmanコマンドの最新のソースコードはどこにありますか?


20

私はmanコマンドの最新のソースコードを探しています。私のLinuxのバージョンはかなり古い(v1.6f)ですが、しばらくグーグルで失敗しました。

の最新のソースコードでmanはなくman-pages/usr/bin/manコンパイルしてインストールできるバイナリファイルそのものです。

回答:


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

それは本当です。最初にすべての依存関係を解決する必要があります。それでも、新しいmanバイナリは、他の新しいバイナリへの依存関係のために役に立たない場合があります。
fpmurphy

1
線形依存関係しかない場合、これは簡単です;-)循環依存関係を持つプログラムシステムGNOMEラインがあります。一部のOSS開発者が、文書化された線形依存関係のみを持つソースを作成することを学ぶことを願っています。
気味悪い

1
将来の参考のために、Debianのベースのディストリビューションに同等のコマンドがあるdpkg -S /usr/bin/manapt-cache show man-db | grep Homepage
ティム

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男性)、」リターンのためのあなたのパッケージングシステムのための同等のパッケージの名前が、この方法は、より多くの信頼性の高い文字列をグーグルよりもしようとしていることは、バイナリで見つかりました。ほとんどのディストリビューションはアップストリームからソフトウェアにパッチを適用することに注意してください。したがって、ディストリビューションのソースパッケージは、/ usr / bin / man用にコンパイルされた正確なソースコードを入手する唯一の場所です。
ステファンシャゼラス

十数種類のパッケージングシステムがありますので、多くの方法に言及する必要があります。上流の。
気味悪い
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.