Learn how to use the Linux apt-get command to install, update, upgrade, and remove software packages efficiently. Discover common apt-get commands, practical examples, and best practices for managing Linux systems.
Content
Linux distributions based on Debian and Ubuntu provide a powerful package management system that simplifies software installation and maintenance. One of the most widely used tools for managing software packages is the apt-get command.
System administrators, developers, and DevOps engineers rely on apt-get to install applications, update systems, manage dependencies, and maintain server environments. Understanding how apt-get works is essential for anyone working with Ubuntu or Debian-based Linux systems.
What Is APT-GET?
APT stands for Advanced Package Tool. The apt-get command is a command-line utility used to retrieve, install, update, upgrade, and remove software packages from configured repositories.
Basic syntax:
apt-get [options] command
Most package management tasks require administrative privileges, so apt-get is commonly used with sudo.
Example:
sudo apt-get update
Why Use APT-GET?
The apt-get command provides several advantages:
Easy software installation
Automatic dependency management
System updates and upgrades
Package removal and cleanup
Repository management
Security patch installation
Efficient server maintenance
It eliminates the need to manually download and install software packages.
Update Package Lists
Before installing software, refresh package information:
sudo apt-get update
This command downloads the latest package information from configured repositories.
Running update regularly ensures access to the newest package versions and security updates.
Upgrade Installed Packages
To upgrade installed software:
sudo apt-get upgrade
This installs newer versions of currently installed packages while preserving existing configurations whenever possible.
System administrators often combine update and upgrade:
sudo apt-get update
sudo apt-get upgrade
Full System Upgrade
For more comprehensive upgrades:
sudo apt-get dist-upgrade
This command can install or remove packages as needed to satisfy dependency changes during upgrades.
It is commonly used during operating system upgrades and major package updates.
Install a Package
To install software:
sudo apt-get install nginx
The package manager automatically downloads required dependencies and installs them.
Additional examples:
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install mysql-server
This makes software deployment much easier compared to manual installation.
Install Multiple Packages
Several packages can be installed at once:
sudo apt-get install git curl vim
This saves time when setting up development or server environments.
Remove a Package
To uninstall a package:
sudo apt-get remove nginx
This removes the application while leaving some configuration files behind.
This approach can be useful if you plan to reinstall the package later.
Completely Remove a Package
To remove both the package and its configuration files:
sudo apt-get purge nginx
This performs a more complete cleanup.
Purging is often preferred when troubleshooting package-related issues.
Remove Unused Dependencies
Over time, unused dependencies can accumulate.
To remove them:
sudo apt-get autoremove
This helps free disk space and keeps systems clean.
Many administrators run this command after removing software packages.
Clean Package Cache
Downloaded package files are stored locally.
To clear the cache:
sudo apt-get clean
This can help recover storage space on servers with limited disk capacity.
Search for Packages
Although newer tools provide improved search capabilities, package information can still be explored through package management utilities.
Example:
apt-cache search apache
This displays packages related to Apache.
Searching packages helps identify available software before installation.
Show Package Information
To view details about a package:
apt-cache show nginx
This can display:
Version information
Dependencies
Maintainer details
Package description
Repository information
Useful when evaluating software before installation.
Reinstall a Package
If a package becomes corrupted:
sudo apt-get install --reinstall nginx
This reinstalls the package without requiring prior removal.
It can help resolve missing files or broken installations.
Fix Broken Dependencies
Occasionally package installations fail due to dependency issues.
To attempt repairs:
sudo apt-get install -f
This instructs the package manager to resolve dependency problems automatically.
APT-GET for Developers
Developers frequently use apt-get to install:
Git
PHP
Python
Node.js
Docker
Databases
Development libraries
Build tools
Example:
sudo apt-get install git
sudo apt-get install php
sudo apt-get install build-essential
These packages are commonly required during software development.
APT-GET for Server Administration
System administrators use apt-get for:
Server provisioning
Security updates
Service installation
Dependency management
Automated maintenance
System upgrades
For example:
sudo apt-get install apache2
sudo apt-get install mysql-server
These commands help deploy web servers and database environments quickly.
Common APT-GET Commands
Update Repository Information
sudo apt-get update
Upgrade Installed Packages
sudo apt-get upgrade
Install Software
sudo apt-get install package-name
Remove Software
sudo apt-get remove package-name
Purge Software
sudo apt-get purge package-name
Remove Unused Packages
sudo apt-get autoremove
Clean Cache
sudo apt-get clean
Fix Dependencies
sudo apt-get install -f
These commands cover most package management tasks.
Common Mistakes
Forgetting to Run Update
Installing packages without refreshing repository information may result in outdated package references.
Always run:
sudo apt-get update
before installing new software.
Running Unnecessary Upgrades
Review system changes before applying upgrades, particularly on production servers.
Removing Important Packages
Be cautious when removing packages with dependencies.
Review the package manager's prompts carefully before confirming actions.
Ignoring Security Updates
Regular updates help protect Linux systems from vulnerabilities and bugs.
Keeping systems updated is a critical security practice.
Best Practices
Run package updates regularly.
Install software only from trusted repositories.
Review dependency changes before upgrades.
Test major upgrades in staging environments.
Remove unused packages periodically.
Keep backups before major updates.
Monitor package installation logs.
Avoid interrupting package operations.
Use sudo only when necessary.
Document critical server changes.
APT vs APT-GET
Modern Ubuntu releases include both apt and apt-get.
Example:
apt update
apt install nginx
The apt command provides a more user-friendly interface for everyday use, while apt-get remains widely used in scripts, automation, and server administration because of its stable behavior.
Both tools use the same underlying package management system.
Conclusion
The Linux apt-get command is one of the most important tools for package management on Debian and Ubuntu-based systems. It simplifies software installation, dependency handling, system updates, and package maintenance.
Whether you are a developer setting up a development environment, a DevOps engineer managing cloud infrastructure, or a system administrator maintaining production servers, mastering apt-get can significantly improve efficiency and system reliability.
By understanding commands such as update, upgrade, install, remove, purge, autoremove, and clean, Linux users can manage software confidently and maintain healthy, secure systems.