Я могу прикоснуться к файлу /.autorelabel и перезагрузиться, и во время восстановления инициализации он выполнит замену SELINUX для меня. Но я хочу сделать это в другой ситуации, когда система только что была скопирована на образ жесткого диска. Я могу chroot к исходному дереву файлов или chroot к только что заполненному образу устройства и запускать его. Я просто не могу найти ничего, что говорило бы, что нужно запускать.
Этот образ превращается в AMI на AWS EC2 и содержит CentOS 6.3. Но время, необходимое для повторной маркировки, слишком велико (6 минут и более). Я хочу переместить метку в сборку образа, где дополнительное время не является проблемой (потому что это происходит один раз, а не каждый раз при запуске AMI). Я могу сделать эту перемаркировку самой последней вещью перед тем, как файловая система будет размонтирована в последний раз, пока она не станет AMI и не запустится. Мне просто нужно знать, как это сделать.
Я безуспешно искал страницы руководства. Я искал системные сценарии инициализации, но там, где обнаружен /.autorelabel, неясно, что происходит.
Документы вроде http://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-fsrelabel.html только скажите, как делать то, что действительно работает после перезагрузки. Мне нужно, чтобы работа выполнялась ДО "перезагрузки" (отключение, сборка AMI и запуск готов к работе).
Важный момент в том, что ... да, будет перезагрузка ... но я хочу, чтобы работа по перемаркировке была выполнена до этого, чтобы она не выполнялась каждый раз при запуске AMI (потому что это занимает так много времени).
Если вы копируете файлы из одной файловой системы в другую, вы можете:
cp
, добавить -c
возможность скопировать контекст SELinux.tar
, добавить --selinux
возможность скопировать контекст SELinux.Это может сэкономить вам некоторое время, поскольку файлы назначения имеют ожидаемый контекст при условии, что контексты правильны с самого начала.
Что касается fixfiles
, это обертка для restorecon
, что я обычно использую. когда /.autorelabel
присутствует, запускается сценарий инициализации restorecon -p -r /
, который печатает точки в течение шести минут, а затем перезагружается. я предпочитаю -v
для подробного списка контекстов, которые изменились, вместо -p
. В любом случае вам следует chroot
в файловую систему, прежде чем запускать это.
Команда fixfiles relabel
может использоваться для изменения метки файловой системы без перезагрузки. Большинству людей следует прочитать предупреждения внизу руководства по развертыванию Centos, в котором говорится о перемаркировка файловой системы, но это не должно быть проблемой при предстоящей перезагрузке.