Como usuários típicos devem ler a documentação em / usr / share / doc?

41

Eu aprendi recentemente que há uma enorme pilha de documentação em /usr/share/doc .

Parece que grande parte dele é compactado para que não seja diretamente acessível sem privilégios administrativos:

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

Embora uma solução para isso seja que cada usuário duplique cada item em seu diretório pessoal apenas para lê-lo, esse arranjo dificilmente parece propício à navegação regular.

Como as pessoas normais lêem esta documentação?

Não estou inclinado a acreditar que o usuário típico deve instalar e manter um servidor da Web apenas para ler a documentação de texto local.

    
por ændrük 31.01.2011 / 06:08

6 respostas

6

A maioria já foi dita e muito bem explicada por jgbelacqua para uso no terminal. Basta adicionar isso para pessoas que estão em um gerenciador de área de trabalho:

De um desktop gráfico (aqui GNOME) a maneira mais fácil de ler documentos de /usr/share/doc é (duplo) clique em abrir os arquivos zipados com seu gerenciador de arquivos padrão (aqui File Roller) de onde você pode (double-) clique em abrir e leia no seu editor padrão (aqui Gedit). Não são necessárias permissões de gravação, desde que você não descompacte os arquivos.

    
por Takkat 31.01.2011 / 10:14
20

Há pelo menos dois problemas aqui:

  1. lendo os arquivos .gz sem problemas
  2. permissões nos diretórios
  3. (opcional para arquivos tex)

Para # 1 , há vários aplicativos que lidarão com os arquivos compactados com facilidade. Um casal que você pode usar é less e vim .

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

view é um alias para vim -R , que diz apenas para abrir o arquivo somente leitura.

Antigamente, antes de menos ser instalado em meu sistema, usava gzcat e canalizava a saída para outro utilitário. Aparentemente, só é chamado zcat agora no Ubuntu, mas você usaria assim, por exemplo:

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

O zcat ainda está disponível, e usá-lo para canalizar conteúdos compactados em algum lugar pode ser útil em alguns casos. (Para situações com arquivos .bz2, bzcat está disponível.)

Para # 2 , todos os arquivos que eu vi em / usr / share / doc estão em diretórios com outras permissões + rx, significando que todos os usuários podem pesquisar os diretórios (por exemplo, lista de conteúdos) e ler arquivos dentro. O que você não pode fazer (já que somente root tem permissão de gravação por padrão), é criar arquivos. Como você está tentando descompactar nesse diretório, imagino que esteja lhe dando permissão negada porque você leu, mas não escreveu permissões por padrão.

Para o # 3, estou supondo que você use arquivos .tex mais do que eu. Mas aqui está uma maneira de lidar com eles sem copiar para casa ou para um arquivo temporário. Para isso, você criará um pipe nomeado, mas poderá reutilizá-lo para suas outras necessidades de processamento e tubulação do tex. Deve ser assim:

  • zcat ou gzcat o texto
  • ... e canalize isso para o seu processador TeX
  • ... e envie isso para o seu Named Pipe (aqui, eu vou chamá-lo de pipey )
  • ... e, em seguida, em uma tela separada, pegue sua saída do pipey
  • ... e envie isso para um processo de exibição do dvi.

Obviamente, você pode alterar essas etapas se usar utilitários diferentes ou melhores que os usados aqui.

Meu exemplo usará o utilitário mkfifo para criar o canal nomeado, pipey . O arquivo de destino a processar é /usr/share/doc/gdb/refcard.tex.gz . Você precisará de duas linhas de comando de shell disponíveis (via terminal, Alt + F2 ou no entanto).

você digitará terminal um:

mkfifo pipey

Agora você tem um pipe nomeado persistente. Você pode usar ls -l para espiar.

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

Observe que esse comando não retornará até que você faça algo com a saída que foi enviada para o pipe nomeado.

Agora, no terminal dois, você digitará: tex pipey | xdvi

E funciona (bem, aqui mesmo assim). O processo pode ser refinado para uma saída mais bonita, mas se você estiver procurando por algo rápido e relativamente livre de problemas, essa é uma maneira de fazê-lo.

    
por belacqua 31.01.2011 / 07:02
13

Talvez seja tarde demais para responder, mas encontrei a melhor solução (facilidade de uso e integridade)

AtypicalLinuxsystemhasdocumentationinmanyformats(manualpages,Infofiles,READMEs,andsoon).dwwwmakesitpossibletoaccessalloftheseviathesameinterface,aWWWbrowser.Thismakesiteasiertousethedocumentation.

dwwwisawebinterfacetoallon-linedocumentationonaDebiansystem.Itbuildssomewebpagesthatlistallinstalleddocuments,andconvertsalldocumentstoHTML.Theconversionisdonewhentheuserrequeststhedocument.

  • HabiliteomóduloCGI,quenãoestámaishabilitadoporpadrãonoUbuntu/Apacherecente:

    sudoa2enmodcgisudoserviceapache2restart
  • Abraoseunavegadoreapontepara: link

  • Feito!

Todas as suas descrições das páginas info páginas, man páginas, /usr/share/doc e em um único lugar! Seu site de documentação pessoal!

    
por MestreLion 09.07.2011 / 12:47
7

gunzip file.gz tenta descompactar file.gz a file , removendo file.gz . É por isso que você recebe um erro de "Permissão negada", você não tem permissão para escrever em /usr/share/doc . Para obter o conteúdo de um arquivo, use gunzip -c file.gz ou zcat file.gz .

A leitura de arquivos de texto compactados com gzip pode ser feita com zless . Como os nomes podem sugerir, é apenas less , mas para arquivos compactados com gzip.

Exemplo de uso:

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

O sufixo .gz também pode ser omitido:

zless /usr/share/doc/bash/NEWS
    
por Lekensteyn 11.03.2011 / 12:54
5

Primeiro instale o apache2

sudo apt-get install apache2 apache2-doc  

apache2-doc é o caso especial aqui. Ele permite que você navegue na sua documentação /usr/share/doc/ através do seu navegador da web. fro http://localhost/doc/ .

Isso não funciona direito embora. Você precisa alterar a configuração do Apache para que ele seja descompactado e mostre os arquivos * .gz como texto simples.

Eu postei no Stack Overflow para obter uma maneira de usar o Apache para mostrar o conteúdo de documentos * .gz no diretório /usr/share/doc/ . Isto é o que foi postado como possível solução.

Aqui estão essas instruções resumidas. Ele diz ao Apache como lidar com arquivos .gz para processá-los como texto simples e enviá-los para o navegador como texto simples.

sudo a2enmod headers   
sudo a2enmod deflate  
gksu gedit /etc/apache2/sites-enabled/000-default 

Vá até o final do arquivo e encontre a seção com Alias /doc/ "/usr/share/doc/" e mude para ficar assim.

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>   

Em seguida, reinicie o Apache:

sudo apache2ctl restart   
    
por nelaaro 10.03.2011 / 09:03
-3

Você não deve ler arquivos .tex! Está no formato legível, mas foi projetado para ser processado antes de ser reaproveitado. Você pode usar a ferramenta tex2pdf para convertê-la em .pdf.

    
por przemo_li 31.01.2011 / 08:07