Cyberithub

How to Install Pi-Apps on Raspberry Pi OS in 10 Easy Steps

Advertisements

In this article, I will take you through the steps to install Pi-Apps on Raspberry Pi OS. Pi-apps is a most popular free and open source app store for Raspberry Pi systems. It was written in Shell Script. It allows you to search and install almost any package with just a simple click. Pi-apps holds about 200 apps and now serves over 1,000,000 people. It is very easy to use and is recommended for almost all kind of Raspberry Pi professionals. More on GitHub. Here we will see the easy steps to install Pi-Apps on Raspberry Pi OS.

How to Install Pi-Apps on Raspberry Pi OS in 10 Easy Steps

How to Install Pi-Apps on Raspberry Pi OS in 10 Easy Steps

Also Read: How to Install Raspberry Pi Imager on Ubuntu 20.04 LTS (Focal Fossa)

Advertisements

Step 1: Prerequisites

a) You should have a running Raspberry Pi OS.

b) You should have an active Internet Connection to the OS.

Advertisements

c) You should have apt, apt-get, wget and tar utility available in your OS.

 

Step 2: Update Your Server

It is important to first update the System package cache with all the package information from all the enabled repositories using sudo apt update command as shown below.

Advertisements
pi@raspberry:~ $ sudo apt update
Hit http://security.debian.org jessie/updates InRelease
Hit http://security.debian.org jessie/updates/main i386 Packages
Ign http://ftp.debian.org jessie InRelease
Hit http://security.debian.org jessie/updates/contrib i386 Packages
Hit http://ftp.debian.org jessie-updates InRelease
Hit http://security.debian.org jessie/updates/non-free i386 Packages
Hit http://ftp.debian.org jessie Release.gpg
Hit http://security.debian.org jessie/updates/contrib Translation-en
Hit http://security.debian.org jessie/updates/main Translation-en
Hit http://ftp.debian.org jessie-updates/main i386 Packages
Hit http://security.debian.org jessie/updates/non-free Translation-en
Hit http://ftp.debian.org jessie-updates/contrib i386 Packages
Hit http://ftp.debian.org jessie-updates/non-free i386 Packages
Hit http://ftp.debian.org jessie-updates/contrib Translation-en
Hit http://ftp.debian.org jessie-updates/main Translation-en
Hit http://ftp.debian.org jessie-updates/non-free Translation-en
....................................

 

Step 3: Upgrade Your Server

If any of the packages needs to be upgraded then upgrade it by using sudo apt upgrade command as shown below.

pi@raspberry:~ $ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... The following package was automatically installed and is no longer required:
libuuid-perl
Use 'apt-get autoremove' to remove it.
Done
The following NEW packages will be installed:
linux-compiler-gcc-4.9-x86 linux-headers-3.16.0-11-686-pae linux-headers-3.16.0-11-common linux-image-3.16.0-11-586 linux-image-3.16.0-11-686-pae
The following packages will be upgraded:
amd64-microcode apt apt-transport-https apt-utils aspell base-files bash bind9-host bluez bluez-firmware busybox bzip2 ca-certificates cpio cpp-4.9 cron
cups-bsd cups-client cups-common curl dbus dbus-x11 debconf debconf-i18n debconf-utils dosfstools e2fslibs e2fsprogs file firmware-adi firmware-atheros
firmware-bnx2 firmware-bnx2x firmware-brcm80211 firmware-intelwimax firmware-ipw2x00 firmware-ivtv install pi-apps firmware-iwlwifi firmware-libertas firmware-linux
firmware-linux-nonfree firmware-myricom firmware-netxen firmware-qlogic firmware-ralink firmware-realtek firmware-samsung firmware-ti-connectivity fuse
g++-4.9 gcc-4.9 gcc-4.9-base gir1.2-gdkpixbuf-2.0 git git-man gnupg gnupg-agent gnupg2 gpgv gstreamer0.10-alsa gstreamer0.10-plugins-base
gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-x gtk2-engines-pixbuf gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-fuse gvfs-libs
idle-python2.7 idle-python3.4 intel-microcode isc-dhcp-client isc-dhcp-common libapt-inst1.5 libapt-pkg4.12 libarchive13 libasan1 libasound2-data
............................................

 

Step 4: Install intltool

One of the important set of tools required by Pi-apps is intltool. It is used to centralize translation of many different file formats using GNU gettext-compatible PO files. This tool can be installed by using sudo apt-get install intltool command as shown below.

Advertisements
pi@raspberry:~ $ sudo apt-get install intltool
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libuuid-perl linux-image-3.16.0-4-586
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
autoconf automake autopoint autotools-dev gettext libasprintf-dev libauthen-sasl-perl libencode-locale-perl libfile-listing-perl libfont-afm-perl
libgettextpo-dev libgettextpo0 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl
libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libio-html-perl libio-socket-ssl-perl liblwp-mediatypes-perl
liblwp-protocol-https-perl libmailtools-perl libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libsigsegv2 libunistring0 liburi-perl libwww-perl
libwww-robotrules-perl libxml-parser-perl m4
......................................

 

Step 5: Install librsvg2-bin

Pi-apps required a command line utility called rsvg-convert to work properly. This utility is available through librsvg2-bin library which can be installed by using sudo apt-get install librsvg2-bin command as shown below.

pi@raspberry:~ $ sudo apt-get install librsvg2-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libuuid-perl linux-image-3.16.0-4-586
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
librsvg2-bin
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 182 kB of archives.
After this operation, 210 kB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian/ jessie/main librsvg2-bin i386 2.40.5-1+deb8u2 [182 kB]
Fetched 182 kB in 0s (261 kB/s)
Selecting previously unselected package librsvg2-bin.
(Reading database ... 127097 files and directories currently installed.)
Preparing to unpack .../librsvg2-bin_2.40.5-1+deb8u2_i386.deb ...
Unpacking librsvg2-bin (2.40.5-1+deb8u2) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up librsvg2-bin (2.40.5-1+deb8u2) ...

 

Step 6: Install libgtk2.0-dev

Another important library required by Pi-apps is libgtk2.0-dev. It is development package for the GTK+ library. This can be installed by using sudo apt-get install libgtk2.0-dev command as shown below.

pi@raspberry:~ $ sudo apt-get install libgtk2.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
debhelper dh-autoreconf dh-strip-nondeterminism gir1.2-gtk-2.0 intltool-debian libarchive-zip-perl libatk1.0-dev libcairo-script-interpreter2
libcairo2-dev libfile-stripnondeterminism-perl libfontconfig1-dev libgdk-pixbuf2.0-dev libglib2.0-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev
libltdl-dev libmail-sendmail-perl libpango1.0-dev libpcre3-dev libpcrecpp0 libpixman-1-dev libpthread-stubs0-dev libsm-dev libsys-hostname-long-perl
libtool libx11-dev libx11-doc libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-utils libxrandr-dev libxrender-dev po-debconf x11proto-composite-dev
x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev
x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev
...............................................

 

Step 7: Install YAD

YAD is a tool to create graphical dialogs from shell script. It is one of the package required by the Pi-apps to work.

a) Download YAD file

You can go to Source Forge official website and download the YAD file.

b) Extract the File

Once downloaded, you can extract the file by using tar -xf yad-0.40.0.tar.xz command as shown below. This will extract all the files in the yad-0.40.0 directory.

pi@raspberry:~ $ tar -xf yad-0.40.0.tar.xz

c) Check Configuration

You need to go inside the directory and run ./configure to check all the configuration parameters.

pi@raspberry:~ $ cd yad-0.40.0/
pi@raspberry:~/yad-0.40.0 $ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether NLS is requested... yes
checking for intltool >= 0.40.0... 0.50.2 found
......................................

d) Build the Code

Once the configuration check is completed, you can go ahead and build the code using Makefile available inside the directory yad-0.40.0. You can simply run make command to compile all the source code and generate binaries.

pi@raspberry:~/yad-0.40.0 $ make
make all-recursive
make[1]: Entering directory '/home/pi/yad-0.40.0'
Making all in src
make[2]: Entering directory '/home/pi/yad-0.40.0/src'
CC yad-about.o
CC yad-calendar.o
CC yad-color.o
CC yad-dnd.o
CC yad-entry.o
CC yad-file.o
CC yad-font.o
CC yad-form.o
CC yad-icons.o
CC yad-list.o
CC yad-multi-progress.o

e) Install Binaries

Once all the binaries are generated, you can install all the binaries by using sudo make install command as shown below.

pi@raspberry:~/yad-0.40.0 $ sudo make install
Making install in src
make[1]: Entering directory '/home/pi/yad-0.40.0/src'
make[2]: Entering directory '/home/pi/yad-0.40.0/src'
/bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c yad '/usr/local/bin'
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/pi/yad-0.40.0/src'
make[1]: Leaving directory '/home/pi/yad-0.40.0/src'
Making install in po
make[1]: Entering directory '/home/pi/yad-0.40.0/po'
linguas="de fr it pt_BR ru sk uk zh_TW "; \
for lang in $linguas; do \
dir=/usr/local/share/locale/$lang/LC_MESSAGES; \
/bin/bash /home/pi/yad-0.40.0/build/install-sh -d $dir; \
if test -r $lang.gmo; then \
/usr/bin/install -c -m 644 $lang.gmo $dir/yad.mo; \
...........................................

 

Step 8: Install Pi-apps

In the next step you can install Pi-apps using below script taken from Pi-apps GitHub official website.

pi@raspberry:~ $ wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
Hit http://security.debian.org jessie/updates InRelease
Ign http://ftp.debian.org jessie InRelease
Hit http://security.debian.org jessie/updates/main i386 Packages
Hit http://ftp.debian.org jessie-updates InRelease
Hit http://archive.raspberrypi.org jessie InRelease
Hit http://ftp.debian.org jessie Release.gpg
Hit http://security.debian.org jessie/updates/contrib i386 Packages
Hit http://archive.raspberrypi.org jessie/main i386 Packages
Hit http://security.debian.org jessie/updates/non-free i386 Packages
Hit http://ftp.debian.org jessie-updates/main i386 Packages
Hit http://archive.raspberrypi.org jessie/ui i386 Packages
Hit http://security.debian.org jessie/updates/contrib Translation-en
Hit http://ftp.debian.org jessie-updates/contrib i386 Packages
Hit http://security.debian.org jessie/updates/main Translation-en
Hit http://ftp.debian.org jessie-updates/non-free i386 Packages
Hit http://security.debian.org jessie/updates/non-free Translation-en
Hit http://ftp.debian.org jessie-updates/contrib Translation-en
Hit http://ftp.debian.org jessie-updates/main Translation-en
Hit http://ftp.debian.org jessie-updates/non-free Translation-en
Hit http://ftp.debian.org jessie Release
Hit http://ftp.debian.org jessie/main i386 Packages
Hit http://ftp.debian.org jessie/contrib i386 Packages
Hit http://ftp.debian.org jessie/non-free i386 Packages
Hit http://ftp.debian.org jessie/contrib Translation-en
Ign http://archive.raspberrypi.org jessie/main Translation-en_GB
Hit http://ftp.debian.org jessie/main Translation-en
Ign http://archive.raspberrypi.org jessie/main Translation-en
Hit http://ftp.debian.org jessie/non-free Translation-en
Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB
Ign http://archive.raspberrypi.org jessie/ui Translation-en
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Creating menu button...
Creating Settings menu button...
Creating autostarted updater...
You can now launch pi-apps from a terminal, just by running 'pi-apps'
Generating loading screen...
Installation complete.

 

Step 9: Launch Pi-apps

There are multiple ways to launch the Pi-apps in which the most easiest one is through the terminal. You can just run pi-apps command to launch the app store as shown below.

How to Install Pi-Apps on Raspberry Pi OS in 10 Easy Steps 2

 

Step 10: Uninstall Pi-Apps

If you are looking to uninstall Pi-apps from your system then you can run ~/pi-apps/uninstall as shown below. This however won't uninstall any package that was installed through Pi-Apps.

pi@raspberry:~ $ ~/pi-apps/uninstall
Removing menu button...
Removing terminal command...
Uninstallation complete. Only /home/pi/pi-apps still remains.
If Pi-apps didn't work for you, PLEASE consider submitting a bug report!
--> https://github.com/Botspot/pi-apps/issues/new

1 thought on “How to Install Pi-Apps on Raspberry Pi OS in 10 Easy Steps”

Leave a Comment