I need to run some bash script only once on first boot (after OS installation) of my CentOS machine This script should run before network service start (because this script will change network configuration) How can I register my script to run before network service start?
If you look at the "chkconfig" line of /etc/init.d/network you'll see that the network has a start priority of "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 to get it to run at boot. The
chkconfig yourscript off inside the script should disable it running on any subsequent boots.
Some versions of CentOS/RHEL/Fedora have a "firstboot" program you could try to use, but that seems like a pain.
You sure you can't run your network reconfiguration script inside of a %post in a kickstart? That's what I do.