特にRaspberry pi(Raspbian Wheezyを実行)では、一般的に、すべてのmanページを無効にできますか?
これは、保存されたmanページ、「man-dbのトリガーの処理」などがないことを意味します。マニュアルページは常にインターネットで利用できるので、実際にインストールする必要はありません。それらを生成して保存する必要はないようです。
/usr/share/doc
。
特にRaspberry pi(Raspbian Wheezyを実行)では、一般的に、すべてのmanページを無効にできますか?
これは、保存されたmanページ、「man-dbのトリガーの処理」などがないことを意味します。マニュアルページは常にインターネットで利用できるので、実際にインストールする必要はありません。それらを生成して保存する必要はないようです。
/usr/share/doc
。
回答:
私は誰かが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
問題は、パッケージ管理システムがインストールするファイル(manページを含む)がそこに残ることを期待しているため、それらを削除するために使用するメカニズム(HalosGhostが示唆するすべてのパッケージの再構築を除く)はそれを混乱させることになります。
目的が単一目的のアプライアンスを作成することである場合、実行できる1つのアプローチは、アプライアンスのビルドと展開のステップを個別に行うことです。つまり、必要なすべてのパッケージを個別のビルド環境(別のSDカード、またはエミュレートされたRPi)にインストールし、本番環境で必要なものだけをビルド環境から本番環境にコピーします。その段階で、manページなど、本番環境で不要なものはすべて除外できます。
アップグレードされたOSまたはセキュリティ修正プログラムを取得するには、ビルド環境をアップグレードまたは再構築し、本番環境に再度コピー(またはrsync)します。
これは少し手間がかかりますが、ログオンして直接アップグレードを実行する場合と比較して、非常に制御された運用デバイスを提供します。
まあ、あなたのRPiが実行しているディストリビューションがわからないので、正確なコマンドについてはお答えできませんがman-db
、man
ユーティリティとさまざまなmanページの両方を提供するパッケージを削除できます。ただし、すべてのmanページを削除するには、各パッケージから各manページを削除する必要があります。これは、KiBのスペースを節約するだけの価値があるとは思えません。
本当にしたい場合は、各パッケージを再ビルドする必要があります。ArchlinuxやGentooのようなディストリビューションでは、これは必ずしも不可能ではありませんが、それでもかなり退屈です。「実践的」ではない他のディストリビューションでは、このタスクが非常に難しい場合があります。
apt-get remove --purge man-db
アンインストールもdebhelper
不要ですか?
$ 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
...
man-db
)。の/etc/dpkg.cfg.d
直接の呼び出しを処理するために、APTではなくviaを介して呼び出し後フックを追加しますdpkg
。
.deb
)のアクションとしては、dpkg
インストール後のアクションよりも簡単apt
です。パッケージ名がわかり、すべての*.list
ファイルでマンページを何度もスキャンする必要がないためです。私もそれdpkg
がフックを持っていることを忘れてしまいました...