Использование dpkg для получения информации о пакетах

Не удалось запустить Apache, выдается сообщение об ошибке

(13)Permission denied: AH00091: httpd: could not open error log file /var/www/mytestdeployment/error.log.

AH00015: Unable to open logs

Поскольку SELinux находился в принудительном режиме, он не позволял Apache записывать в нестандартный -каталог журналов. Чтобы Дэн Уолш не плакал и CodeMed продуктивно,мы можем применить политику httpd _log _t к этому каталогу:

semanage fcontext -a -t httpd_log_t "/var/www/mytestdeployment(/.*)?"
restorecon -Rv /var/www/mytestdeployment

и подтвердите нажатием:

ls -lZ /var/www/mytestdeployment

Если у вас нет утилиты semanage, вы можете установить ее с помощью:

yum install policycoreutils-python

1
24.10.2019, 16:16
2 ответа

Сначала я отвечу на основной вопрос:

dpkg -l | grep '^.i'

выведет список всех установленных пакетов. Эту информацию могут предоставить и другие инструменты; например

apt list --installed

В выводе dpkg -l«не -установлен» действительно означает, что dpkgизвестно о существовании пакета, даже если он не установлен в вашей системе. Сам файл пакета может быть доступен в вашей системе, например, в кеше APT в /var/cache/apt/archives, но dpkgоб этом не знает. С точки зрения dpkg, как вы говорите, вам нужно скачать файл пакета или получить его каким-то другим способом и установить.

1
27.01.2020, 23:30

dpkg printun(unknown ), так как его база данных не обновлена. Вы можете использовать пакет sync-availablefrom dctrl-toolsдля синхронизации информации dpkgс apt.

sudo apt install dctrl-tools
sudo sync-available

man sync-available:

 sync-available - sync dpkg's available database with apt's database 

DESCRIPTION
This program updates the dpkg(8) available database with the data in the apt(8)
package database. This is required for grep-available(1) and other similar
programs to give up-to-date results.
1
27.01.2020, 23:30

Теги

Похожие вопросы