Last active
August 8, 2017 15:24
-
-
Save aboron/4e44405e703861a8af4add5bcb7322e7 to your computer and use it in GitHub Desktop.
Script to automate setup of lx ubuntu zones on joyent triton
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#/bin/bash | |
set_tzdata () | |
{ | |
# Change this to the timezone in your area | |
ln -fs /usr/share/zoneinfo/US/Eastern /etc/localtime | |
dpkg-reconfigure -f noninteractive tzdata | |
} | |
fix_fstab () | |
{ | |
sed -ie 's/^none/#none/g' /etc/fstab | |
} | |
set_hosts () | |
{ | |
sed -ie 's/'$oldhost'/'$host'/g' /etc/hosts | |
sed -i '1i'$ipaddr'\t'$fqdn' '$host /etc/hosts | |
} | |
set_hostname () | |
{ | |
echo "$host" > /etc/hostname | |
} | |
set_motd () | |
{ | |
instance=`cat /etc/motd | grep Instance | cut -d'(' -f2` | |
figlet -lf big $fqdn > /tmp/motd.tmp | |
sed -i 's/[[:space:]]*$//' /tmp/motd.tmp | |
echo "$(cat /tmp/motd.tmp) Instance ($instance" > /etc/motd | |
} | |
create_vimrc() | |
{ | |
cat > /root/tmp.vimrc <<'_EOF' | |
begin-base64 644 .vimrc | |
IiBTZXRzIGhvdyBtYW55IGxpbmVzIG9mIGhpc3RvcnkgVklNIGhhcyB0byBy | |
ZW1lbWJlcgpzZXQgaGlzdG9yeT01MDAKIiBFbmFibGUgZmlsZXR5cGUgcGx1 | |
Z2lucwpmaWxldHlwZSBwbHVnaW4gb24KZmlsZXR5cGUgaW5kZW50IG9uCiIg | |
U2V0IHRvIGF1dG8gcmVhZCB3aGVuIGEgZmlsZSBpcyBjaGFuZ2VkIGZyb20g | |
dGhlIG91dHNpZGUKc2V0IGF1dG9yZWFkCiIgV2l0aCBhIG1hcCBsZWFkZXIg | |
aXQncyBwb3NzaWJsZSB0byBkbyBleHRyYSBrZXkgY29tYmluYXRpb25zCiIg | |
bGlrZSA8bGVhZGVyPncgc2F2ZXMgdGhlIGN1cnJlbnQgZmlsZQpsZXQgbWFw | |
bGVhZGVyID0gIiwiCmxldCBnOm1hcGxlYWRlciA9ICIsIgoiIEZhc3Qgc2F2 | |
aW5nCm5tYXAgPGxlYWRlcj53IDp3ITxjcj4KIiA6VyBzdWRvIHNhdmVzIHRo | |
ZSBmaWxlIAoiICh1c2VmdWwgZm9yIGhhbmRsaW5nIHRoZSBwZXJtaXNzaW9u | |
LWRlbmllZCBlcnJvcikKY29tbWFuZCBXIHcgIXN1ZG8gdGVlICUgPiAvZGV2 | |
L251bGwKIiBTZXQgNyBsaW5lcyB0byB0aGUgY3Vyc29yIC0gd2hlbiBtb3Zp | |
bmcgdmVydGljYWxseSB1c2luZyBqL2sKc2V0IHNvPTcKbGV0ICRMQU5HPSdl | |
bicgCnNldCBsYW5nbWVudT1lbgpzb3VyY2UgJFZJTVJVTlRJTUUvZGVsbWVu | |
dS52aW0Kc291cmNlICRWSU1SVU5USU1FL21lbnUudmltCiIgVHVybiBvbiB0 | |
aGUgV2lMZCBtZW51CnNldCB3aWxkbWVudQoiIElnbm9yZSBjb21waWxlZCBm | |
aWxlcwpzZXQgd2lsZGlnbm9yZT0qLm8sKn4sKi5weWMsKi8uZ2l0LyosKi8u | |
aGcvKiwqLy5zdm4vKiwqLy5EU19TdG9yZQoiQWx3YXlzIHNob3cgY3VycmVu | |
dCBwb3NpdGlvbgpzZXQgcnVsZXIKIiBIZWlnaHQgb2YgdGhlIGNvbW1hbmQg | |
YmFyCnNldCBjbWRoZWlnaHQ9MQoiIEEgYnVmZmVyIGJlY29tZXMgaGlkZGVu | |
IHdoZW4gaXQgaXMgYWJhbmRvbmVkCnNldCBoaWQKIiBDb25maWd1cmUgYmFj | |
a3NwYWNlIHNvIGl0IGFjdHMgYXMgaXQgc2hvdWxkIGFjdApzZXQgYmFja3Nw | |
YWNlPWVvbCxzdGFydCxpbmRlbnQKc2V0IHdoaWNod3JhcCs9PCw+LGgsbAoi | |
IElnbm9yZSBjYXNlIHdoZW4gc2VhcmNoaW5nCnNldCBpZ25vcmVjYXNlCnNl | |
dCBzbWFydGNhc2UKIiBIaWdobGlnaHQgc2VhcmNoIHJlc3VsdHMKc2V0IGhs | |
c2VhcmNoCiIgTWFrZXMgc2VhcmNoIGFjdCBsaWtlIHNlYXJjaCBpbiBtb2Rl | |
cm4gYnJvd3NlcnMKc2V0IGluY3NlYXJjaCAKIiBEb24ndCByZWRyYXcgd2hp | |
bGUgZXhlY3V0aW5nIG1hY3JvcyAoZ29vZCBwZXJmb3JtYW5jZSBjb25maWcp | |
CnNldCBsYXp5cmVkcmF3IAoiIEZvciByZWd1bGFyIGV4cHJlc3Npb25zIHR1 | |
cm4gbWFnaWMgb24Kc2V0IG1hZ2ljCiIgU2hvdyBtYXRjaGluZyBicmFja2V0 | |
cyB3aGVuIHRleHQgaW5kaWNhdG9yIGlzIG92ZXIgdGhlbQpzZXQgc2hvd21h | |
dGNoIAoiIEhvdyBtYW55IHRlbnRocyBvZiBhIHNlY29uZCB0byBibGluayB3 | |
aGVuIG1hdGNoaW5nIGJyYWNrZXRzCnNldCBtYXQ9MgoiIE5vIGFubm95aW5n | |
IHNvdW5kIG9uIGVycm9ycwpzZXQgbm9lcnJvcmJlbGxzCnNldCBub3Zpc3Vh | |
bGJlbGwKc2V0IHRfdmI9CnNldCB0bT01MDAKIiBFbmFibGUgc3ludGF4IGhp | |
Z2hsaWdodGluZwpzeW50YXggZW5hYmxlIAoiIEVuYWJsZSAyNTYgY29sb3Jz | |
IHBhbGV0dGUgaW4gR25vbWUgVGVybWluYWwKaWYgJENPTE9SVEVSTSA9PSAn | |
Z25vbWUtdGVybWluYWwnCiAgICBzZXQgdF9Dbz0yNTYKZW5kaWYKdHJ5CiAg | |
ICBjb2xvcnNjaGVtZSBkZXNlcnQKY2F0Y2gKZW5kdHJ5CnNldCBiYWNrZ3Jv | |
dW5kPWRhcmsKCiIgU2V0IGV4dHJhIG9wdGlvbnMgd2hlbiBydW5uaW5nIGlu | |
IEdVSSBtb2RlCmlmIGhhcygiZ3VpX3J1bm5pbmciKQogICAgc2V0IGd1aW9w | |
dGlvbnMtPVQKICAgIHNldCBndWlvcHRpb25zLT1lCiAgICBzZXQgdF9Dbz0y | |
NTYKICAgIHNldCBndWl0YWJsYWJlbD0lTVwgJXQKZW5kaWYKIiBTZXQgdXRm | |
OCBhcyBzdGFuZGFyZCBlbmNvZGluZyBhbmQgZW5fVVMgYXMgdGhlIHN0YW5k | |
YXJkIGxhbmd1YWdlCnNldCBlbmNvZGluZz11dGY4CiIgVXNlIFVuaXggYXMg | |
dGhlIHN0YW5kYXJkIGZpbGUgdHlwZQpzZXQgZmZzPXVuaXgsZG9zLG1hYwoi | |
IFR1cm4gYmFja3Vwb2ZmLi4uCnNldCBub2JhY2t1cApzZXQgbm93YgpzZXQg | |
bm9zd2FwZmlsZQoiIFVzZSBzcGFjZXMgaW5zdGVhZCBvZiB0YWJzCnNldCBl | |
eHBhbmR0YWIKIiBCZSBzbWFydCB3aGVuIHVzaW5nIHRhYnMgOykKc2V0IHNt | |
YXJ0dGFiCiIgMSB0YWIgPT0gNCBzcGFjZXMKc2V0IHNoaWZ0d2lkdGg9NApz | |
ZXQgdGFic3RvcD00CiIgTGluZWJyZWFrIG9uIDUwMCBjaGFyYWN0ZXJzCnNl | |
dCBsYnIKc2V0IHR3PTUwMApzZXQgYWkgIkF1dG8gaW5kZW50CnNldCBzaSAi | |
U21hcnQgaW5kZW50CnNldCB3cmFwICJXcmFwIGxpbmVzCiIgVmlzdWFsIG1v | |
ZGUgcHJlc3NpbmcgKiBvciAjIHNlYXJjaGVzIGZvciB0aGUgY3VycmVudCBz | |
ZWxlY3Rpb24Kdm5vcmVtYXAgPHNpbGVudD4gKiA6PEMtdT5jYWxsIFZpc3Vh | |
bFNlbGVjdGlvbignJywgJycpPENSPi88Qy1SPj1ALzxDUj48Q1I+CnZub3Jl | |
bWFwIDxzaWxlbnQ+ICMgOjxDLXU+Y2FsbCBWaXN1YWxTZWxlY3Rpb24oJycs | |
ICcnKTxDUj4/PEMtUj49QC88Q1I+PENSPgoKIiBNYXAgPFNwYWNlPiB0byAv | |
IChzZWFyY2gpIGFuZCBDdHJsLTxTcGFjZT4gdG8gPyAoYmFja3dhcmRzIHNl | |
YXJjaCkKbWFwIDxzcGFjZT4gLwptYXAgPGMtc3BhY2U+ID8KIiBEaXNhYmxl | |
IGhpZ2hsaWdodCB3aGVuIDxsZWFkZXI+PGNyPiBpcyBwcmVzc2VkCm1hcCA8 | |
c2lsZW50PiA8bGVhZGVyPjxjcj4gOm5vaDxjcj4KIiBTbWFydCB3YXkgdG8g | |
bW92ZSBiZXR3ZWVuIHdpbmRvd3MKbWFwIDxDLWo+IDxDLVc+agptYXAgPEMt | |
az4gPEMtVz5rCm1hcCA8Qy1oPiA8Qy1XPmgKbWFwIDxDLWw+IDxDLVc+bAoK | |
IiBDbG9zZSB0aGUgY3VycmVudCBidWZmZXIKbWFwIDxsZWFkZXI+YmQgOkJj | |
bG9zZTxjcj46dGFiY2xvc2U8Y3I+Z1QKIiBDbG9zZSBhbGwgdGhlIGJ1ZmZl | |
cnMKbWFwIDxsZWFkZXI+YmEgOmJ1ZmRvIGJkPGNyPgoKbWFwIDxsZWFkZXI+ | |
bCA6Ym5leHQ8Y3I+Cm1hcCA8bGVhZGVyPmggOmJwcmV2aW91czxjcj4KCiIg | |
VXNlZnVsIG1hcHBpbmdzIGZvciBtYW5hZ2luZyB0YWJzCm1hcCA8bGVhZGVy | |
PnRuIDp0YWJuZXc8Y3I+Cm1hcCA8bGVhZGVyPnRvIDp0YWJvbmx5PGNyPgpt | |
YXAgPGxlYWRlcj50YyA6dGFiY2xvc2U8Y3I+Cm1hcCA8bGVhZGVyPnRtIDp0 | |
YWJtb3ZlIAptYXAgPGxlYWRlcj50PGxlYWRlcj4gOnRhYm5leHQgCgoiIExl | |
dCAndGwnIHRvZ2dsZSBiZXR3ZWVuIHRoaXMgYW5kIHRoZSBsYXN0IGFjY2Vz | |
c2VkIHRhYgpsZXQgZzpsYXN0dGFiID0gMQpubWFwIDxMZWFkZXI+dGwgOmV4 | |
ZSAidGFibiAiLmc6bGFzdHRhYjxDUj4KYXUgVGFiTGVhdmUgKiBsZXQgZzps | |
YXN0dGFiID0gdGFicGFnZW5yKCkKCiIgT3BlbnMgYSBuZXcgdGFiIHdpdGgg | |
dGhlIGN1cnJlbnQgYnVmZmVyJ3MgcGF0aAptYXAgPGxlYWRlcj50ZSA6dGFi | |
ZWRpdCA8Yy1yPj1leHBhbmQoIiU6cDpoIik8Y3I+LwoiIFN3aXRjaCBDV0Qg | |
dG8gdGhlIGRpcmVjdG9yeSBvZiB0aGUgb3BlbiBidWZmZXIKbWFwIDxsZWFk | |
ZXI+Y2QgOmNkICU6cDpoPGNyPjpwd2Q8Y3I+CiIgU3BlY2lmeSB0aGUgYmVo | |
YXZpb3Igd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBidWZmZXJzIAp0cnkKICBz | |
ZXQgc3dpdGNoYnVmPXVzZW9wZW4sdXNldGFiLG5ld3RhYgogIHNldCBzdGFs | |
PTIKY2F0Y2gKZW5kdHJ5CiIgUmV0dXJuIHRvIGxhc3QgZWRpdCBwb3NpdGlv | |
biB3aGVuIG9wZW5pbmcgZmlsZXMgKFlvdSB3YW50IHRoaXMhKQphdSBCdWZS | |
ZWFkUG9zdCAqIGlmIGxpbmUoIidcIiIpID4gMSAmJiBsaW5lKCInXCIiKSA8 | |
PSBsaW5lKCIkIikgfCBleGUgIm5vcm1hbCEgZydcIiIgfCBlbmRpZgoKCiIg | |
QWx3YXlzIHNob3cgdGhlIHN0YXR1cyBsaW5lCnNldCBsYXN0c3RhdHVzPTIK | |
IiBGb3JtYXQgdGhlIHN0YXR1cyBsaW5lCnNldCBzdGF0dXNsaW5lPVwgJXtI | |
YXNQYXN0ZSgpfSVGJW0lciVoXCAld1wgXCBDV0Q6XCAlciV7Z2V0Y3dkKCl9 | |
JWhcIFwgXCBMaW5lOlwgJWxcIFwgQ29sdW1uOlwgJWMKCgoiIFJlbWFwIFZJ | |
TSAwIHRvIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIKbWFwIDAgXgoKIiBN | |
b3ZlIGEgbGluZSBvZiB0ZXh0IHVzaW5nIEFMVCtbamtdIG9yIENvbW1hbmQr | |
W2prXSBvbiBtYWMKbm1hcCA8TS1qPiBtejptKzxjcj5gegpubWFwIDxNLWs+ | |
IG16Om0tMjxjcj5gegp2bWFwIDxNLWo+IDptJz4rPGNyPmA8bXlgPm16Z3Zg | |
eW9gegp2bWFwIDxNLWs+IDptJzwtMjxjcj5gPm15YDxtemd2YHlvYHoKCiIg | |
RGVsZXRlIHRyYWlsaW5nIHdoaXRlIHNwYWNlIG9uIHNhdmUsIHVzZWZ1bCBm | |
b3Igc29tZSBmaWxldHlwZXMgOykKZnVuISBDbGVhbkV4dHJhU3BhY2VzKCkK | |
ICAgIGxldCBzYXZlX2N1cnNvciA9IGdldHBvcygiLiIpCiAgICBsZXQgb2xk | |
X3F1ZXJ5ID0gZ2V0cmVnKCcvJykKICAgIHNpbGVudCEgJXMvXHNcKyQvL2UK | |
ICAgIGNhbGwgc2V0cG9zKCcuJywgc2F2ZV9jdXJzb3IpCiAgICBjYWxsIHNl | |
dHJlZygnLycsIG9sZF9xdWVyeSkKZW5kZnVuCgppZiBoYXMoImF1dG9jbWQi | |
KQogICAgYXV0b2NtZCBCdWZXcml0ZVByZSAqLnR4dCwqLmpzLCoucHksKi53 | |
aWtpLCouc2gsKi5jb2ZmZWUgOmNhbGwgQ2xlYW5FeHRyYVNwYWNlcygpCmVu | |
ZGlmCgoKIiBQcmVzc2luZyAsc3Mgd2lsbCB0b2dnbGUgYW5kIHVudG9nZ2xl | |
IHNwZWxsIGNoZWNraW5nCm1hcCA8bGVhZGVyPnNzIDpzZXRsb2NhbCBzcGVs | |
bCE8Y3I+CgoiIFNob3J0Y3V0cyB1c2luZyA8bGVhZGVyPgptYXAgPGxlYWRl | |
cj5zbiBdcwptYXAgPGxlYWRlcj5zcCBbcwptYXAgPGxlYWRlcj5zYSB6Zwpt | |
YXAgPGxlYWRlcj5zPyB6PQoKCiIgUmVtb3ZlIHRoZSBXaW5kb3dzIF5NIC0g | |
d2hlbiB0aGUgZW5jb2RpbmdzIGdldHMgbWVzc2VkIHVwCm5vcmVtYXAgPExl | |
YWRlcj5tIG1tSG10OiVzLzxDLVY+PGNyPi8vZ2U8Y3I+J3R6dCdtCgoiIFRv | |
Z2dsZSBwYXN0ZSBtb2RlIG9uIGFuZCBvZmYKbWFwIDxsZWFkZXI+cHAgOnNl | |
dGxvY2FsIHBhc3RlITxjcj4KCgoiIFJldHVybnMgdHJ1ZSBpZiBwYXN0ZSBt | |
b2RlIGlzIGVuYWJsZWQKZnVuY3Rpb24hIEhhc1Bhc3RlKCkKICAgIGlmICZw | |
YXN0ZQogICAgICAgIHJldHVybiAnUEFTVEUgTU9ERSAgJwogICAgZW5kaWYK | |
ICAgIHJldHVybiAnJwplbmRmdW5jdGlvbgoKIiBEb24ndCBjbG9zZSB3aW5k | |
b3csIHdoZW4gZGVsZXRpbmcgYSBidWZmZXIKY29tbWFuZCEgQmNsb3NlIGNh | |
bGwgPFNJRD5CdWZjbG9zZUNsb3NlSXQoKQpmdW5jdGlvbiEgPFNJRD5CdWZj | |
bG9zZUNsb3NlSXQoKQogICBsZXQgbDpjdXJyZW50QnVmTnVtID0gYnVmbnIo | |
IiUiKQogICBsZXQgbDphbHRlcm5hdGVCdWZOdW0gPSBidWZucigiIyIpCgog | |
ICBpZiBidWZsaXN0ZWQobDphbHRlcm5hdGVCdWZOdW0pCiAgICAgYnVmZmVy | |
ICMKICAgZWxzZQogICAgIGJuZXh0CiAgIGVuZGlmCgogICBpZiBidWZucigi | |
JSIpID09IGw6Y3VycmVudEJ1Zk51bQogICAgIG5ldwogICBlbmRpZgoKICAg | |
aWYgYnVmbGlzdGVkKGw6Y3VycmVudEJ1Zk51bSkKICAgICBleGVjdXRlKCJi | |
ZGVsZXRlISAiLmw6Y3VycmVudEJ1Zk51bSkKICAgZW5kaWYKZW5kZnVuY3Rp | |
b24KCmZ1bmN0aW9uISBDbWRMaW5lKHN0cikKICAgIGV4ZSAibWVudSBGb28u | |
QmFyIDoiIC4gYTpzdHIKICAgIGVtZW51IEZvby5CYXIKICAgIHVubWVudSBG | |
b28KZW5kZnVuY3Rpb24gCgpmdW5jdGlvbiEgVmlzdWFsU2VsZWN0aW9uKGRp | |
cmVjdGlvbiwgZXh0cmFfZmlsdGVyKSByYW5nZQogICAgbGV0IGw6c2F2ZWRf | |
cmVnID0gQCIKICAgIGV4ZWN1dGUgIm5vcm1hbCEgdmd2eSIKCiAgICBsZXQg | |
bDpwYXR0ZXJuID0gZXNjYXBlKEAiLCAiXFwvLionJF5+W10iKQogICAgbGV0 | |
IGw6cGF0dGVybiA9IHN1YnN0aXR1dGUobDpwYXR0ZXJuLCAiXG4kIiwgIiIs | |
ICIiKQoKICAgIGlmIGE6ZGlyZWN0aW9uID09ICdndicKICAgICAgICBjYWxs | |
IENtZExpbmUoIkFjayAnIiAuIGw6cGF0dGVybiAuICInICIgKQogICAgZWxz | |
ZWlmIGE6ZGlyZWN0aW9uID09ICdyZXBsYWNlJwogICAgICAgIGNhbGwgQ21k | |
TGluZSgiJXMiIC4gJy8nLiBsOnBhdHRlcm4gLiAnLycpCiAgICBlbmRpZgoK | |
ICAgIGxldCBALyA9IGw6cGF0dGVybgogICAgbGV0IEAiID0gbDpzYXZlZF9y | |
ZWcKZW5kZnVuY3Rpb24K | |
==== | |
_EOF | |
cd /root | |
uudecode /root/tmp.vimrc | |
rm /root/tmp.vimrc | |
} | |
hasfiglet=`which figlet` | |
if [ -f "$hasfiglet" ] | |
then | |
echo "(figlet already installed)" | |
else | |
echo "(installing figlet for banner)" | |
apt-get -y install figlet | |
fi | |
hasuudecode=`which uudecode` | |
if [ -f "$hasuudecode" ] | |
then | |
echo "(uudecode already installed)" | |
else | |
echo "(installing sharutils for uudecode)" | |
apt-get -y install sharutils | |
fi | |
if [ -z "$1" ] | |
then | |
echo "!No FQDN or host label given!" | |
else | |
fqdn="$1" | |
fi | |
host=`echo $fqdn | cut -d'.' -f1` | |
test1=`echo $fqdn | cut -d'.' -f2` | |
ipaddr=`ifconfig | grep Bcast | cut -d':' -f2 | cut -d' ' -f1` | |
oldhost=`cat /etc/hostname` | |
############################################################################ | |
# These are the things we want to do every boot in a Triton LX-Ubuntu VM | |
############################################################################ | |
apt-get update | |
apt-get -y dist-upgrade | |
############################################################################ | |
# Only do these things on first boot (use .vimrc to flag the action as done) | |
############################################################################ | |
if [ -f "/root/.vimrc" ] | |
then | |
echo "(first boot settings already performed)" | |
else | |
echo "(performing first boot actions)" | |
fix_fstab | |
if [ -z "$1" ] | |
then | |
echo "!No text label of any kind given, motd/hosts/hostname will be left alone!" | |
else | |
if [ -z "$test1" ] | |
then | |
echo "!Not passed a complete FQDN, leaving hosts/hostname unchanged!" | |
echo "!Motd may look strange!" | |
else | |
set_hosts | |
set_hostname | |
fi | |
set_motd | |
fi | |
set_tzdata | |
create_vimrc | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment