Minimal workstation setup
Installations
sudo apt -y update && sudo apt -y install --no-install-recommends \
build-essential \
ca-certificates \
gnupg \
gnupg2 \
wget \
curl \
rsync \
unzip \
zip \
git \
grep \
feh \
tree \
sudo \
jq \
openssh-server \
gcc \
vim 2>/dev/null
This streamlined list focuses on the essentials for a functional remote workstation with development capabilities, without unnecessary overhead. Adjust further based on your specific use case or if you know more about what you won’t need.
Essential Packages
- openssh-server: For SSH server support.
- curl and wget: Command-line tools for downloading files.
- ca-certificates: Allows SSL-based applications to check for the authenticity of SSL connections.
- gnupg, gnupg2: Tools for encryption, providing a secure transport mechanism for key management.
- sudo: Allows privilege management, essential for managing permissions.
Developer Tools (if needed)
- git: For version control.
- build-essential: Includes the GCC compiler and related tools, necessary if you compile software.
- gcc: Included in build-essential, but listed for clarity.
- pkg-config: Helps in compiling applications and libraries.
- zip, unzip, rsync: For handling file archives and synchronization.
Optional Utilities (could be removed based on need)
- vim or vim-gtk: Text editors. If GUI support isn’t required,
vim
alone is sufficient. - tree: Helpful for visualizing directory structures.
- jq: Command-line JSON processor.
- feh: Lightweight image viewer, useful if you handle image files directly on the server.
- locate: Quick file searching utility, needs to be updated with
updatedb
regularly.
Likely Unnecessary (consider removing unless specifically needed)
- apt-transport-https: Now redundant in newer versions of Ubuntu as HTTPS support is built into
apt
. - software-properties-common: Typically used for managing PPAs and not necessary unless you add PPAs.
- automake: Necessary only if you frequently compile from source.
- uuid: Rarely needed unless specifically required by other applications.
- apt-utils: Generally used in Docker environments or specific apt configuration scenarios.