Linux barebones quickstart: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 11: Line 11:
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!
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!
If this is a VM clone, [[Create unique IP|FIX YOUR IP NOW]].
# 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 ===
=== Set up DNS ===

Revision as of 04:18, 28 January 2021

Install the distro

Set up Ubuntu or Centos or some small embedded whateverism...

Set up IP and hostname

Note that a fresh install of ubuntu will set the hostname. But if you've cloned a VM, for example, 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)

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, FIX YOUR IP NOW.

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.

Install basic tools

sudo apt install git curl emacs-nox # ubuntu
sudo yum install git curl emacs-nox # centos

Copy ssh keys

mkdir -p .ssh/20##
bitpost# scp -r .ssh/20##/id_rsa* newguy:.ssh/20##/
cd .ssh && ln -s 20##/id_rsa .

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