我最近将我的一个应用程序服务器升级到CentOS 6(.2),并在我可以解决以下问题时准备好用于生产;每当我尝试通过semanage添加自定义http端口时,我不断收到以下错误消息:
libsemanage.semanage_exec_prog: Child process /sbin/setfiles did not exit cleanly. libsemanage.semanage_install_active: setfiles returned error code -1. libsemanage.semanage_exec_prog: Child process /sbin/setfiles did not exit cleanly. libsemanage.semanage_install_active: setfiles returned error code -1. /usr/sbin/semanage: Could not commit semanage transaction
我正在尝试运行的命令:
semanage port -a -t http_port_t -p tcp 27960
当前内核:
2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux
当前的policycoreutils-python:
2.0.83-19.18.el6
最后,当前的selinux设置:
SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted
以前有人遇到过这个问题吗?如果是这样你是如何解决的?
提前致谢
– 编辑 –
我检查了/ var / log / messages,由于“内核:内存不足:杀死进程1648(semanage)得分769或牺牲孩子”,看起来semanage失败了.这很奇怪,因为我有一个接近完全克隆(在linode.com上)具有相同的cpu / mem规范,命令运行正常.
semanage一直失败的服务器上的free -t -m:
total used free shared buffers cached Mem: 489 79 410 0 0 11 -/+ buffers/cache: 67 422 Swap: 0 0 0 Total: 489 79 410
数字海洋上有一个非常相似的问题.某些VM主机(Digital Ocean,AWS,Rackspace)默认情况下可能没有启用交换空间,这显然会导致semanage被杀死.
原文链接:https://www.f2er.com/centos/373710.html在我玩过的CentOS 7虚拟机上,semanage在执行命令之前需要300到400 MB的空闲RAM,才能成功运行而不会被杀死.