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.
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.
Il y a au moins deux problèmes ici:
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 less
et vim
name__.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
view
est 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 gzcat
et transmettais le résultat à un autre utilitaire. Apparemment, il s’appelle désormais uniquement zcat
sur 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, bzcat
est 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:
pipey
name__)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 mkfifo
pour créer le canal nommé, pipey
name__. 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.
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!
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
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