Add software to Raspberry Pi

PLEASE NOTE: this page appears to be used as part of the documentation for the Raspberry Pi development platform, however the title for the wiki page is generic, please move the page to a more appropriate title.....

--Brian 21:34, 22 April 2012 (UTC)

To add software to a linux machine you can download source files of code, compile them and install the software. Compiling software can be complex due to the fact that often, software has "dependencies" such as Library software that is called to provide support to a package. If the dependencies are missing, the software will not compile.

You can also access binary files (exe files on MS Windows are binaries). These files have been compiled by someone else for users to install. Binary files still have dependencies. (In Windows these dependencies are often missing DLL (Dynamic Linked Library) files.

To use software on a pi, you must have the software compiled for the particular processor that a pi has. This is an Arm processor. A lot of binary software people download from the Internet is for Intel processors, not Arm ones. Software is often "Architecture dependent". The Architecture being the various components making up the computer and the way they are connected together.

Luckily there is an alternative to compiling your own software.

Software on most Linux platforms is maintained via a "repository". This is a library of programs that have been compiled by people who undertake to maintain a package for the community of people who look after the particular version of Linux. Often these are volunteers. Package maintainers ensure that the dependencies are taken care of as well.

To browse, install or uninstall the software, you use a "Package Manager". The default RPi comes with a package manager called "apt". Apt stands for Advanced Packaging Tool and is the package manager software for Debian Linux.

Other Package Managers for other versions of Linux are yum (Yellowdog Update Manager) and rpm (Redhat Package Manager).

To use apt you need to be able to search for software, install software and remove software.

To install a package where you already know the name

apt-get install

To search for software by name

apt-cache search

To update the repository database on your Rpi

apt-get update

To uninstall a previously installed package

apt-get remove 

To update all current packages with the latest version

apt-get upgrade