How To Install In Ubuntu

How To Install In Ubuntu

Reading time1 min
#Linux#OpenSource#Software#Ubuntu#PackageManagement#Apt

Installing Software on Ubuntu: Efficient Strategies for Engineers

Software provisioning on Ubuntu, a Debian-based distribution, generally relies on robust CLI tooling and package management standards. Experienced Linux users know that package installation is not always a single-step process—and occasionally, understanding system behavior under the hood is indispensable.

Below are field-tested installation methods with common pitfalls, diagnostics, and non-obvious optimizations.


Ubuntu Software Center (Graphical Approach)

Not everyone on a team prefers the shell. Ubuntu ships with Ubuntu Software Center—a GUI-based tool leveraging underlying snap and apt functionality.

Steps:

  1. Open Ubuntu Software (gnome-software), found by default on Ubuntu 20.04–24.04 LTS.
  2. Use the search bar to locate packages (e.g., "VLC").
  3. Select, then click Install.
  4. Enter your password when prompted.
  5. Application becomes available in the application launcher post-install.

Note: GUI fails to expose real-time logs. For troubleshooting, fallback to CLI is usually necessary.


Command Line: APT Package Management

Terminal-based package installations provide clarity, version control, and deterministic automation—critical for setting up reproducible environments via scripts or CI pipelines.

Update the package index:

sudo apt update

Install a package (e.g., Git 2.34+):

sudo apt install git

Check package version:

git --version

Example output:

git version 2.34.1

Common gotcha:
Missing dependencies will abort co-installations. You'll see output similar to:

E: Unable to locate package <package-name>

Check the spelling, or validate the package's availability with:

apt-cache search <partial-name>

Automation tip:
To non-interactively accept all prompts, append -y:

sudo apt install -y git

Installing .deb Packages Directly

Some vendors (notably Google and Microsoft) distribute proprietary binaries as .deb archives, bypassing official repos.

Procedure:

  1. Download .deb from the vendor (e.g., Chrome or VS Code).
  2. Change directory to downloads:
    cd ~/Downloads
    
  3. Install the package:
    sudo dpkg -i google-chrome-stable_current_amd64.deb
    
  4. Resolve dependency issues:
    sudo apt -f install
    
    Expected output if dependencies were missing:
    Errors were encountered while processing:
     google-chrome-stable
    
    apt -f install repairs these.

Non-obvious issue:
Manually installed .deb packages do not receive automatic updates. Configure vendor repositories or periodically reinstall for security patches.


Snap Packages (Containerized Applications)

Snap, engineered by Canonical, deploys sandboxed builds—sometimes at the expense of disk space and first-launch speed. Still, for cross-distro consistency or quick rollbacks, Snap is practical.

Install snap (if omitted from minimal installations):

sudo apt install snapd

Search and install (e.g., Spotify):

snap find spotify
sudo snap install spotify

Known issue:
Snaps may not fully honor desktop theming, and mounting issues can occur if /snap is not on a supported filesystem.

Use-caseProsCons
Snap/FlatpakUniversalSlower startup, sandbox
APTFast, leanTied to repo cadence
.deb manualLatestNo auto-updates

Additional Tips and Issues

  • Keep system consistent: Before mass installs—
    sudo apt update && sudo apt upgrade -y
    
  • Validate sources: Only download .deb files from domains you trust.
  • Verify packages: For auditing, compare checksums—
    sha256sum google-chrome-stable_current_amd64.deb
    
  • CLI search for discoverability—
    apt search <query>
    
  • Package removal (including configs):
    sudo apt purge <package-name>
    

Side note: Some packages (e.g., Docker, Kubernetes) use custom repositories for up-to-date binaries—refer to their official installation scripts.


Final Thoughts

Efficient software installation in Ubuntu centers on knowing when to use GUI tools for convenience, CLI/apt for automation, snap for sandboxing, or .deb for edge-case vendor apps.
No single method fits all operational realities. For automation and reproducibility, stick with apt-managed repositories and pin versions as needed. For one-off proprietary software, .deb is fastest, but comes with lifecycle trade-offs.

For troubleshooting, log files reside in /var/log/apt/—check history.log for audit trails.


Need a step-by-step using a less conventional package (Flatpak, AppImage, or custom builds)? Specifics matter—drop the application name and use case.