nndocs:initial
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
nndocs:initial [2019/05/19 21:15] – update for ubuntu 18.04 (part 1/?) naptastic | nndocs:initial [2024/12/05 18:16] (current) – stub out thing naptastic | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Standard Ubuntu Setup at narf.rocks | + | ===== Naptastic Network Playbook |
+ | ====Partition drives==== | ||
+ | Partitioning: | ||
- | Perform a network install of Ubuntu 18.04. Mirror settings: | + | Add / |
- | * host: mirror.narf.rocks | + | ====Move ~ to a BTRFS subvolume==== |
- | * directory: /ubuntu | + | Separate snapshotting the OS from snapshotting your files. |
- | * No proxy | + | |
- | apt remove - isc-dhcp-* systemd-resolved | + | ====SSH key for root==== |
- | apt install dhcpcd5 | + | mkdir / |
+ | chmod 700 / | ||
+ | curl https:// | ||
- | == Essentials | + | ====Reconfigure SSH==== |
+ | Configure ssh for a high-numbered port, and not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' | ||
- | Take these, you'll need them: | + | ====Backups==== |
+ | Create / | ||
- | | + | |
+ | UUID=some-long-string / | ||
+ | UUID=some-long-string / | ||
- | == Make history include human-readable timestamps | + | ====Install Shorewall==== |
+ | * customize interfaces, rules, policy...? | ||
+ | * / | ||
+ | * / | ||
+ | * systemctl enable | ||
+ | * reboot a bunch of times because it's not passing traffic for no reason | ||
- | Put this at the end of both '' | + | ====Pick |
+ | If the repo is installed or mounted locally: | ||
+ | deb file:///mnt/debian bookworm main contrib non-free non-free-firmware | ||
+ | deb-src file:/// | ||
- | # Color ls output | + | If you have to get it via HTTP: |
- | | + | |
- | | + | deb-src http:// |
- | | + | |
+ | If you have to use public mirrors (RIP): | ||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | |||
+ | ====Remove crap==== | ||
+ | apt -y remove update-notifier pulseaudio-module-bluetooth bluez blueman bluez-cups bluez-obexd modemmanager rtkit | ||
+ | |||
+ | ====Install extra packages==== | ||
+ | (This is set up so you can triple-click each block you need, copy/paste or middle-paste into your terminal, then press enter at the end and install everything in one transaction.) | ||
+ | |||
+ | | ||
+ | |||
+ | Hardware hosts add: | ||
+ | | ||
+ | |||
+ | Desktops: | ||
+ | | ||
+ | |||
+ | Audio workstations: | ||
+ | | ||
+ | |||
+ | If you plan to compile your own kernel: | ||
+ | bison flex libssl-dev ncurses-dev libelf-dev | ||
+ | |||
+ | ====Networking==== | ||
+ | ===Device Names=== | ||
+ | ln -s /dev/null / | ||
+ | |||
+ | Here is what a link file looks like for an Ethernet device: | ||
+ | $ cat / | ||
+ | # | ||
+ | # Remember to `update-initramfs -u` after changing this file! | ||
+ | | ||
+ | [Match] | ||
+ | MACAddress=b4: | ||
| | ||
- | | + | |
- | | + | Name=emo0 |
+ | | ||
+ | |||
+ | * emoX for ports on the motherboard | ||
+ | * enX for (multi-)gigabit stand-up cards | ||
+ | * ibX for InfiniBand IPoIB devices (these do not need .link files though) | ||
+ | * mlxX for Mellanox devices in Ethernet mode | ||
+ | |||
+ | ===Port Conventions=== | ||
+ | X is 0-indexed. Port 0 on a stand-up card is the farthest from the motherboard. On a motherboard, | ||
+ | |||
+ | ===InfiniBand=== | ||
+ | * [[infiniband]] | ||
+ | * mst* installer | ||
+ | * copy production opensm configuration in case you have take over as SM | ||
+ | * (what needs to change here for VMs using virtual functions? | ||
+ | |||
+ | Comment out svcrdma in /etc/rdma/ | ||
+ | |||
+ | ===Ethernet configuration=== | ||
+ | Is a total mess right now. I don't know what I'm doing or how I want to do it. | ||
- | == Disable %!@#^ing console beeps == | + | ====Hugepages==== |
+ | Useful for databases, PHP, Factorio, and probably other things! Add something like this to / | ||
- | | + | |
- | == Disable %!@#^ing screen blanking == | + | To make a non-persistent change, |
- | Add this to ''/ | + | sysctl -w vm.nr_hugepages=512 |
- | sh -c 'setterm -blank 0 -powersave off -powerdown 0 < / | + | Make sure your locked memory limit is equal to or greater than the amount of RAM you're reserving for hugepages. |
- | == PS1 == | + | ====Shell profile==== |
+ | * Profile stuff: Bash, Vim, ? Can I automate this? (Of course I can.) | ||
- | Add this to your '' | + | ====Logging==== |
+ | * disable journald; configure logging for everything. | ||
+ | * Make a list of things that need to log | ||
- | * '' | + | ====Email==== |
+ | lol, not yet | ||
- | ===== If you are using a graphical desktop environment ===== | + | ====Disable TTY screen blanking==== |
+ | I don't know when this is necessary anymore. Add this to ''/ | ||
- | | + | |
- | ===== If you plan to compile your own kernel | + | ====Audio workstations==== |
+ | cat >> / | ||
+ | default-sample-format | ||
+ | default-sample-rate | ||
+ | ^D | ||
- | * '' | + | More on [[lad]]. |
nndocs/initial.1558300547.txt.gz · Last modified: 2019/05/19 21:15 by naptastic