Segnalazione #36 ยป change_hostname.txt
| 1 |
apt-get update && apt-get -y install squashfs-tools |
|---|---|
| 2 |
|
| 3 |
cp /srv/tftp/clonezilla/live/filesystem.squashfs /tmp |
| 4 |
cd /tmp |
| 5 |
unsquashfs filesystem.squashfs |
| 6 |
|
| 7 |
cat <<'EOF' >> squashfs-root/usr/local/bin/pre_run |
| 8 |
#!/bin/bash |
| 9 |
|
| 10 |
echo "Inserire la partizione root (/dev/sdx1)" |
| 11 |
read ROOT_PARTITION |
| 12 |
echo $ROOT_PARTITION > /tmp/ROOT_PARTITION |
| 13 |
echo "Inserire il nuovo nome host: " |
| 14 |
read NEWHOST |
| 15 |
echo $NEWHOST > /tmp/NEWHOST |
| 16 |
EOF |
| 17 |
|
| 18 |
chmod 755 squashfs-root/usr/local/bin/pre_run |
| 19 |
|
| 20 |
cat <<'EOF' >> squashfs-root/usr/local/bin/post_run |
| 21 |
#!/bin/bash |
| 22 |
|
| 23 |
ROOT_PARTITION=$(</tmp/ROOT_PARTITION) |
| 24 |
sudo mount $ROOT_PARTITION /mnt |
| 25 |
HOSTN=$(</mnt/etc/hostname) |
| 26 |
echo "Existing hostname is $HOSTN" |
| 27 |
NEWHOST=$(</tmp/NEWHOST) |
| 28 |
sudo sed -i "s/$HOSTN/$NEWHOST/g" /mnt/etc/hosts |
| 29 |
sudo sed -i "s/$HOSTN/$NEWHOST/g" /mnt/etc/hostname |
| 30 |
sudo echo "Nuovo nome host: $NEWHOST" |
| 31 |
read -s -n 1 -p "Riavvia" |
| 32 |
sudo reboot |
| 33 |
EOF |
| 34 |
|
| 35 |
chmod 755 squashfs-root/usr/local/bin/post_run |
| 36 |
|
| 37 |
mksquashfs squashfs-root filesystem.squashfs.new -b 1024k -comp xz -Xbcj x86 -e boot |
| 38 |
cp filesystem.squashfs.new /srv/tftp/clonezilla/live/filesystem.squashfs |
| 39 |
rm -rf filesystem.squashfs filesystem.squashfs squashfs-root/ -rf |
| 40 |
|
| 41 |
sed -i '/APPEND/s/$/ ocs_prerun=\"\/usr\/local\/bin\/pre_run\" ocs_postrun=\"\/usr\/local\/bin\/post_run\"/' /srv/tftp/pxelinux.cfg/default |
| 42 |
systemctl restart tftpd-hpa |
| 43 |
|
| 44 |
|
| 45 |
|
| 46 |
|
| 47 |
|