Linux barebones quickstart: Difference between revisions
Line 3: | Line 3: | ||
=== Set up IP === | === Set up IP === | ||
DO THIS NOW, NEVER LET A CLONE USE THE SAME IP, you will tear your clothes and spit on the ground! | On home lan, dnsmasq doles out the ips based on MAC, make sure you have it configured with your MAC and an available IP. Add it to hosts file, too. Should be all you need! | ||
If this is a VM clone, DO THIS NOW, NEVER LET A CLONE USE THE SAME IP, you will tear your clothes and spit on the ground! | |||
# for static IPs on ubuntu work machines: | # for static IPs on ubuntu work machines: | ||
sudo emacs /etc/network/interfaces | sudo emacs /etc/network/interfaces |
Revision as of 21:29, 17 April 2020
Install the distro
Set up Ubuntu or Centos or some small embedded whateverism...
Set up IP
On home lan, dnsmasq doles out the ips based on MAC, make sure you have it configured with your MAC and an available IP. Add it to hosts file, too. Should be all you need!
If this is a VM clone, DO THIS NOW, NEVER LET A CLONE USE THE SAME IP, you will tear your clothes and spit on the ground!
# for static IPs on ubuntu work machines: sudo emacs /etc/network/interfaces # for static IPs on centos work machines: sudo emacs /etc/sysconfig/network-scripts/ifcfg-ens192 service network restart # example: BOOTPROTO=none IPADDR=10.122.82.241 NETMASK=255.255.255.0 GATEWAY=10.122.82.1 # For VMs, change network adapter if needed to match subnet (eg "LabNet8X") # for virtualbox no changes were needed (as of yet)
Set up DNS
I used to always turn off systemd-resolved. But as long as /etc/hosts is not a symlink, it should work fine.
Set up hostname
Note that this is not needed for a fresh install of ubuntu. But if you've cloned a VM, you'll need to change hostname:
sudo emacs /etc/hostname && sudo hostname newname # use hostname cmd to set it right away # NOTE that systemd can also be used: sudo hostnamectl set-hostname newname # /etc/hosts changes should not be needed, if hostnames are properly configured (dnsmasq DNS -or- work DNS will provide resolution)
Install basic tools
sudo apt install git curl emacs # ubuntu sudo yum install git curl emacs # centos git config --global user.email m@thedigitalmachine.com git config --global user.name "Michael Behrns-Miller [##hostname##]"
Set up scripts
cd && mkdir development && cd development git clone bitpost.com:development/scripts.git ./scripts/setup_linux.sh # to continue bootstrapping
That's it, get on with your life.
MIGRATION IN PROGRESS: config distro machine migration
Start to revamp config from [machine]/[distro] to [distro]/[machine] to match scripts. It's not hard even though it's dangerous. You can do each machine separately from others. Get on it!
# DO THIS ALL IN ONE SESSION, do not log out cd development/config mkdir -p distro # prolly not needed git mv machine/distro distro/machine setup_stow.sh # repeat until it doesn't fail; check each failure to make sure it is a symlink, and simply rm them as you go
OLD
moving all this to setup_linux.sh and mh-setup-linux command...
cd && ln -s development/scripts scripts mkdir scripts/[distro]/[new machine] emacs -nw .bashrc # export PATH=$HOME/scripts/[distro]/[machine]:$HOME/development/scripts/[distro]/i3:$HOME/development/scripts/[distro]:$PATH
Set up ssh
# openssh-server defaults are ok but see /etc/ssh/sshd_config for details cd ~/.ssh scp [another-working-setup]:.ssh/authorized_keys . scp [another-working-setup]:.ssh/id_rsa_3072_nopswd . scp [another-working-setup]:.ssh/config . ln -s id_rsa_3072_nopswd id_rsa # also add any other private keys and run [chmod 400] on them
Set up config
cd ~/development git clone bitpost.com:development/config.git cd config mkdir -p [distro] && cd distro cp -rp [existing machine] [new machine] # EDIT IT ALL # WARNING - EDIT ACTUAL SYSTEM FILES, NOT repo files, as those will get clobbered when you stow # BACK EVERYTHING UP AS YOU GO until we get really good at this :-) git add [new machine] git commit -a -m "new machine" && git push cd && ln -s /home/m/development/config/ optional:[gig]/ [distro]/[new machine] config