Như R. S đã chỉ ra , các hình ảnh Docker chính thức của CentOS đã tắt cài đặt trang thủ công. Điều này cũng đúng với hình ảnh Docker chính thức của Fedora.
Cách dễ nhất để xử lý việc này là thông qua sed
lệnh sau , sẽ hoạt động trên một trong hai hệ thống:
sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true
Điều này sẽ tạo ra một thông báo lỗi cho biết nó không thể đọc một trong hai tệp, nhưng bất kỳ tệp nào tồn tại sẽ được cập nhật để nhận xét tsflags=nodocs
dòng. Các|| true
tại này để thỏa mãn mục đích đó lệnh trở về thành công cho dù có lỗi, để tránh ngập ngừng trong kịch bản.
Điều này có thể được sử dụng trong một RUN
lệnh trong Dockerfile
, trong trường hợp đó bạn nên sử dụng nó trước khi cài đặt bất kỳ gói nào khác. Đối với các gói bạn đã cài đặt bất kỳ trang thủ công nào thường đi kèm với chúng sẽ vẫn được gỡ cài đặt và gói sẽ phải được cài đặt lại để đưa vào các trang thủ công. Nhiều trang hướng dẫn của hệ thống cơ sở (chẳng hạn như ls
) nằm trong man-pages
gói, nhưng các gói khác, chẳng hạn như git
bao gồm các trang thủ công của riêng họ và cũng cần phải được cài đặt lại.
Loại bỏ và sau đó cài đặt lại các gói có thể tạo ra các vấn đề phụ thuộc. Để tránh những điều này thay vì sử dụng:
yum -y reinstall man-pages git
man(1)
là một phần rất cơ bản của hệ thống. Bạn có thể thử cài đặt lại, tức là điyum reinstall /usr/bin/man
.