Setup Note: Ubuntu - takumaw/Configs GitHub Wiki

Ubuntu Setup Note

Initial Setup

Installer Selection

  • Language & Keyboard
    • Japanese
  • Updates and other software
    • Server

Optional: Enable Proxy

sudo vim /etc/environment
# set *_proxy environmental variables

Prepare Essential Utils

sudo apt install -y vim zsh
sudo apt install -y apt-utils apt-file aptitude

Enable Automatic Update

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
// Uncomment Unattended-Upgrade::Allowed-Origins
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";

Enable Time Syncing

sudo vim /etc/systemd/timesyncd.conf
# => modify ntp server(s)
sudo systemctl restart systemd-timesyncd

Optional: Install Root CA Certificates

Place certs under /usr/local/share/ca-certificates/.

Then,

sudo update-ca-certificates -v

Optional: Update Folder Names

LANG=C xdg-user-dirs-gtk-update

Optional: Install Network Filesystems

sudo apt install -y cifs-utils nfs-common

Optional: Enable Cockpit Web Console

sudo apt install -y cockpit
sudo systemctl enable --now cockpit

Optional: Enable Basic Securities

sudo apt install -y logwatch fail2ban

Refresh apt packages

sudo apt update; sudo apt upgrade -y; sudo apt autoremove -y; sudo apt autoclean

Console Applications

Shell Basics

sudo apt install -y \
  fdupes \
  htop \
  p7zip \
  psmisc \
  pv \
  rename \
  rsync \
  tmux \
  tree

Networking

sudo apt install -y \
  bind9-dnsutils \
  corkscrew \
  iperf \
  mitmproxy \
  nmap \
  socat \
  telnet
sudo apt install -y \
  termshark \
  tshark \
  wireshark

Text Processing

sudo apt install -y \
  asciidoc \
  docbook \
  dos2unix \
  doxygen \
  help2man \
  jq \
  nkf \
  pandoc \
  qpdf \
  recode \
  sphinx-doc
sudo apt install -y \
  texlive \
  texlive-lang-cjk \
  texlive-fonts-recommended \
  texlive-fonts-extra \
  xdvik-ja

Graphcics Processing

sudo apt install -y \
  graphicsmagick \
  graphviz \
  imagemagick

Automation

sudo apt-add-repository -y --update ppa:ansible/ansible
sudo apt install -y ansible

See:

Remote Management

sudo apt install -y \
  ipmitool

Build Tools

sudo apt install -y build-essential
sudo apt install -y \
  autoconf \
  autogen \
  automake \
  cmake \
  libtool

Debugging Tools

sudu apt install -y \
  gdb \
  crash

Source Code Management

sudo add-apt-repository -y --update ppa:git-core/ppa
sudo apt install -y git git-email

See:

sudo apt install -y subversion
sudo apt install -y \
  cloc \
  sloccount

Databases

See:

sudo apt install -y \
  sqlite3

Terminal-based

sudo apt install -y \
  dialog

Python-specific

sudo apt install -y \
  python3
sudo apt install -y \
  pipx \
  python3-keyring \
  python3-keyrings.alt \
  python3-pip \
  python3-venv
pipx install black
pipx install hatch
pipx install mypy
pipx install pipenv
pipx install poetry
pipx install ruff

Java-specific

sudo apt install -y \
  ant \
  gradle \
  maven

Node-specific

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

See:

Rust-specific

sudo apt install -y rust-all

See also:

Go-specific

sudo apt install -y golang

Haskell-specific

sudo apt install -y \
  cabal-install \
  ghc \
  haskell-stack

See also:

OCaml-specific

sudo apt install -y \
  ocaml \
  opam

See also: