This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
nndocs:initial [2019/05/19 21:15]
naptastic update for ubuntu 18.04 (part 1/?)
nndocs:initial [2019/09/01 22:25] (current)
naptastic [Getting Started] fix what was wrong with dhclient
Line 1: Line 1:
 ===== Standard Ubuntu Setup at narf.rocks ===== ===== Standard Ubuntu Setup at narf.rocks =====
-Perform a network install of Ubuntu ​18.04. Mirror settings:+**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 Ubuntu 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! 
 +  * Study the output of debconf-selection and make some damned preseed files! Every time you set up an environment,​ update your documentation! 
 +  * 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 == 
 +  * Rust (Once I have a complete prototype in Perl with tests and can guarantee unchanged behavior) 
 +  * CUDA (Once GPU math makes sense) 
 +  * email (:sob:) 
 +===== Getting Started ===== 
 +Perform a network install of Ubuntu. Mirror settings:
   * host: mirror.narf.rocks   * host: mirror.narf.rocks
   * directory: /ubuntu   * directory: /ubuntu
   * No proxy   * No proxy
-    apt remove - isc-dhcp-* systemd-resolved 
-    apt install dhcpcd5 
 == Essentials == == Essentials ==
 +**WARNING: Don't do this on devices that rely on WiFi!**
 Take these, you'll need them: Take these, you'll need them:
 +(except smartmontools on VMs--that will get handled automatically via preseed file, eventually.)
-  ​* ''​apt-get -y install ​git vim lynx openssh-server ​lame autoconf ​smartmontools''​ (omit smartmontools on VMs)+  apt -y install ​autoconf dhcpcd5 lame lynx nfs-common ​openssh-server smartmontools ​whois isc-dhcp-client 
 +  mkdir /​root/​.ssh 
 +  chmod 700 /​root/​.ssh 
 +  curl https://​keys.naptastic.com/​david/​naptastic.pub >> /​root/​.ssh/​authorized_keys 
 +Configure ssh not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' ​fails. ​(You didn't forward your agent, did you?Set a password for direct root login. 
 +== Networking == 
 +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.
 == Make history include human-readable timestamps == == Make history include human-readable timestamps ==
-Put this at the end of both ''/​etc/​profile''​ and ''/​etc/​bash.bashrc''​:+Make things easy:
 +  cat >> /​etc/​profile
 +  ​
   # Color ls output   # Color ls output
   export LS_OPTIONS='​--color=auto'​   export LS_OPTIONS='​--color=auto'​
Line 25: Line 72:
   alias ls='ls $LS_OPTIONS'​   alias ls='ls $LS_OPTIONS'​
   ​   ​
-  # Timestamp history ​ +  # Timestamp history
   export HISTTIMEFORMAT="​%Y/​%m/​%e-%H:​%M:​%S "   export HISTTIMEFORMAT="​%Y/​%m/​%e-%H:​%M:​%S "
-== Disable %!@#^ing console beeps ==+then ^D, then:
-  ​* ''​echo '​blacklist pcspkr' ​> /etc/modprobe.d/​nobeep.conf'' ​(not sure if necessary anymore)+  ​cat >> /etc/bash.bashrc 
 +  # Color ls output 
 +  export LS_OPTIONS='--color=auto' 
 +  eval "​`dircolors`"​ 
 +  alias ls='ls $LS_OPTIONS'​ 
 +  # Timestamp history 
 +  export HISTTIMEFORMAT="​%Y/​%m/​%e-%H:​%M:​%S "
-== Disable ​%!@#​^ing ​screen blanking ==+then ^D. 
 +== Disable ​TTY screen blanking ​(this doesn'​t work anymore but might not be necessary--please test) ==
 Add this to ''/​etc/​rc.local''​ above the ''​exit 0''​ line: 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' ​(not sure if necessary ​anymore)+  sh -c '​setterm -blank 0 -powersave off -powerdown 0 < /​dev/​console > /​dev/​console 2>&​1'​ 
 +== Let Firefox manage its own home screen, thanks and heck off == 
 +Other commands might be necessary ​for other invasive desktop environments. **Update as you learn**. 
 +  echo > /​usr/​lib/​firefox/​ubuntumate.cfg
 == PS1 == == PS1 ==
Line 42: Line 105:
 Add this to your ''​~/​.bashrc''​ file: Add this to your ''​~/​.bashrc''​ file:
-  ​* ''​PS1='​\[\033[32;​1m\][\u]@[\h]\[\033[0m\]\[\033[34;​1m\][\t]\[\033[0m\]\[\033[35;​1m\][\w]\[\033[0m\]\$ ' '' ​(this needs an update)+  PS1='​\[\033[32;​1m\][\u]@[\h]\[\033[0m\]\[\033[34;​1m\][\t]\[\033[0m\]\[\033[35;​1m\][\w]\[\033[0m\]\$ ' 
 +(this needs an update) 
 +===== 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 
 +== 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 gparted 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 ardour qjackctl alsa-tools-gui eq10q jalv jamin lilv-utils calf-plugins 
 +  cat >> /​etc/​pulse/​daemon.conf 
 +  default-sample-format = s24le 
 +  default-sample-rate = 96000 
 +  ^D
-===== If you are using a graphical desktop environment =====+or just edit the stupid file, which inherits its stupidity from the system that spawned it. At least the configuration files are human-editable.
-  * ''​apt-get -y install gparted hexchat pidgin synaptic terminator fonts-lohit-knda fonts-knda''​ (this needs an update)+== If you plan to compile your own kernel ==
-===== If you plan to compile your own kernel =====+  apt -y install bison flex libssl-dev ncurses-dev
-  * ''​apt-get -y install ncurses-dev''​ (this is no longer sufficient) 
nndocs/initial.1558300547.txt.gz · Last modified: 2019/05/19 21:15 by naptastic
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki