Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
The dpkg
(Debian Package Manager) command is used in Debian-based Linux distributions (such as Ubuntu, Debian, and Kali Linux) for installing, removing, and managing .deb
packages. Unlike apt
, dpkg
does not resolve dependencies automatically but provides more low-level package control.
1. Install a .deb
Package
sudo dpkg -i package.deb
โ What it does:
-i
โ Installs the.deb
package.- Does not handle missing dependencies.
๐ Example:
sudo dpkg -i google-chrome-stable_current_amd64.deb
๐ If dependencies are missing, fix them using:
sudo apt-get install -f
๐ก Use when manually installing .deb
files.
2. Remove a Package
sudo dpkg -r package-name
โ What it does:
-r
โ Removes a package but keeps its configuration files.
๐ Example:
sudo dpkg -r google-chrome-stable
๐ To remove configuration files as well, use -P
:
sudo dpkg -P google-chrome-stable
๐ก Use -r
for uninstalling but keeping settings. Use -P
to erase everything.
3. List Installed Packages
dpkg -l
โ What it does:
-l
โ Lists all installed packages.
๐ Example Output:
ii google-chrome-stable 95.0.4638.69-1 amd64
ii git 2.34.1 amd64
๐ To check if a specific package is installed:
dpkg -l | grep chrome
๐ก Helpful when checking for installed packages before updating or removing them.
4. Get Information About a Package
dpkg -s package-name
โ What it does:
-s
โ Shows detailed information about an installed package.
๐ Example:
dpkg -s git
๐ Output Example:
Package: git
Status: install ok installed
Version: 2.34.1
Architecture: amd64
Description: Distributed version control system
๐ก Useful for checking version, status, and description.
5. List Files Installed by a Package
dpkg -L package-name
โ What it does:
-L
โ Lists all files installed by a package.
๐ Example:
dpkg -L apache2
๐ Sample Output:
/.
/etc/apache2
/etc/apache2/apache2.conf
/usr/sbin/apache2
/usr/lib/apache2
๐ก Helpful for knowing where a package installs its files.
6. Find the Package That Owns a File
dpkg -S /path/to/file
โ What it does:
-S
โ Finds which installed package a specific file belongs to.
๐ Example:
dpkg -S /usr/bin/git
๐ Output:
git: /usr/bin/git
๐ก Useful for identifying which package installed a file.
7. Reconfigure a Package
sudo dpkg-reconfigure package-name
โ What it does:
- Reconfigures a package after installation.
- Used to reset settings or fix issues.
๐ Example:
sudo dpkg-reconfigure tzdata
๐ Allows you to select the correct timezone again. ๐ก Great for reconfiguring system-wide settings.
8. Extract .deb
Package Without Installing
dpkg-deb -x package.deb output-directory/
โ What it does:
-x
โ Extracts package contents without installing.
๐ Example:
dpkg-deb -x google-chrome-stable_current_amd64.deb chrome-files/
๐ก Useful for inspecting package files before installation.
9. Check if a Package is Installed
dpkg -l | grep package-name
โ What it does:
- Searches for a package in the installed package list.
๐ Example:
dpkg -l | grep firefox
๐ Output:
ii firefox 96.0+build1-0ubuntu amd64
๐ก Useful for verifying if a package is already installed.
10. Fix Broken Packages
sudo dpkg --configure -a
โ What it does:
- Completes installation for partially installed packages.
๐ Example Error:
dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
๐ Fix it with:
sudo dpkg --configure -a
๐ก Run this if package installation was interrupted.
Final Thoughts
dpkg
is low-level and does not resolve dependencies automatically (useapt
for that).- Itโs useful for managing
.deb
files manually, checking installation details, and fixing issues.