Как типичные пользователи могут читать документацию в / usr / share / doc?

37

Недавно я узнал, что в /usr/share/doc имеется огромная куча документации.

Похоже, что большая часть его gzipped так, что он не доступен напрямую без административных привилегий:

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

В то время как одно решение для этого было бы для каждого пользователя дублировать каждый элемент в своем домашнем каталоге только для его чтения, эта схема вряд ли будет способствовать регулярному просмотру.

Как нормальные люди читают эту документацию?

Я не склонен полагать, что типичный пользователь должен установить и поддерживать веб-сервер, чтобы читать локальную текстовую документацию.

    
задан ændrük 31.01.2011 в 06:08
источник

6 ответов

6

Большинство было сказано и очень приятно объяснено jgbelacqua для использования в терминале. Просто добавьте это для людей, которые находятся на рабочем столе:

С графического рабочего стола (здесь GNOME) самый простой способ читать документы из /usr/share/doc - это (double-) щелкнуть открытые файлы с вашим стандартным менеджером архива (здесь File Roller), откуда вы можете (дважды) нажмите «Открыть» и прочитайте их в своем стандартном редакторе (здесь Gedit). Не требуется никаких разрешений на запись, если вы не распаковываете файлы.

    
ответ дан Takkat 31.01.2011 в 10:14
источник
19

Здесь есть как минимум два вопроса:

  1. безболезненно читать файлы .gz
  2. разрешения на каталоги
  3. (необязательно для файлов tex)

Для # 1 существует множество приложений, которые будут легко справляться с файлами gzipped. Парой, которую вы можете использовать, являются less и vim .

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

view - это псевдоним для vim -R , который просто говорит, чтобы открыть файл только для чтения.

В старые времена, до того, как меньше было установлено в моей системе, я бы использовал gzcat и передал вывод в другую утилиту. По-видимому, теперь он только называется zcat на Ubuntu, но вы бы использовали его так, например:

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

zcat все еще доступен, и в некоторых случаях его использование для сжатия сжатого содержимого может быть полезным. (Для ситуаций с файлами .bz2 доступно bzcat .)

Для # 2 все файлы, которые я видел в каталоге / usr / share / doc, находятся в каталогах с другими разрешениями + rx, что означает, что все пользователи могут искать каталоги (например, содержимое списка) и читать файлы внутри. То, что вы не можете сделать (поскольку только root имеет разрешение на запись по умолчанию), заключается в создании файлов. Поскольку вы пытаетесь разархивировать в этот каталог, я предполагаю, что он разрешает вам разрешение, поскольку по умолчанию вы читали, но не писали разрешения.

Для # 3, я предполагаю, что вы используете .tex-файлы больше, чем я. Но вот один из способов справиться с ними без копирования на дом или временного файла. Для этого вы собираетесь создать именованный канал, но вы можете повторно использовать его для других ваших потребностей в технологиях tex и обработки. Он должен выглядеть следующим образом:

  • zcat или gzcat текст
  • ... и подключите его к вашему процессору TeX
  • ... и отправьте это на свою именованную трубку (здесь я назову его pipey )
  • ... и затем в отдельном окне возьмите свой вывод из pipey
  • ... и отправить это на процесс отображения dvi.

Вы можете, очевидно, изменить эти шаги, если вы используете разные или лучшие утилиты, чем те, которые есть здесь.

В моем примере будет использоваться утилита mkfifo для создания именованного канала, pipey . Целевой файл для обработки - /usr/share/doc/gdb/refcard.tex.gz . Вам понадобятся две доступные командные строки оболочки (через терминал, Alt + F2 или, тем не менее,).

Вы введете терминал один:

mkfifo pipey

Теперь у вас есть постоянный именованный канал. Вы можете использовать ls -l , чтобы заглянуть в него.

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

Обратите внимание, что эта команда не вернется, пока вы ничего не сделаете с выходом, который ушел в именованный канал.

Теперь, в терминале два, вы наберете: tex pipey | xdvi

И это работает (ну, вот так или иначе). Процесс может быть усовершенствован для более качественного вывода, но если вы ищете быстрый и относительно беспорядочный, это один из способов сделать это.     

ответ дан belacqua 31.01.2011 в 07:02
13

Возможно, слишком поздно, чтобы ответить, но я нашел лучшее решение (как простота использования, так и полноту)

  

Типичная система Linux имеет документацию во многих форматах (страницы руководства,          Информационные файлы, README и т. Д.). dwww позволяет получить доступ ко всем          из них через тот же интерфейс, WWW-браузер. Это упрощает          для использования документации.

     

dwww - это веб-интерфейс для всей онлайновой документации на   Debian. Он создает некоторые веб-страницы, в которых перечислены все установленные   документы и конвертирует все документы в HTML. Преобразование   выполняется, когда пользователь запрашивает документ.

  • Откройте браузер и укажите: Ссылка

  • Готово!

Все ваши страницы info , man страниц, /usr/share/doc файлов и в одном месте! Ваш личный сайт документации!

    
ответ дан MestreLion 09.07.2011 в 12:47
7

gunzip file.gz пытается разжать file.gz до file , удалив file.gz . Вот почему вы получаете ошибку «Отказано в разрешении», вам не разрешено писать в /usr/share/doc . Чтобы получить содержимое файла, используйте gunzip -c file.gz или zcat file.gz .

Чтение gzip-сжатых текстовых файлов можно выполнить с помощью zless . Как видно из названия, это всего лишь less , но для gzip-сжатых файлов.

Пример использования:

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

Суффикс .gz также может быть опущен:

zless /usr/share/doc/bash/NEWS
    
ответ дан Lekensteyn 11.03.2011 в 12:54
5

Сначала установите apache2

sudo apt-get install apache2 apache2-doc  

apache2-doc - особый случай. Он позволяет просматривать вашу документацию /usr/share/doc/ через веб-браузер. fro http://localhost/doc/ .

Однако это не работает. Вам нужно изменить конфигурацию Apache, чтобы получить ее для распаковки и показать * .gz файлы в виде обычного текста.

Я отправил в Stack Overflow , чтобы получить способ использовать Apache для отображения содержимого документов * .gz в каталоге /usr/share/doc/ . Это то, что было опубликовано как возможное решение.

Вот краткие инструкции. Он сообщает Apache, как обращаться с .gz-файлами, чтобы обрабатывать их как обычный текст и отправлять их в браузер в виде обычного текста.

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

Перейдите в конец файла и найдите раздел с Alias /doc/ "/usr/share/doc/" и изменить его, чтобы выглядеть так.

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>   

Затем перезапустите Apache:

sudo apache2ctl restart   
    
ответ дан nelaaro 10.03.2011 в 09:03
-3

Не следует читать файлы .tex! Он находится в удобном для чтения формате, но предназначен для обработки перед посадкой. Вы можете использовать инструмент tex2pdf, чтобы преобразовать его в .pdf.

    
ответ дан przemo_li 31.01.2011 в 08:07