Rogue Security Wiki

Study notes covering Deploying Software.

Author: Dylan Barrett

Date: 02/20/2026


📖 Useful Vocabulary / Acronyms

Terminology Definition
Open-Source A licensing model that grants end users the permission to install, use, modify, or distribute a software product or source code
Copy Left A type of license that allows end users to distribute works of free and open source softwareas long as it is released again under the same license terms
Python A High-Level Programing language that is widely used for automation
Artificial Intelligence (AI) The science of creating machines with the ability to develop problem-solving and analysis strategies without significant human intervention

Introduction

Package Management Concepts

While there is a shared concept that Linux is meant to be free and open source to anyone who would like to do it, there seems to be a lot of disagreement on how to exactly manage software packages.

Package Manager Tools

Package Managers in Linux are tools that make it easier to install and remove software.

Low-Level Package Managers

High-Level Package Managers

High-Level Package managers provide more functionality than low-level package managers. Allowing for repository management and dependency resolution

Graphical Package Managers

Universal Package Managers

Software Installation and Updates

Software Dependencies

Use update-alternatives to Manage Default Applications in Debian

Software Configuration

Configure Installed Software

Software configuration involves modifying settings and parameters to customize the behavior of applications and services

Software Removal

Remove Software on a Red Hat-derived System

Remove software on a Debian-Based System

Language-Specific Package Managers

Many programming languages have their own package management tools to install, update, and remove libraries or software

Python

Python comes with its own package manager of sorts called pip, and it is used to install different Python packages and resolve the dependencies for those Python packages

Rust

Rust is a modern high-preformance programing language designed for safety and speed. It is commonly used to build operating systems, game engines, web servers, and other mission-critical applications

Node.js

Troubleshooting Software Dependency Issues

Red Hat-Based Software

Debian-Based Software Dependencies

Acquire and Use Software

Software Sources

wget and curl

wget and curl allow you to access webpages from the command line; this is most notably useful for downloading software from a download link.

Repositories

Red Hat-Based repository configuration Files

Debian-Based Repository Configuration Files

Repository Exclusions

Troubleshooting Repository Misconfigurations

Package Queries

Red Hat-Based Package Queries

Debian-Based Package Queries

Sandboxed Software

Sanboxing with Virtual-Machines

Sanboxing with Containers

Sandboxing with Snaps

Sanboxing with Flatpak

Sanboxing with App Images