USD ($)
$
United States Dollar
Euro Member Countries
India Rupee

Managing Software from Non-Repository Sources

Lesson 24/49 | Study Time: 20 Min

While Linux distributions provide extensive software repositories for easy package installation and updates, some software is not available in these official sources.

Managing software from non-repository sources is important for installing proprietary programs, specialized tools, or customized software versions. This process involves manual downloading and installing of packages, using third-party repositories, or employing universal packaging formats. 

Methods to Manage Non-Repository Software

Not all software is available through official Linux repositories. Below are common methods used to install and manage non-repository applications.


1. Installing Packages from Downloaded Files


Debian Packages (.deb):


  • Use dpkg to install downloaded .deb files:
text
sudo dpkg -i package_name.deb


  • Resolve missing dependencies afterward:
text
sudo apt-get install -f


RPM Packages (.rpm):


Use rpm for installation:

text
sudo rpm -ivh package_name.rpm


Or use yum/dnf localinstall for dependency resolution:

text
sudo yum localinstall package_name.rpm
sudo dnf install ./package_name.rpm


Extracting Tarballs (.tar.gz, .tar.bz2, .zip): 

These archives often contain precompiled binaries or source code.

Extract:

text
tar -xzf package.tar.gz


Compile from source (if applicable):

text
./configure
make
sudo make install


Note: Manual installations outside packages require tracking for updates and removals.


2. Using Third-Party Repositories and PPAs

Some software vendors provide their own package repositories (PPAs for Ubuntu) to facilitate updates. Adding a third-party repo involves editing source lists and trusting vendor keys.

Example (Ubuntu PPA):

text
sudo add-apt-repository ppa:name/ppa
sudo apt update
sudo apt install package_name

Ensures ongoing updates like official repositories but requires care to avoid conflicting packages.


3. Universal Package Formats


Snap: Containerized packages with all dependencies.

  • Install snapd and use:
text
sudo snap install package_name


Flatpak: Focuses on sandboxing and compatibility.

  • Install Flatpak and add Flathub repo, then install:
text
flatpak install flathub package_name


AppImage: Portable executable files that run without installation.

  • Download and run directly:
text
./package_name.AppImage


These formats provide cross-distribution compatibility and ease of installation for non-repository apps.

Security Considerations


1. Only download software from trusted sources or official vendor sites.

2. Verify digital signatures or checksums (SHA256, GPG) when provided.

3. Be cautious with manual installations as they may bypass package manager tracking and updates.

4. Use sandboxed formats (Snap, Flatpak) to reduce security risks.

Managing Updates and Uninstallation


1. Software installed from .deb or .rpm packages can usually be managed with package managers.

2. Manual source installations require custom removal, often involving deleting files or running uninstall scripts.

3. Universal package managers (Snap, Flatpak) provide built-in update and removal commands:

text
sudo snap refresh package_name
flatpak update
sudo snap remove package_name
flatpak uninstall package_name
Samuel Wilson

Samuel Wilson

Product Designer
Profile

Class Sessions

1- What is Linux and Operating System Concepts 2- Linux History and Evolution 3- Linux Distributions and Their Purposes 4- Open Source Software and Licensing 5- Graphical User Interface (GUI) and Desktop Environments 6- Terminal Access and Command-Line Fundamentals 7- Getting Help and Command Documentation 8- File System Hierarchy and Directory Structure 9- Navigating Directories and Listing Contents 10- Creating, Copying, and Moving Files and Directories 11- Deleting Files and Directories 12- Symbolic and Hard Links 13- Understanding File Permissions Model 14- Modifying Permissions and Ownership 15- User and Group Management 16- Sudo and Privilege Escalation 17- Text Searching and Pattern Matching 18- Text Processing and Stream Editing 19- Compressing and Archiving Files 20- Text Editing and File Creation 21- Package Management Systems Overview 22- Installing and Updating Software with APT 23- Installing and Updating Software with YUM/DNF 24- Managing Software from Non-Repository Sources 25- Understanding Processes and Process Management 26- Viewing Running Processes 27- Process Control and Termination 28- Task Scheduling with Cron 29- Networking Concepts and IP Addressing 30- Viewing and Configuring Network Interfaces 31- Basic Network Troubleshooting 32- Shell Script Basics 33- Variables and Data Types 34- Conditional Logic in Scripts 35- Loops and Iteration 36- Functions and Code Reuse 37- Input/Output and User Interaction 38- System Authentication and Access Control 39- File System Security 40- Software Updates and Patching 41- Basic Firewall Concepts 42- System Information and Monitoring 43- Service and Daemon Management 44- System Boot Process and Runlevels 45- System Backup and Disaster Recovery 46- Comprehensive File System Management 47- System Automation Workflows 48- Multi-Concept Troubleshooting Scenarios 49- Continued Learning Pathways

Sales Campaign

Sales Campaign

We have a sales campaign on our promoted courses and products. You can purchase 1 products at a discounted price up to 15% discount.