¿El repositorio de Raspbian tiene una lista de paquetes navegable?


62

Raspbian afirma tener "35,0000 paquetes Raspbian", lo cual es genial, pero solo estoy buscando uno o dos paquetes antes de instalarlo.

¿Existe una lista de paquetes de repositorio navegable que pueda buscar con un navegador web sin estar en el dispositivo?

Si no hay un método amigable para el navegador, ¿hay alguna manera de descargar las listas de paquetes y navegar a través de algún otro método?

Respuestas:


40

De las preguntas frecuentes de Raspbian.org,

La lista actual de paquetes en el repositorio Raspbian se puede encontrar en el archivo de texto vinculado a continuación: http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

ADVERTENCIA La descarga es de 32 MB.

El archivo es texto sin formato y se puede obtener una lista de paquetes con la siguiente tubería:

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

¿Es un editor de texto normal la mejor manera de explorar esto, entonces?
Zoot

1
Es un archivo de texto que puede abrir con un editor de texto, navegador, MS Word, etc. ¿Ha pensado en buscar un paquete usando apt apt-cache search "Package Name"
Steve Robillard

2
Actualmente no estoy frente al dispositivo y Raspbian no está instalado actualmente, lo que hace que apt sea un poco menos útil para mí.
Zoot

1
Ábralo con Notepad ++: manejo archivos grandes como este fácilmente. Admite expresiones regulares también.
Piotr Kula

3
En un solo comando:curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
gioele


14

La distribución raspbian viene con una utilidad llamada apt-cache. Para buscar en el índice del repositorio de paquetes local, use:

apt-cache search <keyword>

Pero esto requiere tener acceso al dispositivo (o al menos una instancia en ejecución de Raspbian). El OP especificó que debe ser accesible en un navegador fuera de Raspbian.
JBentley

8

Puede navegar por los paquetes de Debian Wheezy en la página de Debian Wheezy . Los paquetes disponibles deben ser prácticamente los mismos que en los repositorios de Raspbian.


3
Raspbian definitivamente podría usar un servicio como este también. Y acceso al rastreador de errores. Sería genial poder explorar el archivo en busca de paquetes y versiones en un arco fácilmente cuando no esté ejecutando raspbian.
XTL

3

También encontré este hilo útil (muchas gracias a colaboradores anteriores: ¡cosas excelentes!). Sin embargo, quería algo más sofisticado: dada una lista de deseos de paquetes dependientes, ¿podría tener utilidad para cazarlos en las diversas distribuciones de raspbian?

He creado un par de scripts que otros pueden encontrar útiles (puede guardarlos en su carpeta de inicio de usuario pi (o donde sea)). Recuerde chmod + x script-name.sh después de haberlos creado o tendrá problemas para ejecutarlos.

El primero es 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

Ejecuta esto y obtiene la lista de paquetes para una distribución dada (por defecto es jessie ):

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

También crea un archivo de texto de lista de deseos vacío dentro de una carpeta de distribución recién creada (verifique primero que no tenga carpetas de estos nombres en su carpeta de inicio o podría sobrescribir algo): puede editar esto como una lista de paquetes separados por líneas que son los que espera encontrar están incluidos en la distribución que está buscando.

El segundo script es 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

Una vez que haya configurado su lista de deseos , ejecuta esto y escanea la lista de paquetes para esos paquetes (por defecto es jessie ):

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

Además de la salida a la consola, se guarda la salida de búsqueda en un archivo de disponibilidad en la subcarpeta de búsqueda de distribución.

Aquí está (mi) lista de deseos de ejemplo :

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

Esto es lo que encontré para la disponibilidad del paquete wheezy :

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)

Esto es lo que encontré para la disponibilidad del paquete jessie :

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)

Y aquí está lo que encontré para la disponibilidad de paquetes elásticos :

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)

Si su lista es más larga, es muy fácil usar grep para filtrar las líneas : SÍ o : NO para consultar los archivos de disponibilidad .

¡Espero que otros encuentren esto útil!


1

La Fundación Raspberry Pi anunció que abrió la " Tienda Pi ", que es una lista explorable de aplicaciones para la Raspberry Pi, que incluye aplicaciones gratuitas y de pago.

No es una lista completa de paquetes como el archivo Raspbian, pero proporciona una idea de algunas de las cosas que es posible instalar antes de instalar Raspbian.

EDITAR: Esto ya no existe. Esta respuesta es ahora una declaración de registro histórico.


66
Desafortunadamente, la tienda Pi se ha cerrado y ya no existe.
tjohnson

1

Se puede navegar aquí: http://archive.raspbian.org/raspbian/pool/main/

........


Me di cuenta de que puede confirmar que algo está disponible, pero no puede confirmar que algo no lo está , es decir, se ejecutará a través de paquetes que se instalan a través de aptpero no están en ese árbol de archivos. Dicho de otra manera, solo porque no puedas encontrar algo allí no significa que no esté disponible.
Ricitos de oro
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.