
На моем ноутбуке я впервые использую дистрибутив Fedora 17 и у меня возникли некоторые проблемы с добавлением правилsemodule
Пример:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
И вот что получается:
libsemanage.semanage_get_lock: Не удалось получить прямую блокировку транзакции в /etc/selinux/targeted/modules/semanage.trans.LOCK. (Ресурс временно недоступен). semodule: Ошибка на mypol.pp!
Я искал информацию, связанную с этой проблемой, но ничего не нашел.
Итак, есть ли какие-нибудь идеи, куда обратиться или что сделать, чтобы решить эту проблему?
решение1
Возможно, сейчас это вам не нужно, но я нашел решение этой проблемы в Google, поэтому опубликую свой ответ для тех, кто интересуется, как решить эту проблему.
Решение:
Когда вы получаете сообщение об ошибке, подобное приведенному выше, о «файле блокировки» и в нем говорится, что «ресурс временно недоступен», это обычно означает, что по какой-то причине программа уже запущена, и вы не можете запустить ее снова.
Поэтому вам нужно найти программу и завершить ее.
Выполнение следующей команды ищет процессы в системе для semodule
$ ps aux | grep semodule
Он вернет вывод, аналогичный этому:
root 6288 0.0 0.1 229084 7652 pts/1 T 22:34 0:00 sudo semanage permissive -a httpd_t
Второй столбец (значение 6288) — это идентификатор процесса, который уже запущен.
Вы можете убить его с помощью этой команды.
$ sudo kill -9 6288
решение2
У меня был лучший день после:
# setenforce 0 && setenforce 1
Это отключает, а затем включает selinux и, таким образом, устраняет любые состояния гонки, которые могут возникнуть при управлении настройками одновременно с применением selinux.