User Tools

Site Tools


linux:distros:server:ubuntu_server

Information

  • Ubuntu 1)
  • Server 2)
  • 23.10

Installation Notes

  • 23.10's installers don't work with only 512 MB of physical RAM 3), but fine with 1 GB+
  • :!: 2024/02/07: The 23.10 installer seems to progress very slowly or hang with 1 GB physical RAM at the very end both when waiting for it to do security updates and with pressing cancel updates and reboot; hard-rebooting a VPS at this point seems fine

Download

Etcher Image Writer

Ubuntu

HOSTS

Initial

  • Only run once
ls '/etc/hosts~' || wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp --backup '/tmp/hosts-tmp' '/etc/hosts' && sync

Update

ls '/etc/hosts~' && wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo mv --force '/tmp/hosts-tmp' '/etc/hosts' && sync

Restore Backup

ls '/etc/hosts~' && sudo mv --force '/etc/hosts~' '/etc/hosts' && sync

Repositories

Disable cdrom Repo

  • Add a # to the line mentioning cdrom
  • Solves E: The repository file:/cdrom mantic Release no longer has a Release file.
sudo -e '/etc/apt/sources.list'
#deb [check-date=no] file:///cdrom mantic main restricted

Additional Ubuntu

sudo add-apt-repository 'universe'
sudo add-apt-repository 'multiverse'
sudo add-apt-repository 'restricted'

Keybase

wget -O '/tmp/code_signing_key.asc' 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo mv '/tmp/code_signing_key.asc' '/etc/apt/trusted.gpg.d/keybase.asc' && sync

Software

Update

System

sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean && sync

Firmware

sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose && sync

Snaps

sudo snap refresh

Keybase

rm -Rf '/tmp/keybase_amd64.deb' && wget -O '/tmp/keybase_amd64.deb' 'https://prerelease.keybase.io/keybase_amd64.deb' && sudo apt install '/tmp/keybase_amd64.deb' && rm '/tmp/keybase_amd64.deb' && sync && run_keybase

Settings

GRUB

Config

sudo -e '/etc/default/grub' && sudo update-grub

Drive Maintenance

Trim

sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l

XFS Scrub

  • :!: This is only necessary if XFS is being used on any persistent drives such as a NAS, and requires xfsprogs to be installed
sudo apt install 'xfsprogs'
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l

UTC

  • Set RTC to UTC
  • :!: Needed if Windows is installed first
  • :!: Windows should also be set to UTC
sudo timedatectl set-local-rtc '0'

Verify

timedatectl | grep local

OpenSSH

  • See Client notes to generate/restore public key
  • See Server notes to force public key auth and to further secure the OpenSSH server

Sensors

Install

sudo apt install lm-sensors

Detect

sudo sensors-detect --auto

Watch

sudo watch --interval '0.5' sensors

Uncomplicated Firewall

  • Allows SSH
  • :!: Does not limit SSH 4)
  • See ufw for more notes
sudo ufw reset && sudo ufw default deny && sudo ufw logging off && sudo ufw allow 'ssh' && sudo ufw enable && sudo systemctl enable 'ufw'

Automatic Updates

Config

  • Should keep old config files in-case updated package changes their config (needs tested)
  • :!: 2023/05/04: Not sure if this is needed still?
sudo -e '/etc/apt/apt.conf.d/99auto-update-custom'
Dpkg::Options {
   "--force-confdef";
   "--force-confold";
}

Service

sudo -e '/etc/systemd/system/ubuntu-up.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/apt' clean
ExecStart='/usr/bin/apt' update
ExecStart='/usr/bin/apt' full-upgrade -y
ExecStart='/usr/bin/apt' autoremove -y
ExecStart='/usr/bin/snap' refresh
ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot

Timer

  • 00:00 Alira
sudo -e '/etc/systemd/system/ubuntu-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'ubuntu-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 00:00:00
Persistent=true

[Install]
WantedBy=timers.target

External Backup

  • :!: 2023/05/04: This hasn't been used for years and likely needs re-factored

fstab

  • Expects a drive of some kind with a XFS partition at /dev/sdb1
sudo mkdir -p '/mnt/USB' && sudo -e '/etc/fstab'
# USB
/dev/sdb1 /mnt/USB xfs rw,relatime,attr2,inode64,noquota 0 2
sudo mount '/dev/sdb1'

Service

sudo -e '/etc/systemd/system/backup-external.service' && sudo sed -i 's/CHANGEME/'$USER'/g' '/etc/systemd/system/backup-external.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/sync'
ExecStart='/usr/bin/rsync' -r '/home/CHANGEME/backups' '/mnt/USB' --verbose --ignore-existing
ExecStartPost='/usr/bin/sync'

Timer

sudo -e '/etc/systemd/system/backup-external.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'backup-external.timer' --now
[Unit]
Description=Backup Backups to External Device

[Timer]
OnCalendar=*-*-* 07:00:00
Persistent=true

[Install]
WantedBy=timers.target

Notable Folders and Commands

3)
2024: can't use Vultr's free tier VPS option; referral
4)
this caused issues; better to just secure SSH
/usr/local/www/wiki/data/pages/linux/distros/server/ubuntu_server.txt · Last modified: by 127.0.0.1