Verfügt das Raspbian-Repository über eine durchsuchbare Paketliste?


62

Raspbian behauptet, "35.0000 Raspbian-Pakete" zu haben, was großartig ist, aber ich suche nur ein oder zwei Pakete, bevor ich sie installiere.

Gibt es eine durchsuchbare Repository-Paketliste, die ich mit einem Webbrowser durchsuchen kann, ohne auf dem Gerät selbst zu sein?

Wenn es keine browserfreundliche Methode gibt, gibt es eine Möglichkeit, die Paketlisten herunterzuladen und eine andere Methode zu durchsuchen?

Antworten:


40

Aus den Raspbian.org FAQ,

Die aktuelle Liste der Pakete im Raspbian-Repository finden Sie in der unten verlinkten Textdatei: http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

WARNUNG Der Download beträgt 32 MB.

Die Datei ist im Klartext und eine Liste der Pakete kann mit der folgenden Pipeline abgerufen werden:

grep -P '^Package:' Packages | cut -d' ' -f2

Ist ein normaler Texteditor der beste Weg, dies zu durchsuchen?
Zoot

1
Es ist eine Textdatei, die Sie mit einem Texteditor, einem Browser, MS Word usw. öffnen können. Haben Sie darüber nachgedacht, ein Paket mit der apt-cache-Suche "Paketname" zu suchen
Steve Robillard

2
Ich bin derzeit nicht vor dem Gerät und Raspbian ist derzeit nicht installiert, was apt für mich etwas weniger nützlich macht.
Zoot

1
Öffne es mit Notepad ++ - ich kann große Dateien auf diese Weise leicht handhaben. Unterstützt auch reguläre Ausdrücke.
Piotr Kula

3
Mit einem einzigen Befehl:curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
gioele


14

Die Himbeerdistribution wird mit einem Hilfsprogramm namens apt-cache ausgeliefert. Verwenden Sie zum Durchsuchen des lokalen Paket-Repository-Index Folgendes:

apt-cache search <keyword>

Dies setzt jedoch den Zugriff auf das Gerät (oder zumindest eine laufende Instanz von Raspbian) voraus. Das OP spezifizierte, dass es in einem Browser außerhalb von Raspbian zugänglich sein muss.
JBentley

8

Sie können die Debian Wheezy-Pakete auf der Debian Wheezy-Seite durchsuchen . Die verfügbaren Pakete sollten praktisch dieselben sein wie in den Raspbian-Repositorys.


3
Raspbian könnte auf jeden Fall auch einen solchen Service in Anspruch nehmen. Und Zugriff auf den Bug-Tracker. Es wäre großartig, wenn Sie das Archiv problemlos nach Paketen und Versionen auf einem Arch durchsuchen könnten, wenn Sie nicht mit Raspbian arbeiten.
XTL

3

Ich bin auch auf diesen nützlichen Thread gestoßen (vielen Dank an frühere Mitwirkende: ausgezeichnetes Zeug!). Ich wollte jedoch etwas Anspruchsvolleres: Könnte ich auf der Grundlage einer Wunschliste mit abhängigen Paketen eine nützliche Funktion haben, um sie in den verschiedenen Raspbian-Distributionen zu finden?

Ich habe ein paar Skripte erstellt, die andere vielleicht nützlich finden (Sie können diese in Ihrem pi- Benutzerordner (oder wo auch immer) speichern ). Denken Sie daran, chmod + x script-name.sh zu verwenden, nachdem Sie sie erstellt haben, da Sie sonst Probleme haben, sie auszuführen .

Der erste ist 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

Sie führen dies aus und es ruft die Paketliste für eine bestimmte Distribution ab (standardmäßig Jessie ):

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

Es wird auch eine leere Textdatei für die Wunschliste in einem neu erstellten Distributionsordner erstellt (prüfen Sie zuerst, ob sich noch Ordner mit diesen Namen in Ihrem Ausgangsordner befinden oder ob Sie etwas überschreiben können): Sie können diese Liste als zeilengetrennte Paketliste bearbeiten Diejenigen, die Sie zu finden hoffen, sind in der Distribution enthalten, die Sie suchen.

Das zweite Skript ist 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

Sobald Sie Ihre Wunschliste eingerichtet haben, führen Sie diese aus und sie durchsucht die Paketliste nach diesen Paketen (standardmäßig Jessie ):

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

Bei der Ausgabe auf die Konsole wird die Suchausgabe auch in einer Verfügbarkeitsdatei im Unterordner für die Verteilungssuche gespeichert.

Hier ist (mein) Beispiel Wunschliste :

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

Folgendes habe ich für die Verfügbarkeit von Wheezy- Paketen gefunden:

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)

Folgendes habe ich für die Verfügbarkeit von Jessie- Paketen gefunden:

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)

Und hier ist, was ich für die Verfügbarkeit von Stretch- Paketen gefunden habe:

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)

Wenn Ihre Liste länger ist, ist es ein Kinderspiel, grep zu verwenden, um die Zeilen : YES oder : NO zu filtern und die Verfügbarkeitsdateien abzufragen .

Ich hoffe, einige andere finden das nützlich!


1

Die Raspberry Pi Foundation gab bekannt, dass sie den " Pi Store " eröffnet hat, eine durchsuchbare Liste von Anwendungen für den Raspberry Pi, einschließlich kostenloser und kostenpflichtiger Apps.

Es ist keine vollständige Paketliste wie das Raspbian-Archiv, bietet jedoch einen Einblick in einige der Dinge, die vor der Installation von Raspbian installiert werden können.

EDIT: Das gibt es nicht mehr. Diese Antwort ist jetzt eine historische Aufzeichnung.


6
Leider wurde der Pi Store geschlossen und existiert nicht mehr.
Tjohnson

1

Es kann hier durchsucht werden: http://archive.raspbian.org/raspbian/pool/main/

........


Ich habe das kann bestätigen , bemerkt etwas ist vorhanden, aber es kann nicht bestätigen , etwas nicht , das heißt, werden Sie über Pakete ausführen , die über installieren , aptaber nicht in diesem Archivbaum. Anders ausgedrückt: Nur weil Sie dort etwas nicht finden können, heißt das nicht, dass es nicht verfügbar ist.
Goldlöckchen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.