web-dev-qa-db-fra.com

Comment les utilisateurs types doivent-ils lire la documentation dans / usr / share / doc?

J'ai récemment appris qu'il existe une énorme pile de documentation dans /usr/share/doc.

Il semble qu'une grande partie est gzippée afin de ne pas être directement accessible sans privilèges administratifs:

$ gunzip examples/letter.tex.gz 
gzip: examples/letter.tex: Permission denied

Une solution à ce problème consisterait pour chaque utilisateur à dupliquer chaque élément de son répertoire personnel juste pour le lire, mais cet arrangement ne semble guère être propice à une navigation régulière.

Comment les gens normaux lisent-ils cette documentation?

Je ne suis pas enclin à croire que l'utilisateur type est censé installer et gérer un serveur Web uniquement pour lire la documentation en texte local.

42
ændrük

La plupart a été dit et très bien expliqué par jgbelacqua pour une utilisation en terminal. Ajoutons simplement ceci pour les personnes qui se trouvent sur un gestionnaire de bureau:

Depuis un bureau graphique (ici GNOME), le moyen le plus simple de lire les documents de /usr/share/doc consiste à (double) cliquer sur les fichiers compressés pour les ouvrir avec votre gestionnaire d'archives standard (ici File Roller) à partir desquels vous pouvez (double) cliquer pour les ouvrir et les lire. dans votre éditeur standard (ici Gedit). Aucune autorisation d'écriture n'est nécessaire tant que vous ne décompressez pas les fichiers.

6
Takkat

Il y a au moins deux problèmes ici:

  1. lire les fichiers .gz sans douleur
  2. autorisations sur les répertoires
  3. (optionnel pour les fichiers tex)

Pour # 1, il existe un certain nombre d'applications qui gèrent les fichiers compressés de manière transparente. Un couple que vous pouvez utiliser est lesset vimname__.

 less README.gz 
 vim -R README.Debian.gz
 view Important.bits.gz

viewest un alias pour vim -R, qui indique simplement d'ouvrir le fichier en lecture seule.

Auparavant, avant l'installation de moins de logiciels sur mon système, j'utilisais gzcatet transmettais le résultat à un autre utilitaire. Apparemment, il s’appelle désormais uniquement zcatsur Ubuntu, mais vous l’utiliseriez comme ceci, par exemple:

 /usr/share/doc/xpdf$ zcat changelog.Debian.gz  | more

zcat est toujours disponible et son utilisation pour rediriger un contenu compressé quelque part peut être utile dans certains cas. (Pour les situations avec des fichiers .bz2, bzcatest disponible.)

Pour # 2, tous les fichiers que j'ai vus sous/usr/share/doc se trouvent dans des répertoires dotés d'autres autorisations + rx, ce qui signifie que tous les utilisateurs peuvent effectuer une recherche dans les répertoires (par exemple, le contenu de la liste). et lire des fichiers à l'intérieur. Ce que vous ne pouvez pas faire (car seul root a l'autorisation d'écriture par défaut), c'est créer des fichiers. Étant donné que vous essayez de décompresser dans ce répertoire, j'imagine qu'il vous donne l'autorisation refusée car vous avez lu, mais pas écrit, les autorisations par défaut.

Pour # 3, je suppose que vous utilisez plus que moi les fichiers .tex. Mais voici une façon de les gérer sans copier à la maison ou dans un fichier temporaire. Pour cela, vous allez créer un canal nommé, mais vous pouvez le réutiliser pour vos autres besoins en traitement et en traitement de texte. Cela devrait aller comme ceci:

  • zcat ou gzcat le texte
  • ... et dirigez-le vers votre processeur TeX
  • ... et envoyez-le à votre pipe nommée (ici, je l'appellerai pipeyname__)
  • ... puis dans un écran séparé, saisissez votre sortie de pipey
  • ... et l'envoyer à un processus d'affichage dvi.

Vous pouvez évidemment modifier ces étapes si vous utilisez des utilitaires différents ou meilleurs que ceux décrits ici.

Mon exemple utilisera l'utilitaire mkfifopour créer le canal nommé, pipeyname__. Le fichier cible à traiter est /usr/share/doc/gdb/refcard.tex.gz. Vous aurez besoin de deux lignes de commande Shell disponibles (via terminal, Alt + F2, ou cependant).

Vous allez taper au terminal un:

mkfifo pipey

Vous avez maintenant un canal nommé persistant. Vous pouvez utiliser ls -l pour y jeter un coup d'œil.

zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey

Notez que cette commande ne renverra pas tant que vous ne ferez pas quelque chose avec la sortie qui est passée dans le canal nommé.

Maintenant, au terminal deux, vous allez taper: tex pipey | xdvi

Et ça marche (enfin, ici quand même). Le processus peut être affiné pour obtenir une sortie plus jolie, mais si vous recherchez une solution rapide et relativement sans dégâts, c'est une façon de le faire.

20
belacqua

C’est peut-être trop tard pour répondre, mais j’ai trouvé la meilleure solution (facilité d’utilisation et exhaustivité)

Un système Linux typique possède une documentation dans de nombreux formats (pages de manuel, fichiers d’information, fichiers README, etc.). Avec dwww, il est possible d'accéder à tous ces éléments via la même interface, un navigateur WWW. Cela facilite l'utilisation de la documentation.

dwww est une interface Web pour toute la documentation en ligne sur un système Debian. Il crée des pages Web répertoriant tous les documents installés et convertit tous les documents au format HTML. La conversion est effectuée lorsque l'utilisateur demande le document.

  • Activez le module CGI, qui n’est plus activé par défaut dans Ubuntu/Apache récent:

    Sudo a2enmod cgi
    Sudo service Apache2 restart
    
  • Ouvrez votre navigateur et pointez sur: http: // localhost/dwww /

  • Terminé!

Toutes vos pages info, man, /usr/share/doc fichiers et la description du paquet en un seul endroit! Votre site de documentation personnelle!

13
MestreLion

gunzip file.gz tente de décompresser file.gz en file, en supprimant file.gz. C'est pourquoi vous obtenez une erreur "Autorisation refusée". Vous n'êtes pas autorisé à écrire dans /usr/share/doc. Pour obtenir le contenu d'un fichier, utilisez gunzip -c file.gz ou zcat file.gz.

La lecture de fichiers texte compressés au format gzip peut être effectuée avec zless. Comme son nom l'indique, il s'agit simplement de less, mais pour les fichiers compressés au format gzip.

Exemple d'utilisation:

zless /usr/share/doc/bash/NEWS.gz

Le suffixe .gz peut également être omis:

zless /usr/share/doc/bash/NEWS
7
Lekensteyn

Installez d'abord Apache2

Sudo apt-get install Apache2 Apache2-doc  

Apache2-doc est le cas particulier ici. Il vous permet de parcourir votre documentation /usr/share/doc/ via votre navigateur Web. de http://localhost/doc/.

Cela ne marche pas bien cependant. Vous devez modifier la configuration d'Apache pour le décompresser et afficher les fichiers * .gz sous forme de texte brut.

J'ai posté sur Stack Overflow pour obtenir un moyen d'utiliser Apache pour afficher le contenu des documents * .gz dans le répertoire /usr/share/doc/. C'est ce qui a été posté comme solution possible.

Voici ces instructions en bref. Il indique à Apache comment traiter les fichiers .gz pour les traiter en texte brut et les envoyer au navigateur en texte brut.

Sudo a2enmod headers   
Sudo a2enmod deflate  
gksu gedit /etc/Apache2/sites-enabled/000-default 

Allez au bas du fichier et trouvez la section avec Alias /doc/ "/usr/share/doc/" et changez-la pour ressembler à ceci.

Alias /doc/ "/usr/share/doc/"
<Directory /usr/share/doc>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128

    AddEncoding gzip gz
    <FilesMatch "\.gz$">
      ForceType text/plain
      Header set Content-Encoding: gzip
    </FilesMatch>
</Directory>   

Puis redémarrez Apache:

Sudo Apache2ctl restart   
5
nelaaro