Centos 7 Docker 이미지가 최소이며 Dockerfile을 디버깅하는 데 도움이되는 매뉴얼 페이지를 가져 오려고합니다. 기본적으로 많은 것이 없습니다.
# man ls
No manual entry for ls
당 이에 Serverfault 대답 , 나는 설치된 man-pages
RPM을, 그리고 잘 갈 듯 :
# yum install -y man-pages
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.vtti.vt.edu
* extras: centos.mbni.med.umich.edu
* updates: centos.netnitco.net
Resolving Dependencies
--> Running transaction check
---> Package man-pages.noarch 0:3.53-5.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Installing:
man-pages noarch 3.53-5.el7 base 5.0 M
Transaction Summary
======================================================================================================
Install 1 Package
Total download size: 5.0 M
Installed size: 4.6 M
Downloading packages:
man-pages-3.53-5.el7.noarch.rpm | 5.0 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : man-pages-3.53-5.el7.noarch 1/1
Verifying : man-pages-3.53-5.el7.noarch 1/1
Installed:
man-pages.noarch 0:3.53-5.el7
Complete!
하나:
# man ls
No manual entry for ls
맨 페이지 가 포함되어 rpm
있는지 확인하는 데 사용 했지만 다음과 같습니다.man-pages
ls
# rpm -ql man-pages | grep -w ls
/usr/share/man/man1p/ls.1p.gz
그러나 실제로 설치된 것처럼 보이지 않습니다.
# man 1p ls
No manual entry for ls in section 1p
# ls -l /usr/share/man/man1p/
total 0
그리고 파일 시스템의 다른 곳도 아닌 것 같습니다.
# find / -name ls.1\*
#
에서 파일을 만들 수 /usr/share/man/man1p/
있으므로 Docker 가상 파일 시스템의 이상이 아닐 수도 있습니다.
이것의 가장 좋은 부분은 바로이 순간에 내가 원했던 것은 useradd
명령에 대한 매뉴얼 페이지였으며, 심지어 RPM에도 없었습니다. 에 shadow-utils
있습니다.
# yum whatprovides /usr/share/man/man8/useradd.8.gz
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.vtti.vt.edu
* extras: mirror.tzulo.com
* updates: centos.netnitco.net
2:shadow-utils-4.1.5.1-18.el7.x86_64 : Utilities for managing accounts and shadow password files
Repo : base
Matched from:
Filename : /usr/share/man/man8/useradd.8.gz
이미 설치되어 있습니다.
# yum install shadow-utils
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.vtti.vt.edu
* extras: centos.mbni.med.umich.edu
* updates: centos.netnitco.net
Package 2:shadow-utils-4.1.5.1-18.el7.x86_64 already installed and latest version
Nothing to do
그리고 실제로 바이너리 (예 :) /usr/sbin/useradd
가 있습니다. 그러나 매뉴얼 페이지는 아닙니다.
# ls -l /usr/share/man/man8/useradd.8.gz
ls: cannot access /usr/share/man/man8/useradd.8.gz: No such file or directory
그래서 내 질문은 :
shadow-utils
바이너리를 찾을 수 있는데 왜 RPM 에 포함되어있는 매뉴얼 페이지를 찾을 수 없습니까?- 왜
man-pages
RPM을 설치하면 해당 RPM에 있어야하는 파일이 설치되지 않습니까?
업데이트 : 당 아론 Marasco의 대답 과 msuchy의 코멘트 , 나는 시도했다 yum reinstall shadow-utils
. 에서와 yum install man-pages
마찬가지로이 과정은 성공적으로 완료된 것으로 보이지만 실제로 파일을에 넣지는 않습니다 /usr/share/man/
.
man-pages
매뉴얼 페이지가 없다는 것을 알았습니다. 해결책은 이러한 패키지를 다시 설치 yum reinstall yum rpm
하는 것입니다.