web-dev-qa-db-ja.com

一般的なユーザーは、/ usr / share / docのドキュメントをどのように読むことが期待されますか?

最近、/usr/share/docに膨大な量のドキュメントがあることを知りました。

管理者権限がなければ直接アクセスできないように、多くのファイルがgzip圧縮されているようです。

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

これに対する1つの解決策は、すべてのユーザーがホームディレクトリ内の各アイテムを複製してそれを読み取ることですが、この配置は通常のブラウジングにはほとんど役立ちません。

通常の人はこのドキュメントをどのように読みますか?

一般的なユーザーは、ローカルのテキストドキュメントを読むためだけにWebサーバーをインストールして保守することを期待されているとは思わない。

42
ændrük

ほとんどは、ターミナルで使用するために jgbelacqua で説明され、非常にうまく説明されています。デスクトップマネージャーを使用しているユーザー向けにこれを追加するだけです。

グラフィカルデスクトップ(ここではGNOME)から/usr/share/docからドキュメントを読む最も簡単な方法は、(ダブル)クリックして、(ダブル)クリックできる標準のアーカイブマネージャー(ここではファイルローラー)で圧縮ファイルを開くことです標準エディタ(ここではGedit)で開いて読みます。ファイルを解凍しない限り、書き込み権限は不要です。

6
Takkat

ここには少なくとも2つの問題があります。

  1. .gzファイルを簡単に読み取る
  2. ディレクトリの権限
  3. (Texファイルのオプション)

#1には、gzip圧縮されたファイルにシームレスに対処するアプリケーションがいくつかあります。使用できるカップルはlessvimです。

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

viewvim -Rのエイリアスで、ファイルを読み取り専用で開くように指示します。

以前、システムにlessがインストールされる前は、gzcatを使用して、出力を別のユーティリティにパイプしていました。どうやら、現在はUbuntuでzcatとだけ呼ばれていますが、次のように使用します。

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

zcatは引き続き使用できます。zcatを使用して圧縮コンテンツをどこかにパイプすることは、場合によっては便利です。 (.bz2ファイルの状況では、bzcatが使用可能です。)

#2の場合、/ usr/share/docの下にあるすべてのファイルは、other + rx許可を持つディレクトリにあります。つまり、すべてのユーザーがディレクトリを検索できます(たとえば、コンテンツの一覧表示)内部のファイルを読み取ります。できないのは(デフォルトではrootのみが書き込み許可を持っているため)、ファイルを作成することです。あなたはそのディレクトリに解凍しようとしているので、デフォルトでは読み取り権限は持っているが書き込み権限は持っていないので拒否された権限を与えていると思います。

#3については、私よりも.texファイルを使用していると思います。しかし、ここでは、ホームまたは一時ファイルにコピーせずにそれらに対処する1つの方法を示します。このために、名前付きパイプを作成しますが、他のtexパイピングと処理のニーズにそれを再利用できます。次のようになります。

  • テキストをzcatまたはgzcat
  • ...そして、それをTeXプロセッサにパイプします
  • ...それを名前付きパイプに送信します(ここでは、彼をpipeyと呼びます)
  • ...そして、別の画面でpipeyから出力を取得します
  • ...それをdvi表示プロセスに送信します。

ここにあるものとは異なる、またはより良いユーティリティを使用する場合、これらの手順を明らかに変更できます。

私の例では、mkfifoユーティリティを使用して、名前付きパイプpipeyを作成します。処理するターゲットファイルは/usr/share/doc/gdb/refcard.tex.gzです。 2つのシェルコマンドラインを利用できる必要があります(ただし、ターミナル、Alt + F2、または経由)。

ターミナル1を入力します。

mkfifo pipey

これで永続的な名前付きパイプができました。 ls -lを使用してそれを覗くことができます。

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

このコマンドは、名前付きパイプに送られた出力で何かをするまで戻りません。

次に、ターミナル2で次のように入力します:tex pipey | xdvi

そして、それは機能します(まあ、とにかくここで)。プロセスはよりきれいな出力に向けて改良できますが、迅速で比較的混乱のないものを探しているなら、それはそれを行う1つの方法です。

20
belacqua

答えるには手遅れかもしれませんが、最良の解決策を見つけました(使いやすさと完全性の両方)

  • インストール dwwwinstall dwww

典型的なLinuxシステムには、多くの形式(マニュアルページ、Infoファイル、READMEなど)のドキュメントがあります。 dwwwを使用すると、同じインターフェイスであるWWWブラウザを介してこれらすべてにアクセスできます。これにより、ドキュメントが使いやすくなります。

dwwwは、DebianシステムのすべてのオンラインドキュメントへのWebインターフェイスです。インストールされているすべてのドキュメントを一覧表示するいくつかのWebページを構築し、すべてのドキュメントをHTMLに変換します。ユーザーがドキュメントを要求すると、変換が行われます。

  • CGIモジュールを有効にします。これは、最近のUbuntu/Apacheではデフォルトで無効になっています。

    Sudo a2enmod cgi
    Sudo service Apache2 restart
    
  • ブラウザーを開き、次をポイントします。 http:// localhost/dwww /

  • できた!

すべてのinfoページ、manページ、/usr/share/docファイルandパッケージの説明を1か所で!あなたの個人的なドキュメントのウェブサイト!

13
MestreLion

gunzip file.gzfile.gzfileに解凍しようとし、file.gzを削除します。そのため、「Permission denied」エラーが表示され、/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
7
Lekensteyn

最初にApache2をインストールします

Sudo apt-get install Apache2 Apache2-doc  

Apache2-docは、ここでは特別なケースです。 Webブラウザを介してドキュメント/usr/share/doc/を閲覧できます。 http://localhost/doc/から。

ただし、これは正しく機能しません。 Apacheの構成を変更して、*。gzファイルを圧縮解除してプレーンテキストとして表示するようにする必要があります。

Stack Overflowに投稿しました Apacheを使用して、/usr/share/doc/ディレクトリ内の* .gzドキュメントのコンテンツを表示する方法を取得します。これは、可能な解決策として投稿されたものです。

これらの手順を簡単に説明します。 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   
5
nelaaro