<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[SCRIPT] Auto rename debian machine]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I made a script launch as a service to update debian machine informations :</p>
<ul>
<li>/etc/hostname</li>
<li>/etc/hosts</li>
<li>/etc/dhcp/dhclient.conf</li>
</ul>
<p dir="auto">My rename_host_fog file</p>
<p dir="auto">[CODE]#!/bin/bash<br />
#########################################################</p>
<h1>Rename services with FoG, need mysql-client installed</h1>
<p dir="auto">#########################################################</p>
<h1>ch3i - 02/03/2015</h1>
<p dir="auto">#########################################################</p>
<h3>BEGIN INIT INFO</h3>
<h1>Provides:          rename_host</h1>
<h1>Required-Start:    $remote_fs $syslog $network</h1>
<h1>Required-Stop:    $remote_fs $syslog $network</h1>
<h1>Default-Start:    2 3 4 5</h1>
<h1>Default-Stop:      0 1 6</h1>
<h1>Short-Description: Rename host at boot</h1>
<h1>Description:      Rename host using FoG</h1>
<h3>END INIT INFO</h3>
<p dir="auto">#########################################################</p>
<h1>Configuration</h1>
<p dir="auto">#########################################################<br />
FOG_SERVER=“<a href="http://xxx.xxx.xxx.xxx" target="_blank" rel="noopener noreferrer nofollow ugc">xxx.xxx.xxx.xxx</a>”<br />
FOG_DATABASE_NAME=“fog”<br />
FOG_USER=“user_with_select_right”<br />
FOG_PASSWORD=“password”</p>
<p dir="auto">#########################################################</p>
<h1>Get MAC address (3 cards max)</h1>
<p dir="auto">#########################################################<br />
if [ -f /sys/class/net/eth0/address ]<br />
then<br />
MAC0=$(cat /sys/class/net/eth0/address)<br />
fi<br />
if [ -f /sys/class/net/eth1/address ]<br />
then<br />
MAC1=$(cat /sys/class/net/eth1/address)<br />
fi<br />
if [ -f /sys/class/net/eth2/address ]<br />
then<br />
MAC2=$(cat /sys/class/net/eth2/address)<br />
fi</p>
<p dir="auto">#########################################################</p>
<h1>Get machine name and domain from FoG database</h1>
<p dir="auto">#########################################################<br />
HOST_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostname FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC0’ OR hostMAC.hmMAC = ‘$MAC1’ OR hostMAC.hmMAC = ‘$MAC2’”);<br />
HOST_DOMAIN_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostADDomain FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC0’ OR hostMAC.hmMAC = ‘$MAC1’ OR hostMAC.hmMAC = ‘$MAC2’”);</p>
<p dir="auto">#########################################################</p>
<h1>Check machine configuration</h1>
<p dir="auto">#########################################################<br />
ACTUAL_FQDN=$(hostname --fqdn)<br />
if [ “$HOST_NAME.$HOST_DOMAIN_NAME” != “$ACTUAL_FQDN” ]<br />
then<br />
#########################################################</p>
<h1>Update hostname file</h1>
<p dir="auto">#########################################################<br />
echo $HOST_NAME &gt;/etc/hostname</p>
<p dir="auto">#########################################################</p>
<h1>Update hosts file</h1>
<p dir="auto">#########################################################<br />
echo “127.0.0.1      localhost” &gt; /etc/hosts<br />
echo "127.0.1.1      $HOST_NAME.$HOST_DOMAIN_NAME $HOST_NAME " &gt;&gt; /etc/hosts<br />
echo "# The following lines are desirable for IPv6 capable hosts<br />
::1    ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
ff02::3 ip6-allhosts    " &gt;&gt; /etc/hosts</p>
<p dir="auto">#########################################################</p>
<h1>Update dhclient file</h1>
<p dir="auto">#########################################################<br />
cp /etc/dhcp/dhclient.conf /tmp<br />
sed s/&lt;hostname&gt;/$HOST_NAME/ /tmp/dhclient.conf &gt; /etc/dhcp/dhclient.conf</p>
<p dir="auto">#########################################################</p>
<h1>Clear persistent network cards</h1>
<p dir="auto">#########################################################<br />
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]<br />
then<br />
rm /etc/udev/rules.d/70-persistent-net.rules<br />
fi</p>
<p dir="auto">#########################################################</p>
<h1>Reboot machine</h1>
<p dir="auto">#########################################################<br />
init 6<br />
fi<br />
[/CODE]</p>
<p dir="auto">My sysprep_fog file used to enable rename_host_fog services</p>
<p dir="auto">[CODE]#!/bin/bash<br />
#########################################################</p>
<h1>Sysprep to enable rename_host_fog service</h1>
<p dir="auto">#########################################################</p>
<h1>ch3i    - 02/03/2015</h1>
<p dir="auto">#########################################################</p>
<p dir="auto">#########################################################</p>
<h1>Install/update mysql-client</h1>
<p dir="auto">#########################################################<br />
apt-get -y install mysql-client</p>
<p dir="auto">#########################################################</p>
<h1>Copy/update rename_host_fog script in init.d</h1>
<p dir="auto">#########################################################<br />
if [ -f /etc/init.d/rename_host_fog ]<br />
then<br />
rm /etc/init.d/rename_host_fog<br />
fi<br />
cp rename_host_fog /etc/init.d/rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Update rename_host_fog rights</h1>
<p dir="auto">#########################################################<br />
chmod 755 /etc/init.d/rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Enable rename_host_fog service at startup</h1>
<p dir="auto">#########################################################<br />
insserv rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Reboot machine</h1>
<p dir="auto">#########################################################<br />
init 6<br />
[/CODE]</p>
<p dir="auto">The service is OK and update automatically my machine at boot if I modified information into FoG server, but won’t reboot <img src="http://forums.fogproject.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f615.png?v=p5dn7rglfv4" class="not-responsive emoji emoji-android emoji--confused" style="height:23px;width:auto;vertical-align:middle" title=":confused:" alt="😕" /></p>
<p dir="auto">Does anyone can help me ?</p>
<p dir="auto">Regards,<br />
Ch3i.</p>
]]></description><link>http://forums.fogproject.org/topic/4416/script-auto-rename-debian-machine</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 09:14:48 GMT</lastBuildDate><atom:link href="http://forums.fogproject.org/topic/4416.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Feb 2015 09:13:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [SCRIPT] Auto rename debian machine on Thu, 05 Feb 2015 12:33:09 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I updated the script :</p>
<ul>
<li>no limitation of number of ethernet card</li>
<li>update /etc/network/interfaces</li>
</ul>
<p dir="auto">[CODE]#!/bin/bash<br />
#########################################################</p>
<h1>Rename services with FoG, need mysql-client installed</h1>
<p dir="auto">#########################################################</p>
<h1>ch3i - 02/05/2015</h1>
<p dir="auto">#########################################################</p>
<h3>BEGIN INIT INFO</h3>
<h1>Provides:          rename_host_fog</h1>
<h1>Required-Start:    $all</h1>
<h1>Required-Stop:</h1>
<h1>Default-Start:    2 3 4 5</h1>
<h1>Default-Stop:      0 1 6</h1>
<h1>Short-Description: Rename host at boot</h1>
<h1>Description:      Rename host using FoG</h1>
<h3>END INIT INFO</h3>
<p dir="auto">#########################################################</p>
<h1>Configuration</h1>
<p dir="auto">#########################################################<br />
FOG_SERVER=“<a href="http://xxx.xxx.xxx.xxx" target="_blank" rel="noopener noreferrer nofollow ugc">xxx.xxx.xxx.xxx</a>”<br />
FOG_DATABASE_NAME=“fog”<br />
FOG_USER=“user_with_select_right”<br />
FOG_PASSWORD=“password”</p>
<p dir="auto">#########################################################</p>
<h1>Get interfaces</h1>
<p dir="auto">#########################################################<br />
NETWORK_CARDS=($(ls /sys/class/net/))</p>
<p dir="auto">#########################################################</p>
<h1>Get host name and domain from FoG database</h1>
<p dir="auto">#########################################################<br />
for ETH in ${NETWORK_CARDS[*]}<br />
do<br />
if [ “$ETH” != “lo” ]<br />
then<br />
MAC=$(cat /sys/class/net/$ETH/address)<br />
TEMP_HOST_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostname FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC’”);<br />
if [ “$TEMP_HOST_NAME” != “” ]<br />
then<br />
HOST_NAME=$TEMP_HOST_NAME<br />
HOST_DOMAIN_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostADDomain FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC’”);<br />
fi<br />
fi<br />
done</p>
<p dir="auto">#########################################################</p>
<h1>Check host configuration</h1>
<p dir="auto">#########################################################<br />
ACTUAL_FQDN=$(hostname --fqdn)<br />
if [ “$HOST_NAME.$HOST_DOMAIN_NAME” != “$ACTUAL_FQDN” ] &amp;&amp; [ “$HOST_NAME” != “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” != “” ]<br />
then<br />
#########################################################<br />
# Update hostname file<br />
#########################################################<br />
echo $HOST_NAME &gt;/etc/hostname</p>
<pre><code>#########################################################
# Update hosts file
#########################################################
echo "127.0.0.1      localhost" &gt; /etc/hosts
echo "127.0.1.1      $HOST_NAME.$HOST_DOMAIN_NAME $HOST_NAME " &gt;&gt; /etc/hosts
echo "# The following lines are desirable for IPv6 capable hosts
</code></pre>
<p dir="auto">::1    ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
ff02::3 ip6-allhosts" &gt;&gt; /etc/hosts</p>
<pre><code>#########################################################
# Update interfaces file
#########################################################
echo "# This file describes the network interfaces available on your system
</code></pre>
<h1>and how to activate them. For more information, see interfaces(5).</h1>
<h1>The loopback network interface</h1>
<p dir="auto">auto lo<br />
iface lo inet loopback" &gt; /etc/network/interfaces</p>
<pre><code>for ETH in ${NETWORK_CARDS[*]}
do
    if [ "$ETH" != "lo" ]
    then
    echo "# $ETH Interface
</code></pre>
<p dir="auto">allow-hotplug $ETH<br />
iface $ETH inet dhcp" &gt;&gt; /etc/network/interfaces<br />
fi<br />
done</p>
<pre><code>#########################################################
# Clear persistent network cards
#########################################################
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]
then
    rm /etc/udev/rules.d/70-persistent-net.rules
fi

#########################################################
# Logs and Reboot machine
#########################################################
echo "$(date) ::: Update successful with Hostname : $HOST_NAME and Domain : $HOST_DOMAIN_NAME" &gt;&gt; /var/log/rename_host_fog.log
/sbin/init 6
</code></pre>
<p dir="auto">fi<br />
if [ “$HOST_NAME” == “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” == “” ]<br />
then<br />
echo “$(date) ::: Update failed : Failed to connect to Mysql Server” &gt;&gt; /var/log/rename_host_fog.log<br />
fi<br />
if [ “$HOST_NAME” != “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” == “” ]<br />
then<br />
echo “$(date) ::: Update failed : Domain name is missing” &gt;&gt; /var/log/rename_host_fog.log<br />
fi<br />
[/CODE]</p>
<p dir="auto">Regards,<br />
Ch3i.</p>
]]></description><link>http://forums.fogproject.org/post/34252</link><guid isPermaLink="true">http://forums.fogproject.org/post/34252</guid><dc:creator><![CDATA[ch3i]]></dc:creator><pubDate>Thu, 05 Feb 2015 12:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to [SCRIPT] Auto rename debian machine on Tue, 03 Feb 2015 11:46:07 GMT]]></title><description><![CDATA[<p dir="auto">I solve my problem changing the required start.</p>
<p dir="auto">[CODE]### BEGIN INIT INFO</p>
<h1>Provides:          rename_host_fog</h1>
<h1>Required-Start:    $all</h1>
<h1>Required-Stop:</h1>
<h1>Default-Start:    2 3 4 5</h1>
<h1>Default-Stop:      0 1 6</h1>
<h1>Short-Description: Rename host at boot</h1>
<h1>Description:      Rename host using FoG</h1>
<h3>END INIT INFO[/CODE]</h3>
<p dir="auto">I improve the script by check if the FoG server respond.</p>
<p dir="auto">[CODE]if [ “$HOST_NAME.$HOST_DOMAIN_NAME” != “$ACTUAL_FQDN” ] &amp;&amp; [ “$HOST_NAME” != “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” != “” ][/CODE]</p>
<p dir="auto">Now the service check the name at boot and at shutdown.</p>
<p dir="auto">Below the new version :</p>
<p dir="auto">rename_host_fog</p>
<p dir="auto">[CODE]#!/bin/bash<br />
#########################################################</p>
<h1>Rename services with FoG, need mysql-client installed</h1>
<p dir="auto">#########################################################</p>
<h1>ch3i - 02/03/2015</h1>
<p dir="auto">#########################################################</p>
<h3>BEGIN INIT INFO</h3>
<h1>Provides:          rename_host_fog</h1>
<h1>Required-Start:    $all</h1>
<h1>Required-Stop:</h1>
<h1>Default-Start:    2 3 4 5</h1>
<h1>Default-Stop:      0 1 6</h1>
<h1>Short-Description: Rename host at boot</h1>
<h1>Description:      Rename host using FoG</h1>
<h3>END INIT INFO</h3>
<p dir="auto">#########################################################</p>
<h1>Configuration</h1>
<p dir="auto">#########################################################<br />
FOG_SERVER=“<a href="http://xxx.xxx.xxx.xxx" target="_blank" rel="noopener noreferrer nofollow ugc">xxx.xxx.xxx.xxx</a>”<br />
FOG_DATABASE_NAME=“fog”<br />
FOG_USER=“user_with_select_right”<br />
FOG_PASSWORD=“password”</p>
<p dir="auto">#########################################################</p>
<h1>Get MAC address (3 cards max)</h1>
<p dir="auto">#########################################################<br />
if [ -f /sys/class/net/eth0/address ]<br />
then<br />
MAC0=$(cat /sys/class/net/eth0/address)<br />
fi<br />
if [ -f /sys/class/net/eth1/address ]<br />
then<br />
MAC1=$(cat /sys/class/net/eth1/address)<br />
fi<br />
if [ -f /sys/class/net/eth2/address ]<br />
then<br />
MAC2=$(cat /sys/class/net/eth2/address)<br />
fi</p>
<p dir="auto">#########################################################</p>
<h1>Get machine name from FoG database</h1>
<p dir="auto">#########################################################<br />
HOST_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostname FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC0’ OR hostMAC.hmMAC = ‘$MAC1’ OR hostMAC.hmMAC = ‘$MAC2’”);<br />
HOST_DOMAIN_NAME=$(mysql --host=$FOG_SERVER --user=$FOG_USER --password=$FOG_PASSWORD $FOG_DATABASE_NAME -se “SELECT hosts.hostADDomain FROM hosts INNER JOIN hostMAC ON ( hosts.hostID = hostMAC.hmHostID ) WHERE hostMAC.hmMAC = ‘$MAC0’ OR hostMAC.hmMAC = ‘$MAC1’ OR hostMAC.hmMAC = ‘$MAC2’”);</p>
<p dir="auto">#########################################################</p>
<h1>Check machine configuration</h1>
<p dir="auto">#########################################################<br />
ACTUAL_FQDN=$(hostname --fqdn)<br />
if [ “$HOST_NAME.$HOST_DOMAIN_NAME” != “$ACTUAL_FQDN” ] &amp;&amp; [ “$HOST_NAME” != “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” != “” ]<br />
then<br />
echo “update”<br />
#########################################################</p>
<h1>Update hostname file</h1>
<p dir="auto">#########################################################<br />
echo $HOST_NAME &gt;/etc/hostname</p>
<p dir="auto">#########################################################</p>
<h1>Update hosts file</h1>
<p dir="auto">#########################################################<br />
echo “127.0.0.1      localhost” &gt; /etc/hosts<br />
echo "127.0.1.1      $HOST_NAME.$HOST_DOMAIN_NAME $HOST_NAME " &gt;&gt; /etc/hosts<br />
echo "# The following lines are desirable for IPv6 capable hosts<br />
::1    ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
ff02::3 ip6-allhosts    " &gt;&gt; /etc/hosts</p>
<p dir="auto">#########################################################</p>
<h1>Update dhclient file</h1>
<p dir="auto">#########################################################<br />
cp /etc/dhcp/dhclient.conf /tmp<br />
sed s/&lt;hostname&gt;/$HOST_NAME/ /tmp/dhclient.conf &gt; /etc/dhcp/dhclient.conf</p>
<p dir="auto">#########################################################</p>
<h1>Clear persistent network cards</h1>
<p dir="auto">#########################################################<br />
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]<br />
then<br />
rm /etc/udev/rules.d/70-persistent-net.rules<br />
fi</p>
<p dir="auto">#########################################################</p>
<h1>Reboot machine</h1>
<p dir="auto">#########################################################<br />
echo “$(date) ::: Update successful with Hostname : $HOST_NAME and Domain : $HOST_DOMAIN_NAME” &gt;&gt; /var/log/rename_host_fog.log<br />
/sbin/init 6<br />
fi<br />
if [ “$HOST_NAME” == “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” == “” ]<br />
then<br />
echo “$(date) ::: Update failed : Failed to connect to Mysql Server” &gt;&gt; /var/log/rename_host_fog.log<br />
fi<br />
if [ “$HOST_NAME” != “” ] &amp;&amp; [ “$HOST_DOMAIN_NAME” == “” ]<br />
then<br />
echo “$(date) ::: Update failed : Domain name is missing” &gt;&gt; /var/log/rename_host_fog.log<br />
fi<br />
[/CODE]</p>
<p dir="auto">sysprep_fog</p>
<p dir="auto">[CODE]#!/bin/bash<br />
#########################################################</p>
<h1>Sysprep to enable rename_host_fog service</h1>
<p dir="auto">#########################################################</p>
<h1>ch3i    - 02/03/2015</h1>
<p dir="auto">#########################################################</p>
<p dir="auto">#########################################################</p>
<h1>Install/update mysql-client</h1>
<p dir="auto">#########################################################<br />
apt-get -y install mysql-client</p>
<p dir="auto">#########################################################</p>
<h1>Copy/update rename_host_fog script in init.d</h1>
<p dir="auto">#########################################################<br />
if [ -f /etc/init.d/rename_host_fog ]<br />
then<br />
rm /etc/init.d/rename_host_fog<br />
fi<br />
cp rename_host_fog /etc/init.d/rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Update rename_host_fog rights</h1>
<p dir="auto">#########################################################<br />
chmod 755 /etc/init.d/rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Enable rename_host_fog service at startup</h1>
<p dir="auto">#########################################################<br />
insserv rename_host_fog</p>
<p dir="auto">#########################################################</p>
<h1>Reboot machine</h1>
<p dir="auto">#########################################################<br />
/sbin/init 6[/CODE]</p>
<p dir="auto">To use it, you have to :</p>
<blockquote>
<blockquote>
<p dir="auto">create two files in the same folder :</p>
</blockquote>
</blockquote>
<ul>
<li>rename_host_fog</li>
<li>sysprep_fog</li>
</ul>
<blockquote>
<blockquote>
<p dir="auto">change sysprep_fog rights : chmod 755 sysprep_fog.<br />
enable service with : ./sysprep.fog</p>
</blockquote>
</blockquote>
<p dir="auto">You can check log in : /var/log/rename_host_fog.log</p>
]]></description><link>http://forums.fogproject.org/post/34129</link><guid isPermaLink="true">http://forums.fogproject.org/post/34129</guid><dc:creator><![CDATA[ch3i]]></dc:creator><pubDate>Tue, 03 Feb 2015 11:46:07 GMT</pubDate></item></channel></rss>