下载Lubuntu / Ubuntu手册页的整体内容?

我知道这个页面几乎就是我想要的。 不幸的是,它不是最新的。

我想做的是让整个Ubuntu手册页以一种简单易读的PDF格式。 我会接受其他格式,但我更喜欢索引的PDF文件,以简化和移植。

我也知道HTTrack可以下拉HTML格式的页面。 我希望避免这种情况有几个原因 – 主要原因是它对带宽和服务器的处理并不是一件好事。

我搜索了Ubuntu网站,使用了外部搜索引擎,并搜索了这个网站。 我确实找到了一个让我回到HTTrack的答案 ,这是一个潜在的解决方案,但不是理想的解决方案,如上所述,对他们的服务器或带宽不是很好。

更特别的是能够专门为Lubuntu获得这个,因为软件存在一些差异,而且我是一个狂热的Lubuntu用户,但是,如果需要,我可以只使用Ubuntu手册页来实现。

我想要这个的原因是因为,我想读它 – 完整的。 更像是一本书,而不是像需要时调用的文件。 我希望能够阅读它,而我只能访问我的手机,平板电脑或其他计算设备,并且比人工页面通常使用的格式更容易阅读。


编辑:

特别针对Ubuntu(或Lubuntu)15.10版,如标签和标题中所述。 此外,是的 – 所有的手册页(甚至多余的和短的)。 我知道这是很多信息,这是我试图避免使用HTTrack的原因之一。

更特别的是能够专门为Lubuntu获得这个,因为软件存在一些差异,而且我是一个狂热的Lubuntu用户,但是,如果需要,我可以只使用Ubuntu手册页来实现。

Lubuntu和Ubuntu之间的联机页面没有差异。 成为公认风味的一点是使用与Ubuntu相同的存储库,因此软件是相同的,它只是起点不同。

此外, http: //manpages.ubuntu.com还有一个错误,在这个错误中,来自不同包的相同命名的联机帮助页不被区分 – 最后一个包读取的联机帮助页显示出来。

而不是锤击手册页网站,锤击存储库。

获取一个联机帮助页面列表,例如, binary-amd64体系结构(应该与其他体系结构相同):

 mkdir temp cd temp curl http://archive.ubuntu.com/ubuntu/dists/wily/Contents-amd64.gz | gunzip | grep 'share/man' | sed 's/.* //;s/,/\n/g' | awk -F/ '{print $NF}' | sort -u > packages.txt while IFS= read -r package do apt-get download "$package" dpkg-deb --fsys-tarfile "$package"*.deb | tar x ./usr/share/man mkdir "$package"-manpages find ./usr/share/man/man* -type f -exec mv -t "$package"-manpages {} + rm "$package"*.deb for page in "$package"-manpages/* do man -t "$page" | ps2pdf - > "$page".pdf done done < packages.txt 

如果当然,这将消耗疯狂的带宽 - 存储库服务器已经习惯了,问题是: 您的网络是否完成了任务?

对于这种方法,您将需要html2psps2pdf和一个有效的LaTeX安装。 您应该能够安装所有要求

 sudo apt-get install html2ps ghostscript texlive-latex-base 

安装完所需的软件包后,运行此软件包以将手册页作为pdf文件:

 curl http://manpages.ubuntu.com/manpages/wily/en/man1/ | grep -oP 'href="\K.*?\.1\.html' | while read man; do wget http://manpages.ubuntu.com/manpages/wily/en/man1/"$man" && html2ps "$man" | ps2pdf - "${man/.html/.pdf}" done 

您现在应该在运行命令的目录中有一个(巨大的)pdf文件集合。顺便说一下, 确保在新的空目录中运行该命令

现在,要将它们组合成一个索引的PDF文件,你需要LaTeX,你需要重命名它们,因为LaTeX不喜欢. 在文件名中:

 rename 's/\./-/g;s/-pdf/\.pdf/' *pdf cat < man1.tex \documentclass{article} \usepackage[colorlinks=true,linkcolor=blue]{hyperref} \usepackage{pdfpages} \begin{document} \tableofcontents \newpage EoF for f in *.pdf; do file="${f/.pdf/}" printf '\section{%s}\n\includepdf[pages=-]{%s}\n\n' "$file" "$f" >> man1.tex done echo "\end{document}" >> man1.tex pdflatex man1.tex && pdflatex man1.tex 

结果是所有手册页的索引PDF文件(我只使用10个进行测试):

在此处输入图像描述

根据聊天讨论更新

您希望以PDF(或HTML)forms获取所有联机帮助页。 我所知道的系统,也没有任何发行版,提供了一整套所有联机帮助页。 这将是数百万页,我的猜测将是需要大量的存储空间,其中实际存储将是无用的。 这也将锤击联机帮助页面服务器,其中联机帮助页已经存在于Web可查看格式中。 如果您真的想要实现这一点,您可以自己转换联机帮助页并下载包含联机帮助页的存储库中的所有软件包。 (那也同样邪恶)

不必阅读所有联机帮助页 ,也不知道为什么要这么多页。 (想象一下七十万卷的百科全书,这实际上是你所要求的)


这部分是在聊天之前澄清了对被问题的误解

我不认为每件事都有“PDF”,但您可以为您希望使用的联机帮助页制作PDF。

有一个站点包含Ubuntu存储库中不同包的不同Ubuntu版本的联机帮助页。 假设存储库中的联机帮助页,您可以在那里打开联机帮助页,然后将它们打印到文件中(通过打印页面或其他方式),然后将它们保存为PDF,然后您可以在其他地方使用。

缺点:它一次只有一个联机帮助页 – 你必须花时间去获得你想要的那些。

(注意:对于PDF, 所有联机帮助页都是一个地狱般的项目,所以我怀疑你会为你想要的每个联机帮助页找到PDF …这通常是由上游而不是Ubuntu完成的)。