Як встановити man сторінки на centos?


18

Примітка. Це стосується Centos 7. Якщо ви шукаєте відповідь Debian, перегляньте це питання . Ці відповіді тут не дублюються.

Після встановлення centos 7 я не можу отримати доступ до сторінок "man":

# man ls
-bash: man: command not found

Я спробував встановити його через yum

# yum install man-pages
... ok

Але знову:

# man ls
-bash: man: command not found

Чому?


1
Це надзвичайно дивно, як man(1)і дуже фундаментальний фрагмент системи. Ви можете спробувати перевстановити, тобто перейти yum reinstall /usr/bin/man.
фонбранд

Відповіді:


17

Для того , щоб використовувати команду людини, необхідно також встановити manпакет до або після man-pagesодного

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

Тепер manвстановлено

# 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
Мабуть, це не працює на centOS всередині докерного контейнера. Я знаю, що я змусив це працювати в центрі VM, але не знаю, чому це не працює в контейнері.
трикотажу

9
Гаразд, я просто знайшов свою відповідь. Зображення Docker centos попередньо встановлені з tsflags = nodocs, встановленими в /etc/yum.conf. Дивіться hub.docker.com/_/centos
джерсі боб

Так, ви праві! +1 для доповнення. Спасибі!
Ремі Б.

6

У мене була та ж проблема в моєму Docker контейнері і вирішив її закомментировать tsflags=nodocsв /etc/yum.confфайлі, то я видалив людино-сторінок і людино-дб і встановіть їх знову. Це добре працює таким чином.

$ vi /etc/yum.conf

Знайдіть tsflagsу файлі та додайте коментар (#) перед ним:

#tsflags=nodocs

Тепер видаліть man-db та man-сторінки, якщо вони вже встановлені у вашій системі:

$ yum remove man-pages man-db

Потім встановіть їх знову:

$ yum install man-pages man-db

Відсортовано!


Це був секретний соус для моєї установки WSL centos75 на windows.
Чой


0

Як вказував Р. S , офіційні зображення Docker CentOS відключили встановлення сторінки вручну. Це стосується і офіційних зображень Docker Fedora.

Найпростіше впоратися з цим за допомогою наступної sedкоманди, яка буде працювати в будь-якій системі:

sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true

Це призведе до повідомлення про помилку, в якому зазначається, що він не може прочитати один з двох файлів, але той, який існує, буде оновлений, щоб прокоментувати tsflags=nodocsрядок. В || trueкінці гарантує, що команда повертає успіх незалежно від помилок, щоб уникнути зупинки в сценаріях.

Це можна використовувати в RUNкоманді в a Dockerfile, і в цьому випадку ви повинні використовувати її перед встановленням подальших пакунків. Для пакунків, які ви вже встановили, будь-які сторінки вручну, які зазвичай постачаються з ними, залишаться невстановленими, і пакунок доведеться перевстановити, щоб відобразити сторінки вручну. Багато пакунків із посібниками базової системи (як-от ls) є в man-pagesупаковці, але інші пакунки, такі як gitїх власні сторінки керівництва, також потребують перевстановлення.

Видалення та повторна інсталяція пакетів може створити проблеми із залежністю. Щоб цього уникнути, використовуйте:

yum -y reinstall man-pages git
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.