LinuxForum.Fans
Тема

Какому пакету принадлежит файл /etc/ssh/sshd_config?

Автор: yarmol76 17 сообщений 2777 просмотров
#318433

Я использую SSH. Когда установил все нужные пакеты для работы с помощью sudo apt-get install ssh, то у меня в системе появился файл /etc/ssh/sshd_config. Странно, что несмотря на то, что он установился с использованием dpkg, этот файл сам не принадлежит ни одному пакету. Я в командной строке ввожу

text
dpkg -S /etc/ssh/sshd_config

а в ответ получаю dpkg-query: no path found matching pattern /etc/ssh/sshd_config. Как узнать принадлежность этого файла пакету?

#318436

Надо документацию лучше читать:

dpkg -l | --list шаблон имени пакета ...
Показывает пакеты, соответствующие данному шаблону.
dpkg -s | --status имя пакета ...
Сообщает о состоянии указанного пакета.
dpkg -L | --listfiles имя пакета ...
Показывает файлы, установленные в системе из пакета с указанным именем.
dpkg -S | --search шаблон имени файла ...
Ищет в установленных пакетах имя файла по заданному шаблону.
dpkg -p | --print-avail I <имя пакета>
Выводит детальную информацию о пакете, которую извлекает
из файла /var/lib/dpkg/available.

http://www.opennet.ru/man.shtml?topic=dpkg&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man
Т.е., надо

text
dpkg -L /etc/ssh/sshd_config
#318441

Ты чего-то напутал. Я всё правильно делал.

Цитата из мана на моём компе (на сайте перевод некорректный, помоему):

text
-S, --search filename-search-pattern...
                  Search for a filename from installed packages.

dpkg -L /etc/ssh/sshd_config - синтаксис неправильный. После -L должно стоять имя пакета, чтобы определить все входящие в него файлы. А имя пакета я как раз и хочу определить.

#318443

Вообще у меня разные глюки есть. Пишу

text
dpkg -l *ssh*

мне в ответ: "Шаблону ssh_config не соответствует ни один пакет."
или

text
dpkg -l *ss*

а мне в ответ: "Шаблону ssh_config не соответствует ни один пакет.
Шаблону Торент-который-я-скачивал.torrent не соответствует ни один пакет."

#318446

Да, точно напутал, пардон :)
А, по-моему, нужно указывать путь не как /etc/ssh/sshd_config, а etc/ssh/sshd_config.

#318450
"yarmol76" написал:
Вообще у меня разные глюки есть. Пишу

Это не баг, а фича. Шаблону *ss* может соответствовать kiss, pass, passing. Т.е., все слова, что содержат ss. А если текущий каталог - /etc/ssh, то будут подставляться имена файлов... Естественно, пакетов с именем, например, ssh_config нету, вот и получается ошибка.

#318454
yars написал:
Да, точно напутал, пардон :)
А, по-моему, нужно указывать путь не как /etc/ssh/sshd_config, а etc/ssh/sshd_config.

Тот же самый результат. Ничего не находит. Как такое может быть?

#318455

все файлы, которые создаются пакетом на стадии postinst не регистрируется системой... дебиан не гента... тут много-чего бесхозного...
этот конкретно вринадлежит ssh-серверу. пакет в бубунте не знаю, как называется... искать по ключевым словам: open/ssh/server/daemon/sshd

#318458

А если экранировать знак подчеркивания?

text
dpkg -S etc/ssh/sshd\_config

Кстати, перевод мана по ссылке в сообщении №2 более-менее правильный.

#318459
yars написал:
А если экранировать знак подчеркивания?
text
dpkg -S etc/ssh/sshd\_config

Опять ничего

#318460

Полагаю, файл принадлежит пакету openssh-server, но просто не зафиксирован в базе данных dpkg. Потому что в пакете openssh-server есть файл /usr/share/doc/openssh-client/examples/sshd_config, в точности совпадающий с ним.

#318463

Ну, не знаю, по идее, пути всех устанавливаемых файлов должны записываться в базу данных пакетного менеджера, иначе смысла в нем нет. У меня в Slackware есть два способа определить принадлежность файла пакету:
1) по старинке:

text
$ grep "sshd\_config" /var/log/packages/*
/var/log/packages/openssh-6.1p1-i486-1:usr/man/man5/sshd_config.5.gz
/var/log/packages/openssh-6.1p1-i486-1:etc/ssh/sshd_config.new

2) новый способ:

text
# slackpkg file-search etc/ssh/sshd\_config

И все работает...

#318469
"yars⇓" написал:
Ну, не знаю, по идее, пути всех устанавливаемых файлов должны записываться в базу данных пакетного менеджера

не... они точно не регистрируются... я с mime-database на такое напаролся... потом долго плевался...

#318471
"Fat-Zer" написал:
не... они точно не регистрируются... я с mime-database на такое напаролся... потом долго плевался...

Хмм... Любопытно.
Ну а если так?

#318473
"yars⇓" написал:
Хмм... Любопытно.Ну а если так?

да как хочешь...

postinst это обычный тупой скрипт, который работает прямо на корне без всяких враперов и может сделать всё что угодно, хоть rm -rf /, и ни кто этого не запишет...
[added]
не досмотрел... тоже не должно работать т.к. в самом пакете этого файла нет... он просто создаётся при установке...

#318484

"Fat-Zer⇓" написал:
все файлы, которые создаются пакетом на стадии postinst не регистрируется системой
Мне кажется это нужно не для того чтобы создавать файлы, а для того чтобы вносить изменения в существующие файлы.
"yars⇓" написал:
Ну, не знаю, по идее, пути всех устанавливаемых файлов должны записываться в базу данных пакетного менеджера, иначе смысла в нем нет.
Согласен, это на совести разработчиков.
#318587
yars написал:

Ну а если так?

не помогло

Войдите или зарегистрируйтесь, чтобы ответить.