PATCH: Adding unique hostname generation with cheatcode
Change Log:
* Version 1.0 - Fri Jan 20, 2006
Added /etc/hosts modification
* Version 1.0 - Thu Dec 01, 2005
Initial design
Disclaimer:
Always needed cause you just never know how people will interpret things. Please people, use this at your own risk. Whilst this method has and continues to work for me, I will not be held responsible for anything that might go wrong, due to an ommision or typo in this document. I too, like you, am human and do make mistakes.
Preface:
This howto assumes an intermediate level of knowledge for bash scripting and knoppix remastering. It was posted becuase a few people asked for an example. There are many ways to do this, and this for the moment satisfies my needs. Note: It may not satisfy yours.
Modification:
To achieve this I modify knoppix-autoconfig in the source directory of the remaster. By default the hostname is set to "Knoppix" by the command at line 493.
I replace this line with the following (# Heavily commented for the unsure)Code:hostname "Knoppix"
Usage:Code:# If booting live and not from an install if [ -z "$INSTALLED" ] then # Check if the hostname cheatcode was passed at the boot prompt if checkbootparam "hostname" then # Grab the value passed with the "hostname" cheatcode HN="$(getbootparam 'hostname')" # If it was auto if [ "$HN" = "auto" ] then # Generate the hostname as "Knoppix" and append the Mac Address of eth0 HN="Knoppix-$(ifconfig eth0 | grep HWaddr | awk '{print $5}' | sed s/://g)" fi # If no "hostname" cheatcode was supplied then use default "Knoppix" else HN="Knoppix" fi # If running from a HDD install then grab the hostname from the file /etc/hostname else # Get the default hostname from HDD HN="$(cat /etc/hostname)" fi # Update /etc/hostname and /etc/hosts (/etc is writeable live boot, or hdd boot) echo $HN > /etc/hostname sed -i s/^127\.0\.0\.1.*/127\.0\.0\.1\t$HN\ localhost/ /etc/hosts # Set the hostname hostname $HN
If it is not apparent this script will provide some flexability, allowing default, explicit or auto generation of the hostname.
Example of default generation (no "hostname" cheatcode supplied):
Code:boot: knoppixExample of explicit generation ("hostname" cheatcode supplied with arbitrary name)The hostname for this example is "Knoppix"
Code:boot: knoppix hostname=computer_1Example of auto generation ("hostname" cheatcode supplied with "auto" name)The hostname for this example is "computer_1"
Code:boot: knoppix hostname=autoClosing:The hostname for this example is "Knoppix-MACADDRESS"
Please feel free to use and modify this code as you see fit, it can be made more generic, which I will get around to when the need arises. Please let me know if you have any suggestions or improvements.
832514-B21 HPE 1TB SAS 12Gb/s 7.2K SFF SC HDD 832984-001
$129.00
WD_BLACK 1TB D30 Game Drive SSD for Xbox Summer Collection - WDBAMF0010BSU-WESN
$109.99
Western Digital 1TB WD Blue PC Desktop 3.5'' Internal CMR Hard Drive - WD10EARZ
$44.99
SanDisk 1TB Extreme Portable SSD, External Solid State Drive - SDSSDE61-1T00-G25
$109.99
2 PACK Seagate ST1000LM035 Mobile HDD 1TB 2.5" SATA III Laptop Hard Drive
$27.49
Patriot P210 128GB 256GB 512GB 1TB 2TB 2.5" SATA 3 6GB/s Internal SSD PC/MAC Lot
$19.99
Samsung - Geek Squad Certified Refurbished 870 EVO 1TB SATA Solid State Drive
$67.99
Netac 1TB 2TB 512GB Internal SSD 2.5'' SATA III 6Gb/s Solid State Drive lot
$13.99
1TB/2TB USB 3.0 Flash Drive Thumb U Disk Memory Stick Pen PC Laptop Storage lot
$80.39
Apple 1TB Solid State Drive for Apple MacBook Pro
$80.00