web-dev-qa-db-ja.com

すべてのmanページを無効にできますか?

特にRaspberry Pi(Raspbian Wheezyを実行)では、一般的に、すべてのmanページを無効にできますか?

これは、保存されたmanページ、「man-dbのトリガーの処理」などがないことを意味します。マニュアルページは常にインターネットで利用できるため、実際にインストールする必要はありません。また、それらを生成して保存する必要はないようです。

14
Soumya

私は誰かがWandboardのためにまとめたDebian 8イメージで反対の問題を抱えていました。すでにインストールされているいくつかのパッケージのマニュアルページを見つけようとしたところ、debファイルに存在していても、新しいパッケージをインストールした後、そのマニュアルページが見つからないことに気付きました。

次に、このファイル01_nodocを/etc/dpkg/dpkg.conf.dで見つけました。これは、スペースが貴重な場合に、マニュアルページとロケールおよび著作権ファイルを削除してスペースを節約する方法に関する元の質問に対する簡単な解決策です(たとえば、埋め込みシステム)。

# /etc/dpkg/dpkg.conf.d/01_nodoc

# Delete locales
path-exclude=/usr/share/locale/*

# Delete man pages
path-exclude=/usr/share/man/*

# Delete docs
path-exclude=/usr/share/doc/*
path-include=/usr/share/doc/*/copyright
16
Space Saver

問題は、パッケージ管理システムがインストールするファイル(manページを含む)がそこに残ることを期待しているため、それらを削除するために使用するメカニズム(HalosGhostが示唆するすべてのパッケージの再構築を除く)が混乱することです。

目的が単一目的のアプライアンスを作成することである場合、実行できる1つのアプローチは、アプライアンスのビルドと展開のステップを個別に行うことです。つまり、必要なすべてのパッケージを個別のビルド環境(別のSDカード、またはエミュレートされたRPi)にインストールし、本番環境で必要なものだけをビルド環境から本番環境にコピーします。その段階で、manページなど、本番環境で不要なものはすべて除外できます。

アップグレードされたOSまたはセキュリティ修正を取得するには、ビルド環境をアップグレードまたは再構築し、本番環境に再度コピー(またはrsync)します。

これは少し手間がかかりますが、ログオンして直接アップグレードを実行する場合と比較して、非常に制御された運用デバイスを提供します。

6

まあ、あなたのRPiが実行されているディストリビューションがわからないので、正確なコマンドをお教えすることはできませんが、man-dbmanユーティリティとさまざまなmanページの両方を提供するパッケージ。ただし、すべてのmanページを削除するには、各パッケージから各manページを削除する必要があります。これは、KiBのスペースを節約するだけの価値があるとは思えません。

本当にしたい場合は、各パッケージを再構築する必要があります。 ArchlinuxやGentooのようなディストリビューションでは、これは必ずしも不可能ではありませんが、それでもかなり退屈です。他のそれほど「実践的な」ディストリビューションでは、このタスクは信じられないほど難しいかもしれません。

5
HalosGhost
$ cat /etc/apt/apt.conf.d/90debsums 
DPkg::Post-Invoke { "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums --generate=nocheck -sp /var/cache/apt/archives; fi"; };

パッケージdebsumsは、独自のmd5sumsファイルがまだない状態でパッケージがインストールされた後、パッケージのmd5sumリストを自動的に生成するアクションをインストールします。

各インストールアクションの後に、同様のインストール後アクションスキャンを追加して、マンページ(および情報ドキュメント)をスキャンして削除できます。

マンページと所有パッケージを取得するには、すべての/var/lib/dpkg/info/PACKAGENAME.listファイルをスキャンする必要があります。

削除されたマンページについて言及しないように、*.listファイルを更新する必要があります。

localepurgeも部分的にこれを行います。 apt-cache show localepurgeから引用:

これは、不要なロケール、Gnome/KDEのローカリゼーション、およびローカライズされたmanページのために無駄になっているディスク領域を回復するためのスクリプトです。インストールによっては、ローカライズ専用のディスク領域を200、300、またはさらにメガバイト節約できる可能性があり、ほとんどの場合使用できません。 aptのインストール操作が完了すると自動的に実行されます。

最も重要な引用:

システムを使用してシステムを破壊した場合は、localepurgeを非難するようなバグを報告しないようにしてください。自分が何をしているかわからず、結果として生じた破損を自分で処理できない場合は、このパッケージを使用しないでください。

;-D

したがって、完全なバックアップを作成し、manpagekiller...を作成してみてください。

4
user62916