web-dev-qa-db-fra.com

Téléchargement de la totalité des pages de manuel Lubuntu / Ubuntu?

Je sais à propos de cette page qui est presque exactement ce que je veux. Malheureusement, ce n'est pas courant.

Ce que je voudrais, c’est d’avoir l’intégralité du pages de manuel Ubunt dans un format agréable, facile à lire, PDF. J'accepterai d'autres formats, mais je préférerais un fichier PDF indexé pour plus de simplicité et de portabilité.

Je suis également conscient de HTTrack qui peut afficher les pages au format HTML. Je souhaite éviter cela pour plusieurs raisons, principalement parce que ce n'est pas vraiment une bonne chose à faire avec leur bande passante et leurs serveurs.

J'ai effectué des recherches sur le site Ubuntu, utilisé un moteur de recherche externe et effectué des recherches sur ce site. J'ai trouvé ne réponse qui m'a ramené à HTTrack qui est une solution potentielle mais pas la solution idéale et, comme mentionné, pas très gentil avec leurs serveurs ou leur bande passante.

Encore plus spécial serait de pouvoir obtenir ceci spécifiquement pour Lubunt car il y a quelques différences dans les logiciels et je suis un utilisateur passionné de Lubuntu mais, si besoin est, je peux me débrouiller avec juste Ubuntu pages de manuel.

La raison pour laquelle je veux cela est parce que, eh bien, je voudrais le lire - dans son intégralité. Plus comme un livre que comme un fichier appelé au besoin. Je souhaite pouvoir le lire alors que je n'ai accès qu'à mon téléphone, ma tablette ou tout autre périphérique de calcul et dans un format plus facile à lire que les pages de manuel habituellement utilisées.


EDIT:

Spécifiquement pour Ubuntu (ou Lubuntu) version 15.10, comme indiqué dans les balises et le titre. En outre, oui - toutes les pages de manuel (même celles qui sont redondantes et courtes). Je suis conscient du fait qu’il s’agit d’un grand nombre d’informations et c’est l’une des raisons pour lesquelles j’essaie d’éviter d’utiliser HTTrack.

3
KGIII

Encore plus spécial serait de pouvoir obtenir ceci spécifiquement pour Lubuntu car il existe quelques différences de logiciel et que je suis un passionné de Lubuntu mais, si besoin est, je peux me débrouiller uniquement avec les pages de manuel Ubuntu.

Il n'y a aucune différence dans les pages de manuel entre Lubuntu et Ubuntu. L'un des points pour devenir une version reconnue consiste à utiliser les mêmes référentiels qu'Ubuntu. Le logiciel est donc identique, seuls les points de départ diffèrent.

En outre, http://manpages.ubuntu.com souffre d'un bogue où les pages de manuel portant le même nom, issues de différents packages, ne sont pas distinguées - les pages de manuel du dernier package lu s'affichent.

Au lieu de marteler le site manpages, martelez les référentiels.

Obtenez une liste de pages de manuel, pour, disons, l'architecture binary-AMD64 (devrait être identique aux autres):

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

Bien sûr, cela va consommer une quantité insensée de bande passante - les serveurs de référentiel y sont habitués, la question est la suivante: est votre réseau jusqu'à la tâche ?

3
muru

Pour cette approche, vous aurez besoin de html2ps, ps2pdf et d'une installation LaTeX opérationnelle. Vous devriez pouvoir installer toutes les exigences avec

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

Une fois que vous avez installé les paquetages requis, lancez ceci pour obtenir les pages de manuel sous forme de fichiers 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

Vous devriez maintenant avoir une (énorme) collection de fichiers pdf dans le répertoire dans lequel vous avez exécuté la commande. A propos, assurez-vous d’exécuter la commande dans un nouveau répertoire vide .

Maintenant, pour les combiner dans un seul fichier PDF indexé, vous aurez besoin de LaTeX et de les renommer, car LaTeX n'aime pas . dans les noms de fichier:

rename 's/\./-/g;s/-pdf/\.pdf/' *pdf
cat <<EoF > 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

Le résultat est un fichier PDF indexé de toutes les pages de manuel (je n'en utilisais que 10 pour les tests):

enter image description here

2
terdon

Mis à jour en fonction de la discussion en ligne

Vous voulez obtenir tous les pages de manuel au format PDF (ou HTML) . À ma connaissance, aucun système, ni aucun autre distributeur, ne fournit un ensemble complet de toutes les pages de manuel à afficher. Cela ferait des millions de pages, et je suppose que nous aurions besoin de beaucoup d'espace de stockage, dont il serait inutile de stocker réellement. Ce serait également marteler le serveur de pages de manuel où les pages de manuel existent déjà dans un format consultable sur le Web. Si vous voulez vraiment atteindre cet objectif, vous devez convertir vous-même les pages de manuel et télécharger tous les paquetages des référentiels contenant ces pages. (C'est aussi tout aussi mal)

Vous ne devriez pas avoir à lire toutes les pages de manuel , et je ne sais pas pourquoi vous le souhaiteriez beaucoup de pages. (Imaginez une encyclopédie de sept cent mille volumes, c'est effectivement ce que vous demandez)


Cette section était avant que le chat élucide les idées fausses sur ce qui était demandé

Je ne pense pas qu'il existe un "PDF" pour chaque chose, mais vous pouvez créer des PDF pour les pages de manuel que vous souhaitez utiliser.

Il existe un site qui contient des pages de manuel pour différentes versions d'Ubuntu pour différents packages dans les référentiels Ubuntu. En supposant que la page de manuel en question soit stockée dans un package de référentiel, vous pouvez l'ouvrir à cet emplacement, puis les imprimer dans un dossier. fichier (via Imprimer la page ou autrement), puis enregistrez-les au format PDF que vous pourrez ensuite utiliser ailleurs.

L'inconvénient: c'est une page de manuel à la fois - vous devrez passer du temps à obtenir celles que vous voulez.

(Remarque: pour PDF toutes les pages de manuel seraient un projet infernal, je doute donc que vous puissiez trouver des PDF pour chaque page de manuel souhaitée ... qui serait généralement fait en amont, pas Ubuntu).

0
Thomas Ward