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)