System software and package management - administering networking in
RHEL - Lab: Examining and configuring network in server - Starting and
stopping services in RHEL - Lab: Managing daemons and services in
RHEL - Configuring a web server in RHEL - Lab: Managing a basic
webserver – Advance webserver management - Secure webserver - Lab:
Securing the webserver effectively - Managing disks and file systems - Lab:
Making simple partitions - Logical volume management - Lab:
Implementing Logical Volume Management (LVM) - Configuring Samba
server in RHEL - Lab: Deploy a samba share directory - Configuring an
NFS file server in RHEL - Lab: Deploy a NFS Share export – Introducing
container technology.
System Software and Package Management
What is Software?
Software refers to a set of instructions, programs, or data that enables a
computer to perform specific tasks. It is broadly classified into two categories:
1. System Software – Includes the operating system, device drivers,
utilities, and tools that manage hardware resources and provide essential
services.
o Examples: Linux Kernel, Windows OS, BIOS, Shell, System
Libraries.
2. Application Software – Programs designed for end-users to perform
tasks such as browsing the internet, playing media, or editing documents.
o Examples: Web Browsers, Word Processors, Media Players.
What is a Package?
A package is a collection of files required to install, configure, and run a
particular software application. A package typically includes:
The application’s binaries or source code.
Configuration files.
Dependency information.
Metadata (name, version, description).
,Types of Packages in Linux:
1. Debian-based (.deb files) – Used in Ubuntu, Debian, and related
distributions.
2. Red Hat-based (.rpm files) – Used in RHEL, CentOS, Fedora.
3. Compressed Packages (tar.gz, tar.xz) – Source code or pre-compiled
binaries.
4. Universal Formats – Flatpak, Snap, AppImage (cross-distro packages).
What is Package Management?
Package Management is the process of installing, upgrading, configuring, and
removing software packages in a system. It ensures:
Dependency resolution – Automatically installs required libraries.
Version control – Manages software updates and rollbacks.
Repository management – Provides access to official and third-party
repositories.
Types of Package Managers
1. APT (Advanced Package Tool) – Used in Debian-based systems
(Ubuntu, Debian).
2. YUM (Yellowdog Updater, Modified) and DNF (Dandified YUM) –
Used in RHEL-based distributions.
3. Zypper – Used in openSUSE.
4. Pacman – Used in Arch Linux.
5. Flatpak/Snap/AppImage – Universal package managers.
Package Management Commands
Debian-Based Systems (Ubuntu, Debian)
Using apt (Recommended)
sudo apt update # Refreshes package list
sudo apt upgrade # Upgrades installed packages
sudo apt install <package_name> # Installs a package
sudo apt remove <package_name> # Removes a package
sudo apt purge <package_name> # Removes package and config files
sudo apt search <package_name> # Searches for a package
,sudo apt show <package_name> # Displays package details
sudo apt list --installed # Lists installed packages
Using dpkg (For .deb files)
sudo dpkg -i package.deb # Installs a .deb package
sudo dpkg -r package_name # Removes a package
sudo dpkg -l # Lists all installed packages
Red Hat-Based Systems (RHEL, CentOS, Fedora)
Using dnf (Recommended for RHEL 8 and later)
sudo dnf update # Refreshes package list and upgrades packages
sudo dnf install <package_name> # Installs a package
sudo dnf remove <package_name> # Removes a package
sudo dnf list installed # Lists installed packages
sudo dnf info <package_name> # Shows package details
Using yum (Older RHEL versions)
sudo yum update # Updates system packages
sudo yum install <package_name> # Installs a package
sudo yum remove <package_name> # Removes a package
Using rpm (For .rpm files)
sudo rpm -ivh package.rpm # Installs a package
sudo rpm -e package_name # Removes a package
sudo rpm -qa | grep package_name # Checks if a package is installed
Universal Package Managers
Using Flatpak
sudo flatpak install flathub <package_name>
sudo flatpak list # Lists installed packages
sudo flatpak update # Updates packages
sudo flatpak uninstall <package_name> # Removes a package
Using Snap
sudo snap install <package_name>
, sudo snap list # Lists installed packages
sudo snap remove <package_name> # Removes a package
How Package Management Works in a Real-Time Environment
1. Enterprise Software Deployment – IT teams use package managers to
install and maintain software on servers (e.g., installing web servers like
Apache, Nginx).
2. Automated Updates – Organizations configure automatic updates using
cron jobs to keep systems secure.
3. Configuration Management Tools – Tools like Ansible, Puppet, Chef
automate package installations and updates.
4. Repository Management – Companies use private repositories
(Artifactory, Nexus) to store and manage internal packages.
5. Troubleshooting & Rollbacks – If a new package version causes issues,
admins use package managers to rollback to a stable version.
1. What is RPM?
RPM (Red Hat Package Manager) is a low-level package management system
used in Red Hat-based Linux distributions like RHEL, CentOS, Fedora, Rocky
Linux, and AlmaLinux.
1.1. Features of RPM:
Installs, updates, and removes .rpm (Red Hat Package) files
Handles individual package management
Does not resolve dependencies automatically
Requires manual intervention if dependencies are missing
1.2. Basic RPM Commands:
bash
CopyEdit
# Install a package
sudo rpm -ivh package.rpm
# Remove a package
sudo rpm -e package_name
# List all installed packages
rpm -qa