Làm thế nào để cài đặt trang man trên centos?


18

Lưu ý: Điều này áp dụng cho Centos 7. Nếu bạn đang tìm kiếm câu trả lời Debian, hãy xem câu hỏi này . Những câu trả lời sẽ không được sao chép ở đây.

Sau khi cài đặt centos 7, tôi không thể truy cập trang man:

# man ls
-bash: man: command not found

Tôi đã cố gắng cài đặt nó qua yum

# yum install man-pages
... ok

Nhưng một lần nữa:

# man ls
-bash: man: command not found

Tại sao?


1
Điều này là vô cùng kỳ lạ, như 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à đi yum reinstall /usr/bin/man.
vonbrand

Câu trả lời:


17

Để sử dụng lệnh man, bạn cũng phải cài đặt mangói trước hoặc sauman-pages một

# yum install man-pages
... ok
# yum install man
... ok

Bây giờ đã manđược cài đặt

# man ls


NAME
      ls - list directory contents

SYNOPSIS
      ls [OPTION]... [FILE]...

DESCRIPTION
      List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort.

      Mandatory arguments to long options are mandatory for short options too. ...

2
Rõ ràng điều này không hoạt động trên centOS bên trong một container docker. Tôi biết tôi đã nhận được điều này để làm việc trong một máy ảo centOS, nhưng không chắc tại sao nó không hoạt động trong container.
áo đậu

9
Ok, tôi chỉ tìm thấy câu trả lời của tôi. Hình ảnh Docker centos là prebuild với tsflags = gật đầu được đặt trong /etc/yum.conf. Xem hub.docker.com/_/centos
áo đậu

Vâng bạn đã đúng! +1 cho phần bù. Cảm ơn!
Rémi B.

6

Tôi gặp vấn đề tương tự trong container docker của mình và giải quyết nó bằng cách bình luận tsflags=nodocstrong /etc/yum.conftệp, sau đó tôi xóa man-page và man-db và cài đặt lại chúng một lần nữa. Nó hoạt động tốt theo cách này.

$ vi /etc/yum.conf

Tìm kiếm tsflagsvào tệp và thêm nhận xét (#) vào trước tệp:

#tsflags=nodocs

Bây giờ hãy xóa man-db và man-page nếu nó đã được cài đặt trên hệ thống của bạn:

$ yum remove man-pages man-db

Sau đó cài đặt lại:

$ yum install man-pages man-db

Sắp xếp!


Đây là nước sốt bí mật cho bản cài đặt WSL centos75 của tôi trên windows.
Choy

4

Cú pháp trên CentOS 7:

# yum install man-pages man-db man

Cú pháp trên CentOS 6:

$ sudo yum install man man-pages

Nguồn


0

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 sedlệ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=nodocsdò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 RUNlệ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-pagesgói, nhưng các gói khác, chẳng hạn như gitbao 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.