{{tag>sysadmin docker dpkg debian man manuel documentation}} ====== Docker : Pages manuel absentes des images debian slim ====== Docker propose des images Debian taguée *-slim. Dans ces images malgré l'installation du manuel et des paquets intégrant de la documentation, l'appel du manuel ne retourne pas de résultat: man man No manual entry for man See 'man 7 undocumented' for help when manual pages are not available. La commande **apt-file** permet d'identifier le paquet contenant un fichier voulu. Ici on recherche la documentation du manuel: apt-file search man/man1/man.1.gz man-db: /usr/share/man/man1/man.1.gz La commande apt-file nous indique que la documentation du manuel est fournie par le paquet **man-db**. Le paquet est cependant déjà installé comme le montre le retour de la commande **dpkg** ci-dessous: dpkg -l | grep man-db ii man-db 2.8.5-2 amd64 on-line manual pager Malgré l'installation correcte du paquet **man-db** le fichier **/usr/share/man/man1/man.1.gz** est absent du système: ls /usr/share/man/man1/man.1.gz ls: cannot access '/usr/share/man/man1/man.1.gz': No such file or directory Si on télécharge le paquet et qu'on le décompresse avec les commandes suivantes, les pages de documentation du manuel sont bien installées: # Téléchargement du paquet dans le répertoire courant apt-get download man-db # Liste le contenu de l'archive pour vérifier la présence du fichier dans l'archive dpkg-deb --contents man-db_2.8.5-2_amd64.deb | grep man/man1/man.1.gz -rw-r--r-- root/root 12634 2019-02-10 12:14 ./usr/share/man/man1/man.1.gz # Décompresse l'archive dpkg-deb -x man-db_2.8.5-2_amd64.deb / # Vérifie la présence du fichier sur le système ls /usr/share/man/man1/man.1.gz /usr/share/man/man1/man.1.gz On peut voir que la décompression à l'aide de l'utilitaire **dpkg-deb** se comporte comme attendu et que le fichier est bien présent sur le système. C'est donc une option de configuration du gestionnaire de paquet qui conduit à ignorer certains fichiers. Le choix a été fait d'exclure certains fichiers (dont ceux de la documentation) afin de réduire la taille des images Debian étiquetées *-slim. Ceci peut être fait en paramétrant **dpkg** via les fichiers présents dans **/etc/dpkg/dpkg.cfg.d/** et plus particulièrement via le fichier **/etc/dpkg/dpkg.cfg.d/docker**. Depuis la ligne de commande, lors de l'installation d'un paquet on peut exclure un ensemble de fichiers via les options **%%--path-exclude%%** et **%%--path-include%%** # Installe le paquet man-db en excluant tous les fichiers de documentation sauf /usr/share/man/man1/man.1.gz dpkg --path-exclude='/usr/share/man/*' --path-include='/usr/share/man/man1/man.1.gz' -i man-db_2.8.5-2_amd64.deb