Não é possível instalar as páginas de manual no contêiner mínimo do Centos Docker
Eu tenho uma imagem mínima do Centos 7 Docker e estou tentando obter algumas páginas de manual para ajudar na depuração do meu Dockerfile. Fora da caixa, não tem muito:
Por esta resposta Serverfault , instalei o man-pagesRPM, e isso pareceu funcionar bem:
Eu costumava rpmverificar man-pagesse deveria incluir a lspágina de manual e parece que sim:
Mas não parece que ele foi realmente instalado:
E também não parece estar em nenhum outro lugar do sistema de arquivos.
Eu posso criar arquivos /usr/share/man/man1p/, então provavelmente não é uma esquisitice do sistema de arquivos virtual do Docker.
A melhor parte disso é que o que eu realmente queria neste minuto foi a página de manual do useraddcomando, que nem está nesse RPM. Está dentro shadow-utils.
O qual já está instalado.
E, de fato, os binários (por exemplo /usr/sbin/useradd) estão lá. Mas não as páginas de manual.
Por que não consigo encontrar nenhuma das páginas de manual que deveriam estar no shadow-utilsRPM, quando encontro os binários?
Por que a instalação do man-pagesRPM (com sucesso) não instala os arquivos que deveriam estar nesse RPM?
Atualização: Por resposta de Aaron Marasco e comentário de msuchy , tentei yum reinstall shadow-utils. Assim como yum install man-pages, isso parece ser concluído com êxito, mas na verdade não coloca nenhum arquivo /usr/share/man/.
pergunta semelhante em um centos 6 estivador imge: unix.stackexchange.com/questions/182500/no-manual-entry-for-man
Aconteceu comigo em uma configuração do Vagrant com o CentOS 7 - descobri que alguns pacotes instalados antes da instalação do man-pagespacote não tinham páginas de manual. A solução foi reinstalar esses pacotes, por exemplo, yum reinstall yum rpmpara cobrir esses dois.
Sua imagem provavelmente tem o nodocssinalizador de transação definido na configuração yum (cf. /etc/yum.conf).
Você pode removê-lo globalmente (ou na linha de comando do yum) antes de (re) instalar os pacotes para os quais deseja as páginas de manual.
Isso deveria ser --setopt=tsflags=''o sugerido na resposta da cúpula sul ? ( =for -)
@DavidMoles, sim, isso foi um erro de digitação - a sintaxe correta do comutador também foi usada no documento projetatômico referenciado.
Obrigado. Eu teria acabado de consertar, mas o limite de 6 caracteres. :)
por que reinstalar shadow-utils?
@ Tina, porque este é o pacote que fornece o comando useradd(que foi referenciado na pergunta).
Nada aqui funcionou e, além disso, a resposta aceita contém um erro de digitação. Eu não tenho representante suficiente para comentar lá, por isso estou adicionando aqui como resposta, caso ajude alguém.
Para instalar um pacote com páginas de manual, use:
Ou você pode remover permanentemente a linha do yum.conf, o que impede a instalação das páginas de manual. Para fazer isso, use:
Então você pode usar yum installou yum reinstallnormalmente.
+1 também, apenas para comentar a linha nodocs,sed -i 's/tsflags=nodocs/# &/' /etc/yum.conf
Sei que essa é uma pergunta antiga, mas, dado o tempo que passei acompanhando isso, será útil para outra pessoa eventualmente.
O problema está relacionado à maneira como o RPM é configurado na imagem do docker, verifique primeiro se a excludedocsdiretiva está listada na configuração do RPM da seguinte maneira:
Se estiver lá, você deve encontrar o arquivo que o especifica no meu caso, estava abaixo /etc/rpm/macros.imgcreatee removê-lo
O Yum deve executar toda a instalação da página de manual conforme o esperado (já que você também não possui o nodocs tsflagmencionado acima.
— imoschak
A imagem do Docker é extremamente reduzida. Eu acredito que eles removem as páginas de manual após a instalação dos RPMs. Você pode verificar isso com rpm -V shadow-utils. Sei que tive problemas ao tentar usar RPMs delta para atualizar pacotes porque as páginas de manual estão ausentes.
Infelizmente, acho que a única maneira de obter uma página de manual para algo seria forçar a reinstalação do RPM ou extraí-los manualmente do RPM e soltá-los no lugar.
Veja também este site, eu acho.
Sim. yum reinstall shadow-utilsvai consertar isso.
— msuchy
@msuchy Acabei de tentar isso, e não, não. Presumivelmente relacionado ao que impede a man-pagesinstalação correta?
@ aaron-d-marasco Isso explica por que eles não estão instalados, mas não explica o que está acontecendo quando tento instalar man-pages.