Tôi có một hình ảnh Docker Centos 7 tối thiểu và tôi đang cố gắng lấy một số trang người dùng trên đó để giúp gỡ lỗi Dockerfile của tôi. Ra khỏi hộp, nó không có nhiều:
# man ls
No manual entry for ls
Mỗi câu trả lời Serverfault này , tôi đã cài đặt man-pages
RPM, và đó dường như đi tốt:
# 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!
Tuy nhiên:
# man ls
No manual entry for ls
Tôi đã từng rpm
kiểm tra xem có man-pages
phải bao gồm ls
trang man không, và có vẻ như nó có:
# rpm -ql man-pages | grep -w ls
/usr/share/man/man1p/ls.1p.gz
Nhưng có vẻ như nó không thực sự được cài đặt:
# man 1p ls
No manual entry for ls in section 1p
# ls -l /usr/share/man/man1p/
total 0
Và nó dường như không phải là bất cứ nơi nào khác trên hệ thống tập tin.
# find / -name ls.1\*
#
Tôi có thể tạo các tệp trong /usr/share/man/man1p/
, vì vậy có lẽ nó không phải là một sự kỳ lạ của hệ thống tệp ảo Docker.
Phần tốt nhất của điều này là điều tôi thực sự muốn ngay lúc này là trang man cho useradd
lệnh, thậm chí không có trong RPM đó. Nó ở trong 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
Mà đã được cài đặt.
# 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
Và, trên thực tế, các nhị phân (ví dụ /usr/sbin/useradd
) đang ở đó. Nhưng không phải trang đàn ông.
# ls -l /usr/share/man/man8/useradd.8.gz
ls: cannot access /usr/share/man/man8/useradd.8.gz: No such file or directory
Vì vậy, câu hỏi của tôi là:
- Tại sao tôi không thể tìm thấy bất kỳ trang nào được cho là trong
shadow-utils
RPM, khi tôi có thể tìm thấy các tệp nhị phân? - Tại sao không (thành công) cài đặt
man-pages
RPM cài đặt các tệp được cho là trong RPM đó?
Cập nhật: mỗi câu trả lời Aaron Marasco của và bình luận msuchy của , tôi đã cố gắng yum reinstall shadow-utils
. Như với yum install man-pages
, điều này dường như hoàn thành thành công, nhưng thực tế không đặt bất kỳ tệp nào vào /usr/share/man/
.
man-pages
gói được cài đặt không có trang man. Giải pháp là cài đặt lại các gói như vậy, ví dụ yum reinstall yum rpm
để bao gồm cả hai.