Linux Software Guide
Linux Software Guide
This document provides a list of useful software for Linux, along with installation notes and usage instructions.
Default Software (Core Utilities)
These tools are typically available in a standard Linux installation.
-
update-alternatives: Manages multiple versions of the same software.
Useful for switching between different versions of tools like Java, Python, etc.References:General Workflow:- Install the required software versions.
- Add each version to
update-alternatives. - Configure which version to use.
- Test the setup.
-
Example: Managing Multiple JDKs-
Install JDKssudo apt update sudo apt install openjdk-8-jdk -y sudo apt install openjdk-17-jdk -y -
Add alternatives for java and related commands
(Last number = priority)# Syntax: # sudo update-alternatives --install <link> <name> <path> <priority> sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 800 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1700 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 800 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1700 -
Configure desired versionsudo update-alternatives --config java sudo update-alternatives --config javac -
Verify installationjava -version javac -version
-
whereis: Finds binary, source, and man page files.man: Displays command documentation.ln: Creates links between files.wget: Downloads files from the web.tar: Creates and extracts archive files (.tar,.tar.gz, etc.).
External Software
Development Tools
Git: Distributed version control system.SDKMAN: Manage multiple SDK versions (Java, Groovy, Scala, etc.).nvm: Node Version Manager.pnpm: Fast Node.js package manager.Bun: All-in-one JavaScript toolkit.Go: Programming language- Remember to add its
binpath to/etc/environment
- Remember to add its
Docker: Container platform.Taskfile: Task runnergitc: to copy files from github repo- my own npm lib
IDEs and Editors
Visual Studio CodeIntelliJ IDEA- Remember to create a desktop entry
API and Database Tools
PostmanDBeaverMongoDB Compassredis-tools
Kubernetes and Cloud-Native
KindkubectlLens (k8slens)Helm
Browsers and Productivity
ChromeBraveRemminaDiodonLibreOfficeVLC
System Utilities
tmux-
UxPlay-
Start server:
uxplay -
Custom name:
uxplay -n "My Laptop" -
Set resolution:
uxplay -s 1920x1080 -
Important:
sudo pkill uxplay
-
GNOME Shell Extension Managerydl-dp- Install via apt
AI Command-Line Interfaces
-
Codex (ChatGPT CLI)pnpm add -g @openai/codex -
Gemini CLIpnpm add -g @google/gemini-cli