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
apt-get
/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.
Basically, what 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.)
apt-get
. If software you want is available in a repository somewhere, it is better to useapt-get
thanwget