Package management
- Package management
Overview over different package managers
Depending on the system used, there is a different package manager installed. Common ones are…
- apt (Advanced Package Tools)
- yum (Yellowdog Updater, Modified)
- dnf (Dandified Yum)
- rpm (RedHat Package Manager)
There are two low-level package formats: .rpm
, which is used by DNF/Yum and ZYpp and .deb
, which is used by Apt.
apt (Advanced Package Tools)
Apt ist used in Ubuntu distributions and many more.
The repos that are used as package database are stored in /etc/apt/sources.list
.
Install & Upgrade packages (APT)
apt-get install <name-of-package> [-y]
: install/upgrade a packageapt-get install -f
: fix broken dependenciesapt-get update
: update local database from reposapt-get upgrade
: upgrade installed packagesapt-get dist-upgrade
: upgrade installed packages but better
Manual install (APT)
apt-get download <name-of-package>
: download a package without installing itdpkg -i <name-and-version-of-package.deb>
: manually install a package
Hold packages (APT)
apt-mark hold <name-of-package>
: exclude a package from upgradingapt-mark unhold <name-of-package>
: remove the hold from a package
Remove packages (APT)
apt-get remove <name-of-package>
: remove a package without removing its configapt-get purge <name-of-package>
: remove a package and remove its configapt-get clean
: clean obsolete deb packagesapt-get autoclean
: clean obsolete deb packagesapt-get autoremove
: remove obsolete packages (e. g. old dependencies)
Trick: remove
and purge
support a wildcard (*) at the end!
apt-cache show <name-of-package>
: get infos about a package from cache
dnf (Dandified Yum)
Dnf is the newer version of Yum.
- Repos: /etc/yum.repos.d
- Config: /etc/dnf/dnf.conf
- Plugins: /etc/dnf/plugins
Dnf also includes “modules”: groups of packages.
Listing and finding packages (DNF)
dnf list installed
: list installed packagesdnf list available "abc*"
: list available packagesdnf search "abc*"
: find packagednf provides <feature/cmd>
: find package that contains command/executabledef depkist <package-name>
: list dependencies of package
Install & Upgrade packages (DNF)
dnf install <name-of-package>
: install packagednf localinstall <file.rpm>
: manually install rpm filednf check-update
: check for updatesdnf update [name-of-package]
: update package / all packages
Remove packages (DNF)
dnf remove <name-of-package>
: remove packagednf autoremove <name-of-package>
: remove package including non-needed dependencies
Working with repositories (DNF)
dnf repolist
: list installed repositoriesdnf repoinfo
: list installed repositories with additional infodnf --enablerepo <repoid>
: enable specific repodnf --disablerepo <repoid>
: disable specific repo
Working with modules (DNF)
dnf module <subcommand...>
: all
(see documentation for details)