Как запустить скрипт при первой загрузке?
Мне нужно запустить какой-нибудь сценарий bash только один раз при первой загрузке (после установки ОС) моего компьютера CentOS. Этот сценарий должен быть запущен до запуска сетевой службы (поскольку этот сценарий изменит конфигурацию сети) Как я могу зарегистрировать свой сценарий для запуска до запуска сетевой службы?
2 ответа
Если вы посмотрите на строку "chkconfig" в /etc/init.d/network, вы увидите, что сеть имеет начальный приоритет "10".
/etc/init.d/yourscript:
#!/bin/bash
#
# yourscript short description
#
# chkconfig: 2345 9 20
# description: long description
case "$1" in
start)
Do your thing !!!
chkconfig yourscript off
;;
stop|status|restart|reload|force-reload)
# do nothing
;;
esac
Тогда беги chkconfig yourscript on
заставить его работать при загрузке. chkconfig yourscript off
внутри скрипта следует отключить его запуск при любых последующих загрузках.
В некоторых версиях CentOS/RHEL/Fedora есть программа "firstboot", которую вы можете попробовать использовать, но это похоже на боль.
Вы уверены, что не можете запустить сценарий реконфигурации сети внутри%post в кикстарте? Это то, чем я занимаюсь.
Простой ответ: вставь /etc/init.d
(символическая ссылка на /etc/rc#.d
) & первое, что он делает, это проверяет наличие файла: если файл существует, скрипт уже запущен (так что выход). Если нет, запустите скрипт и коснитесь файла.
Это также позволяет удалить файл, чтобы принудительно запустить скрипт позже.