web-dev-qa-db-ja.com

Docker – debian:stretch-slim – manのインストールとmanページの表示

debian:stretch Dockerイメージを使用する場合、 /usr/share/man/ ディレクトリにはすでに多くの manpagesmanが含まれています をインストールして簡単に表示できます。

$ apt-get update
$ apt-get install man
$ man ls
$ man cp

ただし、 debian:stretch-slim Dockerイメージを使用する場合、/usr/share/man/ディレクトリは意図的に空になっています。

これらのタグは、よりスリムなベースを提供するための実験です(manページやドキュメントなど、コンテナ内では通常必要ない余分なファイルをいくつか削除します)

私は(そのようmancatchmodchowncplsmkdirmvrm、などなど)コアユーティリティのビューマンページをtail使用できるように、どのように私は、/usr/share/man/ディレクトリを移入しますか?

3
TachyonVortex

coreutils パッケージ /usr/share/man/man1/ディレクトリにコアユーティリティのマンページを追加します

ただし、 dpkgapt-get update を除外するように構成されているため、単にapt-get install coreutilsおよび/usr/share/man/*を実行するだけでは不十分です。 、path-exclude/etc/dpkg/dpkg.cfg.d/dockerを使用します( ここ および ここ を参照)。

したがって、最初のステップは/etc/dpkg/dpkg.cfg.d/dockerファイルからその行を削除することです。これを行う1つの方法は、 sed を使用することです。

$ sed -i '/path-exclude \/usr\/share\/man/d' /etc/dpkg/dpkg.cfg.d/docker

dpkg/usr/share/groff/* を除外するように設定されており、これも元に戻す必要があります( groff はマンページをレンダリングするための順序):

$ sed -i '/path-exclude \/usr\/share\/groff/d' /etc/dpkg/dpkg.cfg.d/docker

ここで、/usr/share/man/man1/ディレクトリにcoreutilsパッケージからデータを入力する必要があります。 coreutilsdebian:stretch-slim Dockerイメージにすでにインストールされているため、再インストールする必要があります。

$ apt-get update
$ apt-get install --reinstall coreutils

最後に、manをインストールして、マンページを表示できます。

$ apt-get install man
$ man ls
$ man cp

less をインストールすると便利です。これは、manがマンページのページ付けに使用し、デフォルトよりも優れたエクスペリエンスを提供します more ページネーター:

$ apt-get install less

関連する質問:

5
TachyonVortex