A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.
Install a local
.deb package in Ubuntu:
$ dpkg -i filename.deb
$ dpkg -l
Check all installed packages
$ dpkg --get-selections $ dpkg --get-selections | grep mongo
dpkg is a backend-ish tool, usually we do not need to use it directly. Check other options in
$ man dpkg.
apt can be considered a front-end to
apt is a simplified command that combines the most commonly used command options from
$ sudo apt install <package> $ sudo apt install <package>=<version> # Install a specific version $ sudo apt search <package> $ sudo apt show <package> $ sudo apt update $ sudo apt list --upgradable $ sudo apt list --installed $ sudo apt upgrade $ apt-cache stats: get stats of the packages $ apt-cache pkgnames | grep docker
apt update will only check the latest versions of the packages, without actually downloading package updates;
apt upgrade will do the actual upgrading; while
apt dist-upgrade is for upgrading the OS itself.
They come from "repositories" listed in
Snaps now work natively on Arch, Debian, Fedora, and different flavors of Ubuntu.
"With snap packages, applications are installed in their own container, and all the third-party applications are installed with them so there are no version conflicts." This allows users to update and roll back applications without causing problems to the rest of their operating system. It also comes with security benefits because applications are more isolated from each other and from core parts of the OS than they normally would be.
"The Future of Apps on Linux". For building and distributing desktop applications on Linux.