LINUX.ORG.RU

История изменений

Исправление tz4678, (текущая версия) :

В твоей системе есть пакеты. Пакет в Linux - это набор разного говна, в т.ч. man-файлов. Это обычные текстовык файлы, которые разбросаны где ни попадя. Чтобы производить быстрый поиск по этим файлам, их содержимое нужно проиндексировать (засунуть в какую-то базу, где хранятся упорядоченные данные):

➜ fd index.db /                        
/var/cache/man/index.db
/var/cache/man/sk/index.db
/var/cache/man/zh/index.db
/var/cache/man/zh_TW/index.db
/var/cache/man/hr/index.db
/var/cache/man/zh_CN/index.db
/var/cache/man/uk/index.db
/var/cache/man/pt_PT/index.db
/var/cache/man/tr/index.db
/var/cache/man/tr.ISO8859-9/index.db
/var/cache/man/sv/index.db
/var/cache/man/ru/index.db
/var/cache/man/ru.UTF-8/index.db
...

index.db - это файлы с данными для Berkley DB. Почему она используется в душе не апу

➜ file /var/cache/man/ru/index.db
/var/cache/man/ru/index.db: GNU dbm 1.x or ndbm database, little endian, 64-bit

Что там лежит поможет узнать Python:

➜ sudo ipython                              
Python 3.9.6 (default, Jun 30 2021, 10:22:16) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.25.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import dbm
In [2]: with dbm.open('/var/cache/man/ru/index.db') as db:
   ...:     k = db.firstkey()
   ...:     while k is not None:
   ...:         print(k.decode(), '=>', db.get(k).decode())
   ...:         k = db.nextkey(k)
   ...: 
   ...: 
man => -        1 1     1624371230      0       A       -       t    gz доступ к системным справочным страницам
faillog 8 => -  8 8     1599486121      0       A       -       -    gz показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему
manpath =>      manpath 1       manpath 5
mc => - 1       1 1617282218    0       A       -       -       gz   Визуальная оболочка для Unix-подобных систем.
man-recode => - 1 1     1624371230      0       A       -       -    gz изменяет кодировку справочных страниц
groupadd => -   8 8     1599486121      0       A       -       -    gz создаёт новую группу
login.defs => - 5 5     1599486121      0       A       -       -    gz содержит конфигурацию подсистемы теневых паролей
userdel => -    8 8     1599486121      0       A       -       -    gz удаляет учётную запись и файлы пользователя
chgpasswd => -  8 8     1599486121      0       A       -       -    gz обновляет пароли групп в пакетном режиме
accessdb => -   8 8     1624371230      0       A       -       -    gz сбрасывает содержимое базы данных man-db в понятный человеку формат
passwd  1 => -  1 1     1599486121      0       A       -       -    gz изменяет пароль пользователя
$version$ => 2.5.0
whatis => -     1 1     1624371230      0       A       -       -    gz показывает однострочные описания справочных страниц
zsoelim => -    1 1     1624371230      0       A       -       -    gz выполняет .so запросы для входящих данных roff
useradd => -    8 8     1599486121      0       A       -       -    gz регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях
shadow =>       shadow  3       shadow  5
peekfd => -     1 1     1612727867      0       A       -       -    gz подглядывает в файловые дескрипторы выполняющихся процессов
...
nmap => -       1 1     1605046041      0       A       -       -    gz Утилита для исследования сети и сканер портов
...

Судя по всему, man-db.service нужен для генерации краткой справки по командам:

➜ LANGUAGE=ru_RU whatis nmap
nmap (1)             - Утилита для исследования сети и сканер портов

Исходная версия tz4678, :

В твоей системе есть пакеты. Пакет в Linux - это набор разного говна, в т.ч. man-файлов. Это обычные текстовык файлы, которые разбросаны где ни попадя. Чтобы производить быстрый поиск по этим файлам, их содержимое нужно проиндексировать (засунуть в какую-то базу, где хранятся упорядоченные данные):

➜ fd index.db /                        
/var/cache/man/index.db
/var/cache/man/sk/index.db
/var/cache/man/zh/index.db
/var/cache/man/zh_TW/index.db
/var/cache/man/hr/index.db
/var/cache/man/zh_CN/index.db
/var/cache/man/uk/index.db
/var/cache/man/pt_PT/index.db
/var/cache/man/tr/index.db
/var/cache/man/tr.ISO8859-9/index.db
/var/cache/man/sv/index.db
/var/cache/man/ru/index.db
/var/cache/man/ru.UTF-8/index.db
...

index.db - это файлы с данными для Berkley DB. Почему она используется в душе не апу

➜ file /var/cache/man/ru/index.db
/var/cache/man/ru/index.db: GNU dbm 1.x or ndbm database, little endian, 64-bit

Что там лежит поможет узнать Python:

➜ sudo ipython                              
Python 3.9.6 (default, Jun 30 2021, 10:22:16) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.25.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import dbm
In [2]: with dbm.open('/var/cache/man/ru/index.db') as db:
   ...:     k = db.firstkey()
   ...:     while k is not None:
   ...:         print(k.decode(), '=>', db.get(k).decode())
   ...:         k = db.nextkey(k)
   ...: 
   ...: 
man => -        1 1     1624371230      0       A       -       t    gz доступ к системным справочным страницам
faillog 8 => -  8 8     1599486121      0       A       -       -    gz показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему
manpath =>      manpath 1       manpath 5
mc => - 1       1 1617282218    0       A       -       -       gz   Визуальная оболочка для Unix-подобных систем.
man-recode => - 1 1     1624371230      0       A       -       -    gz изменяет кодировку справочных страниц
groupadd => -   8 8     1599486121      0       A       -       -    gz создаёт новую группу
login.defs => - 5 5     1599486121      0       A       -       -    gz содержит конфигурацию подсистемы теневых паролей
userdel => -    8 8     1599486121      0       A       -       -    gz удаляет учётную запись и файлы пользователя
chgpasswd => -  8 8     1599486121      0       A       -       -    gz обновляет пароли групп в пакетном режиме
accessdb => -   8 8     1624371230      0       A       -       -    gz сбрасывает содержимое базы данных man-db в понятный человеку формат
passwd  1 => -  1 1     1599486121      0       A       -       -    gz изменяет пароль пользователя
$version$ => 2.5.0
whatis => -     1 1     1624371230      0       A       -       -    gz показывает однострочные описания справочных страниц
zsoelim => -    1 1     1624371230      0       A       -       -    gz выполняет .so запросы для входящих данных roff
useradd => -    8 8     1599486121      0       A       -       -    gz регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях
shadow =>       shadow  3       shadow  5
peekfd => -     1 1     1612727867      0       A       -       -    gz подглядывает в файловые дескрипторы выполняющихся процессов
...

Судя по всему, man-db.service нужен для генерации краткой справки по командам:

➜ LANGUAGE=ru_RU whatis nmap
nmap (1)             - Утилита для исследования сети и сканер портов