← Back to list

Before I Install a Linux App, I Check These 5 Things

A practical workflow for understanding what software is actually doing on your system.

Sam Writes Security in Linux For Everyone · 2026-05-11 11:15 · 166 claps · 3.5 min read paywalled
#programming #linux #cybersecurity #computer-science #privacy
Open on Medium ↗
Wiki topics: GEN · Genomics & Sequencing 💻 · Programming 🔒 · Cybersecurity 🔓 · Open Source 🔬 · Science · General

Before I Install a Linux App, I Check These 5 Things

A practical workflow for understanding what software is actually doing on your system.

Photo by Pankaj Patel on Unsplash

Photo by Pankaj Patel on Unsplash

One of the biggest mistakes one can make is treating software installation like a normal “download and click” process.

Find an app. Copy a command. Paste it into the terminal. Install complete.

Simple.

But over time, I started realizing something:

«Linux gives users a level of control and visibility most systems hide.» If they don’t exactly “ hide “ they don’t propagate that much.

And if you ignore that visibility, you end up trusting software blindly anyway.

That completely defeats the point.

These days, before I install almost any Linux application, I inspect a few things first—call it Paranoia but I want to understand:

  • where the software comes from
  • what it changes
  • what access it needs
  • and what it’s actually doing on my system

This process has helped me avoid:

  • unstable packages
  • unnecessary services
  • questionable repositories
  • bloated dependencies
  • and software I simply didn’t trust enough to install

Here are the five things I usually check first.

  1. Where the Application Comes From

This is the first thing I look at.

Not all Linux software sources are equal.

There’s a major difference between:

  • official repositories
  • verified maintainers
  • GitHub releases
  • random scripts copied from blogs

A lot of Linux users get comfortable running commands like this:

curl apporservice.sh

without fully understanding what the script is doing.

That’s risky.

Whenever possible, I prefer software from:

  • official distro repositories
  • trusted maintainers
  • verified project pages

If it’s coming from GitHub, I usually check:

  • whether the repository is active
  • how many contributors it has
  • whether releases are signed
  • and if the project looks legitimate

On Debian-based systems, I also inspect package sources directly:

apt policy package-name

This tells me:

  • where the package comes from
  • which repository provided it
  • and which version is being installed

Understanding the source matters because trust in Linux often starts at the repository level.

  1. What Dependencies It Pulls In

This is something some users ignore completely.

Installing one package can sometimes pull in:

  • dozens of additional packages
  • background services
  • libraries you never intended to install

Before installing anything, I usually inspect the package first:

apt show package-name

Or simulate the installation:

apt install --simulate package-name

This gives me a much clearer idea of:

  • what will actually change
  • how large the install is
  • and whether the application depends on unnecessary components

Sometimes a small application ends up installing half a desktop framework.

Other times, dependencies introduce:

  • network services
  • startup processes
  • or packages that significantly expand the system’s attack surface

The installation itself is usually the easy part.

Understanding the chain of dependencies is where Linux starts feeling like a real system.

  1. What Permissions or Access It Needs

This is where my cybersecurity mindset usually kicks in.

I always ask:

«What kind of access is this application expecting?»

Some software only needs:

  • basic user-level access

Other software wants:

  • root privileges
  • filesystem access
  • startup persistence
  • network visibility
  • or system-level control

That distinction matters.

For Flatpak applications, I often inspect permissions directly:

flatpak info --show-permissions app-name

This lets me see:

  • filesystem access
  • device access
  • network permissions
  • and sandbox behavior

If the application installs services, I also check:

systemctl list-unit-files

I want to know:

  • whether something starts automatically
  • whether it runs in the background
  • and whether it modifies system behavior after installation

Linux gives you visibility into these things.

Ignoring that visibility is usually a mistake.

  1. Whether the Project Is Actually Maintained

A surprising amount of Linux software is effectively abandoned.

The package may still install perfectly—but the project itself may not be actively maintained anymore.

That matters for:

  • security updates
  • compatibility
  • stability
  • and long-term reliability

Before installing something unfamiliar, I usually check:

  • recent commits
  • release history
  • issue tracker activity
  • open bugs
  • developer responsiveness

An inactive project isn’t automatically dangerous.

But outdated software becomes a problem very quickly in environments where:

  • dependencies evolve
  • vulnerabilities appear
  • or APIs change

Sometimes the biggest risk isn’t malicious software.

It’s neglected software.

  1. What the Application Does After Installation

This is probably the most overlooked part of the entire process.

Most of us inspect software before installation—but never observe its behavior afterward.

I usually check:

  • running processes
  • network activity
  • startup behavior
  • and resource usage

Commands like these help a lot:

ps aux

ss -tulpn

htop

This tells me:

  • what processes are running
  • whether the application opened network connections
  • and whether unexpected services appeared

Sometimes applications behave exactly as expected.

Other times, you discover:

  • background daemons
  • telemetry connections
  • auto-start services
  • or processes consuming far more resources than expected

The installation is only one part of the story.

Behavior after installation matters just as much.

Linux gives users something powerful: visibility into how systems actually behave.

The mistake is having that visibility—and still installing software blindly.

These days, I try to approach Linux applications less like “apps” and more like system components.

Because once software is installed, it becomes part of:

  • your workflow
  • your environment
  • and sometimes your attack surface

And understanding that changes how you install software completely.

What’s one thing you check before installing software on Linux?


메타데이터
post_id
710b829683a0
slug
before-i-install-a-linux-app-i-check-these-5-things-710b829683a0
url
https://medium.com/linux-for-everyone/before-i-install-a-linux-app-i-check-these-5-things-710b829683a0
canonical_url
https://medium.com/linux-for-everyone/before-i-install-a-linux-app-i-check-these-5-things-710b829683a0
author_url
https://medium.com/@samwritessecurity
status
ok
fetched_at
2026-06-14 11:28:49