В большинстве случаев, когда файл существует в вашей системе, и вы получаете сообщение об ошибке, в котором говорится, что он не найден, это означает, что ОС не находит файл в вашей $PATH
переменной среды.
Самый простой способ заставить вашу ОС найти gunicorn
— это поместить gunicorn
под /usr/local/bin
, что находится в пути по умолчанию.
Добавление его местоположения к вашему пути будет учитываться только вашим активным сеансом, как только вы его закроете, он исчезнет, если только вы не поместите его в файл /etc/environment
и не перезагрузитесь.
Вы также можете настроить сервисную среду:
/etc/systemd/system/<service_name>.service.d
Создайте файл во вновь созданном каталоге и настройте среду службы, как показано ниже:
$ vim /etc/systemd/system/<service_name>.service.d/file.conf
[Service]
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/path_to_directory_containing_gunicorn
Esc:wq
запись PATH=$PATH :/path _к _каталогу _, содержащему _gunicorn НЕ БУДЕТ РАБОТАТЬ, как ожидалось
перезагрузить конфигурацию блоков
$ systemctl daemon-reload
dpkg -S
найдет только те файлы конфигурации, которые поставляются непосредственно в пакетах, а не те, которые создаются сценариями сопровождающего (или другими инструментами ). Для последнего нет общего решения, но лучше всего поискать ссылки на файл в /var/lib/dpkg/info
. В данном случае:
$ grep -rl /etc/samba/smb.conf /var/lib/dpkg/info
/var/lib/dpkg/info/samba-common.config
/var/lib/dpkg/info/samba-common.postinst
/var/lib/dpkg/info/samba-common.postrm
/var/lib/dpkg/info/samba-common.templates
Это предполагает, что файл управляется samba-common
; чтение файла postinst
подтвердит это.
Ответ Стивена Китта, вероятно, лучший, но если вы не можете его найти, вы также можете попробовать etckeeper
. Он не установлен по умолчанию в Debian и Ubuntu, но он есть в репозиториях, поэтому простой apt install etckeeper
должен это сделать.
Etckeeper помещает ваш /etc
под (контроль версий git ). Одна из вещей, которую он делает, это автоматическая фиксация каждый раз, когда вы устанавливаете/обновляете пакет.
Теперь вы можете использовать cd /etc && sudo git blame somefile
, чтобы узнать, когда он был скорректирован, и найти эту дату в/var/log/dpkg*
Это большая работа, но она должна работать, когда dpkg -S
не находит ее.