VMコピー後の作業に使うスクリプト

eth0のIPアドレス設定

change.eth0.ipaddr [IPアドレス]

#!/bin/bash

ipaddr=$1
[ -z "$ipaddr" ] && read -p "new eth0 ipaddr: " ipaddr

sed -i "s/IPADDR=.*/IPADDR=$ipaddr/" /etc/sysconfig/network-scripts/ifcfg-eth0

cat /etc/sysconfig/network-scripts/ifcfg-eth0

ホスト名変更

change.hostname [ホスト名]

#!/bin/bash

hostname=$1
[ -z "$hostname" ] && read -p "new hostname: " hostname

sed -i "s/HOSTNAME=.*/HOSTNAME=$hostname/" /etc/sysconfig/network

cat /etc/sysconfig/network

SSHホストキー再生成

regenerate.sshhostkey

#!/bin/bash

rm -f /etc/ssh/ssh_host_*
service sshd restart

ls -l /etc/ssh

regenerate.sshhostkey (古い)

#!/bin/bash

rm -f /etc/ssh/ssh_host_key{,.pub}
rm -f /etc/ssh/ssh_host_rsa_key{,.pub}
rm -f /etc/ssh/ssh_host_dsa_key{,.pub}

ssh-keygen -t rsa1 -N '' -f /etc/ssh/ssh_host_key
ssh-keygen -t rsa  -N '' -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa  -N '' -f /etc/ssh/ssh_host_dsa_key

ls -l /etc/ssh

udev の 70-persistent-net.rules 再生成

regenerate.udev.persistent-net [auto]
auto の場合には MACアドレスの昇順に eth0, eth1, ・・・

#!/bin/bash

auto=$1

rulefile=/etc/udev/rules.d/70-persistent-net.rules

cat /dev/null > $rulefile

ethno=0
for mac in $(ifconfig -a | grep HWaddr | awk '{print $NF}' | tr ABCDEF abcdef | sort)
do
    [ $auto != "auto" ] && read -p "$mac = eth" ethno

    rule=$(printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="%s", ATTR{type}=="1", KERNEL=="eth*", NAME="eth%s"' $mac $ethno)
    echo "$rule" >> $rulefile
    echo "$mac : eth$ethno"

    ethno=$((ethno+1))
done

cat $rulefile