78

Raspbian claims to have "35,0000 Raspbian packages", which is great, but I'm only looking for a package or two before I install it.

Is there a browsable repository package list that I can search with a web browser without being on the device itself?

If there isn't a browser-friendly method, is there a way to download the package lists and browse through some other method?

8 Answers 8

40

From the Raspbian.org FAQ,

The current list of packages in the Raspbian repository can be found in the text file linked below: http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

WARNING The download is 32MB.

The file is plain text and a list of packages can be obtained with the following pipeline:

grep -P '^Package:' Packages | cut -d' ' -f2
7
  • 1
    It is a text file you can open it with a text editor, browser, MS Word etc. Have you thought about searching for a package using apt apt-cache search "Package Name" Jul 20, 2012 at 14:52
  • 3
    I'm not in front of the device currently, and Raspbian isn't currently installed, making apt slightly less useful to me.
    – Zoot
    Jul 20, 2012 at 15:12
  • 1
    Open it using Notepad++ - I handles large files like this easily. Supports regular expressions too.
    – Piotr Kula
    Feb 17, 2015 at 21:44
  • 3
    In a single command: curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
    – gioele
    Sep 24, 2017 at 10:34
  • 3
    Broken link now.
    – user121316
    Jun 22, 2020 at 14:40
21

There is a browsable Raspbian package list at http://www.raspberryconnect.com in the software section. The packages are listed by category.

3
  • The package list is regularly maintained with both Jessie and Wheezy packages.
    – Graeme
    Jul 2, 2016 at 9:28
  • Actually it is updated to Buster and Bullseye Nov 27, 2021 at 9:56
  • Unfortunately, the very first time ever that I tried to use the search on raspberryconnect.com (today), I got "Form submission has been blocked (TimeGate)" ; maybe search on that site has been blocked?
    – sdbbs
    Feb 2, 2023 at 18:59
15

The raspbian distro comes with a utility called apt-cache. To search the local package repository index, use:

apt-cache search <keyword>
1
  • But this requires having access to the device (or at least a running instance of Raspbian). The OP specified it needs to be accessible in a browser outside of Raspbian.
    – JBentley
    Apr 29, 2017 at 22:38
8

You can browse the Debian Wheezy packages on Debian's Wheezy page. The packages available should be virtually the same as in the Raspbian repositories.

1
  • 3
    Raspbian could definitely use a service like this as well. And access to the bug tracker. It would be great to be able to browse the archive for packages and version on an arch easily when you aren't running raspbian.
    – XTL
    Sep 5, 2012 at 7:07
3

I came across this useful thread too (many thanks to prior contributors: excellent stuff!). However I wanted something more sophisticated: given a wish-list of dependent packages, could I have utility to hunt them down in the various raspbian distributions?

I have created a couple of scripts that others may find useful (you can save these to your pi user home folder (or wherever)). Remember to chmod +x script-name.sh after you have created them or you will have trouble running them.

The first one is get-available.sh:

#!/bin/bash

dist=jessie
[ ${#1} -gt 0 ] && dist=$1

[ ! -e /home/pi/${dist} ] && mkdir /home/pi/${dist}
pushd /home/pi/${dist} &> /dev/null
[ ! -e ./Packages ] && echo Fetching Packages list for ${dist}...
[ ! -e ./Packages ] && wget http://archive.raspbian.org/raspbian/dists/${dist}/main/binary-armhf/Packages
grep -P '^Package:' Packages | cut -d' ' -f2 > available
[ ! -e ./wishlist ] && touch ./wishlist
popd &> /dev/null

You run this and it fetches the package list for a given distribution (defaults to jessie):

./get-available.sh [<distribution-name>]

It also creates an empty wishlist text file within a newly created distribution folder (check first that you do not already have folders of these names in your home folder or you could overwrite something): you can edit this as a line separated packages list which are those that you hope to find are included in the distribution you are searching.

The second script is check-available.sh:

#!/bin/bash

dist=jessie
[ ${#1} -gt 0 ] && dist=$1
[ ! -e /home/pi/${dist}/available ] && echo You need to run ./get-available.sh ${dist} first!
[ ! -e /home/pi/${dist}/available ] && exit

pushd /home/pi/${dist} &> /dev/null
[ -e ./availability ] && rm ./availability
mlen=7

function check-len () {
  [ ${#1} -gt ${mlen} ] && mlen=${#1}
}

function check-available () {

  matches=$(grep -o "^$1$" ./available | wc -l)
  if [ ${matches} -eq 0 ]
  then
    printf "%-${mlen}s :NO  (%s)\n" $1 ${dist} >> ./availability
  else
    printf "%-${mlen}s :YES (%s)\n" $1 ${dist} >> ./availability
  fi
}

readarray packages < ./wishlist

for p in "${packages[@]}"
do
  pw=$(echo ${p}|tr -d '\n')
  check-len "${pw}"
done

for p in "${packages[@]}"
do
  pw=$(echo ${p}|tr -d '\n')
  check-available "${pw}"
done

[ -e ./availability ] && cat ./availability

popd &> /dev/null

Once you have setup your wishlist you run this and it scans the package list for those packages (defaults to jessie):

./check-available.sh [<distribution-name>]

As well as outputting to the console is saves the search output to an availability file in the distribution search sub folder.

Here is (my) example wishlist:

vim
wget
software-properties-common
python3.5
libsodium13
python3-pip
oracle-java8-installer
oracle-java8-set-default
libgmp3-dev
libssl-dev
flex
bison

Here is what I found for wheezy package availability:

vim                        :YES (wheezy)
wget                       :YES (wheezy)
software-properties-common :YES (wheezy)
python3.5                  :NO  (wheezy)
libsodium13                :NO  (wheezy)
python3-pip                :YES (wheezy)
oracle-java8-installer     :NO  (wheezy)
oracle-java8-set-default   :NO  (wheezy)
libgmp3-dev                :YES (wheezy)
libssl-dev                 :YES (wheezy)
flex                       :YES (wheezy)
bison                      :YES (wheezy)

Here is what I found for jessie package availability:

vim                        :YES (jessie)
wget                       :YES (jessie)
software-properties-common :YES (jessie)
python3.5                  :NO  (jessie)
libsodium13                :YES (jessie)
python3-pip                :YES (jessie)
oracle-java8-installer     :NO  (jessie)
oracle-java8-set-default   :NO  (jessie)
libgmp3-dev                :YES (jessie)
libssl-dev                 :YES (jessie)
flex                       :YES (jessie)
bison                      :YES (jessie)

And here is what I found for stretch package availability:

vim                        :YES (stretch)
wget                       :YES (stretch)
software-properties-common :YES (stretch)
python3.5                  :YES (stretch)
libsodium13                :NO  (stretch)
python3-pip                :YES (stretch)
oracle-java8-installer     :NO  (stretch)
oracle-java8-set-default   :NO  (stretch)
libgmp3-dev                :YES (stretch)
libssl-dev                 :YES (stretch)
flex                       :YES (stretch)
bison                      :YES (stretch)

If your list is longer it is a cinch to use grep to filter the :YES or :NO lines to query the availability files.

I hope some others find this useful!

2

It is browsable here: http://archive.raspbian.org/raspbian/pool/main/

........

1
  • 1
    I've noticed that can confirm something is available, but it can't confirm something isn't, i.e., you will run across packages that install via apt but aren't in that archive tree. Put another way, just because you can't find something there doesn't mean it isn't available.
    – goldilocks
    Oct 13, 2018 at 15:35
0

The Raspberry Pi Foundation announced that it opened up the "Pi Store", which is a browse-able list of applications for the Raspberry Pi, including both free and paid apps.

It is not a complete package list like the Raspbian archive, but it does provide a glimpse into some of the things that are possible to install before installing Raspbian.

EDIT: This no longer exists. This answer is now a statement of historical record.

1
  • 7
    Unfortunately, the Pi Store has been closed and no longer exists.
    – tjohnson
    Mar 12, 2016 at 22:40
0

The ticked solution at the top of the page is now a broken link (as of Dec 20th 2020 13:01 UK time), as noted by user Joshua Detwiler. But you can see the list of distros by going to a shortened version of the link. See link below:

http://archive.raspbian.org/raspbian/dists/

Then, you can follow the equivalent path. For example, to see Debian Buster Packages, go to the below link:

http://archive.raspbian.org/raspbian/dists/buster/main/binary-armhf/ Or you can just click the full link below (which is the direct link to the actual text file):

http://archive.raspbian.org/raspbian/dists/buster/main/binary-armhf/Packages

But, the above links will also fall victim to "link rot" one day - maybe in 20 years or something..!? :-)

1
  • 1
    I bet very few people are interested in Wheezy packages now, and in 20 years nobody will care about Buster. Dec 21, 2020 at 13:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.