Have you ever used an “application store” on a smartphone (Android, iPhone, etc.) or computer (Windows Store, Mac App Store, or, say, Steam)? They make the process of managing your applications much easier.
Well, we could kind of say that
apt-get is one such “store.” On Linux (and I mean in general), there are two main ways of installing applications.
- Either you download the source code of a particular application (with
wget to download an archive from the web, or sometimes with
git), and then run
./configure, that checks dependencies and creates a
Makefile for your architecture
make, which reads the
Makefile and compiles the source code into binary files
make install, which moves all the files to their proper location on your system.
- Or you use a package manager (like
aptitude on Debian), a much more powerful method.
Want to install an interesting Python program (Scribes, for instance)? Just tell your system to install it (
apt-get install scribes), and whatever this program needs for running itself (= dependencies),
apt-get will install them. It just works.
apt-get downloads for you, are versions of your programs that already have been compiled (see point 1 above) for your system. They are packaged (like, archived like ZIP files) as
.deb files (stands for “Debian”, the Linux “version” which Raspbian comes from), and it downloads those packages, “unzips” them, moves them, and configures them.
The package management concept is not specific to your Raspberry Pi. On Raspbian, Ubuntu, Linux Mint, etc. which are Debian-based, the packages are
.deb files, but other distributions make use of other formats (
.rpm for example).
Note that what is called a “package” is not necessarily a file containing a binary version of your program. Some advanced version of Linux called Gentoo, for example, has a package manager called
emerge (the equivalent of
apt-get) which downloads nothing but the source code of your program & its dependencies, and your computer still has to compile afterwards.
I hope I have been clear! You may want to try using
apt-cache search <something> to run a search for packages/applications. (Note to others:
aptitude seems good and more powerful, but takes longer time to run, which is critical on a Raspberry Pi.)