User Tools

Site Tools


nndocs:initial

This is an old revision of the document!


Standard Debian Setup at narf.rocks

We want to get to get this completely automated. The main tool for this will be Preseed files, of which there will be several. “Nuke And Repave” will become a single menu item.

Items About Which Nap Gives No Hecks

These are technologies in which I expect never to have interest. Nothing's stopping you though. :-)

  • Desktop environments other than MATE
  • Distributions other than my favorite at the time, which will probably be Debian until I make my own.
  • OpenStack. Just no. (But I can keep a host aggregate here if it's not too onerous.)
  • PCI passthrough for “Whole-host virtual machines” and/or multi-seat workstations. (I've sunk enough hours into it; my time needs to go elsewhere now.)
  • (Nap: Add to this list.)
Nap's To-do

I need to put a hard cap on this, and start paring things down. Use the resources I have to make disaster recovery and rapid (re)deployment as easy as possible, and then get the fuck out of this hobby because it SUCKS and I have dozens of other things I'd rather be doing with my limited time!

  • email (:sob:)
    • Break it up into smaller tasks.
      1. receive mail ✓
        1. migrate mail ✓
      2. SpamAssassin ✓
      3. dovecot for IMAP ✓
      4. configure mail.naptastic.com to send via smarthost @ Digital Ocean
      5. configure DO droplet as a relay
      6. mailman
        1. migrate lists
      7. webmail (preferably something that doesn't suck on mobile, if that exists)
      8. mailman
  • Failover and fallback! Shorewall should make it pretty easy.
  • Second nameserver
  • Update a preseed file (or a script) every time you have to install. Update the /etc repo
  • s/quirk/@providers/;
  • fix the PXE environment if that's in any way possible
  • Make the PHP-based sites easier to replicate
  • Headless audio
Horsey's To-do
  • System monitoring
Later or Never
  • CUDA (Once GPU math makes sense)

Getting Started

Perform a network install of Debian.

run the naptastic installer if it didn't run as part of the installer:

curl https://naptastic.com/initial.sh | /bin/bash
# This is not necessary unless the installer failed to do it.
mkdir /root/.ssh
chmod 700 /root/.ssh
curl https://keys.naptastic.com/david/naptastic.pub >> /root/.ssh/authorized_keys

Configure ssh for a high-numbered port, and not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' fails. (You didn't forward your agent, did you?).

Check out /etc

(You forwarded your agent, right?)

  git clone git@github.com:naptastic/etc
  cp -a etc/* /etc/ # does this actually copy .git? Check to make sure, alright?
  cd /etc
  git status

and see where you stand.

Remember: We play with live ammo. Don't `git rm` something unless you're on a host-specific branch.

Networking
ln -s /dev/null /etc/systemd/network/99-default.link # the installer does this

check /etc/network/interfaces because the device name is probably wrong there. TODO Fix that on fresh installs kthx

The answer, somehow, is Netplan; I just don't like that answer much. The answer should be to remove layers of complexity, not add them. Just name my devices eth0 and eth1, dammit, or give me control over the naming.

Some of my systems are using ifupdown, and some I'm not sure how they work, and some don't work right. Linux networking is fucking terrible.

Disable TTY screen blanking (Only necessary on Debian Jessie and older)

Add this to /etc/rc.local above the exit 0 line:

sh -c 'setterm -blank 0 -powersave off -powerdown 0 < /dev/console > /dev/console 2>&1'

Options

maybe you feel like it, maybe you don't. idk. This will be replaced with customized preseed files.

For all systems
apt -y remove update-notifier pulseaudio-module-bluetooth bluez blueman bluez-cups bluez-obexd modemmanager rtkit 
For hardware boxes
apt -y install smartmontools qemu-kvm gparted
If you are using a graphical desktop environment

(this needs an update: not sure about fonts packages. Also some network-manager-*-gnome packages might be useful depending on what kind of networking you're doing.)

apt -y install hexchat synaptic terminator fonts-lohit-knda fonts-knda keepassx evolution virt-manager network-manager-gnome
If you plan to do audio work
apt -y install qjackctl alsa-tools-gui eq10q jalv jamin lilv-utils
cat >> /etc/pulse/daemon.conf
default-sample-format = s24le
default-sample-rate = 96000
^D
If you plan to compile your own kernel
apt -y install bison flex libssl-dev ncurses-dev
nndocs/initial.1614353813.txt.gz · Last modified: 2021/02/26 15:36 by naptastic