Не удалось запустить 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
Сначала я отвечу на основной вопрос:
dpkg -l | grep '^.i'
выведет список всех установленных пакетов. Эту информацию могут предоставить и другие инструменты; например
apt list --installed
В выводе dpkg -l
«не -установлен» действительно означает, что dpkg
известно о существовании пакета, даже если он не установлен в вашей системе. Сам файл пакета может быть доступен в вашей системе, например, в кеше APT в /var/cache/apt/archives
, но dpkg
об этом не знает. С точки зрения dpkg
, как вы говорите, вам нужно скачать файл пакета или получить его каким-то другим способом и установить.
dpkg
printun
(unknown ), так как его база данных не обновлена. Вы можете использовать пакет sync-available
from dctrl-tools
для синхронизации информации dpkg
с apt
.
sudo apt install dctrl-tools
sudo 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.