Raspbian的存储库中是否有可浏览的软件包列表?


62

Raspbian声称有“ 35,0000个Raspbian软件包”,这很棒,但是在安装之前,我只想查找一两个软件包。

是否存在可浏览的存储库软件包列表,我可以使用Web浏览器搜索该列表,而无需使用设备本身?

如果没有适合浏览器的方法,是否可以下载软件包列表并浏览其他方法?

Answers:


40

从Raspbian.org常见问题解答中,

Raspbian存储库中的当前软件包列表可在以下链接的文本文件中找到:http : //archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

警告下载为32MB。

该文件为纯文本,可通过以下管道获取软件包列表:

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

那么,普通的文本编辑器是浏览此内容的最佳方法吗?
Zoot 2012年

1
这是一个文本文件,您可以使用文本编辑器,浏览器,MS Word等打开它。您是否考虑过使用apt apt-cache搜索“包名称”来搜索包
Steve Robillard 2012年

2
我目前不在设备前面,并且当前尚未安装Raspbian,这对我的使用不太有用。
Zoot 2012年

1
使用记事本++打开它-我可以轻松处理此类大文件。也支持正则表达式。
Piotr Kula 2015年

3
在一个命令中:curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
gioele


14

Raspbian发行版附带一个名为apt-cache的实用程序。要搜索本地软件包存储库索引,请使用:

apt-cache search <keyword>

但这需要访问设备(或至少正在运行的Raspbian实例)。OP指定需要在Raspbian之外的浏览器中对其进行访问。
JBentley '17

8

您可以在Debian的Wheezy页面上浏览Debian Wheezy软件包。可用的软件包实际上应该与Raspbian仓库中的软件包相同。


3
Raspbian肯定也可以使用这样的服务。并访问错误跟踪器。当您不运行raspbian时,能够轻松浏览归档文件中的软件包和版本会很棒。
XTL

3

我也遇到了这个有用的话题(非常感谢以前的贡献者:非常棒的东西!)。但是我想要一些更复杂的东西:给定依赖包的愿望清单,我是否有实用程序可以在各种树莓派发行版中找到它们?

我创建了一些其他人可能会觉得有用的脚本(您可以将它们保存到pi用户主文件夹(或任何位置))。记住在创建它们后使用chmod + x script-name.sh,否则将无法运行它们。

第一个是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

运行此命令,它将获取给定分发的软件包列表(默认为jessie):

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

它还会在新创建的分发文件夹中创建一个空的愿望清单文本文件(首先检查您的主文件夹中是否没有这些名称的文件夹,否则您可能会覆盖某些内容):您可以将其编辑为以行分隔的软件包列表,您希望找到的那些包含在您要搜索的发行版中。

第二个脚本是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

设置好心愿单后,就可以运行它,并扫描那些包的包列表(默认为jessie):

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

除了输出到控制台外,还将搜索输出保存到分发搜索子文件夹中的可用性文件。

这是(我的)愿望清单示例:

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

以下是我找到了喘息包的可用性:

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)

这是我发现的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)

这是我发现的伸缩包可用性:

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)

如果您的列表较长,那么使用grep过滤:YES:NO行以查询可用性文件是一件容易的事。

我希望其他人觉得这有用!


1

Raspberry Pi基金会宣布开放“ Pi Store ”,这是Raspberry Pi的可浏览应用程序列表,包括免费和付费应用程序。

它不像Raspbian档案库那样完整的软件包列表,但是确实提供了一些在安装Raspbian之前可以安装的内容的信息。

编辑:这不再存在。现在,这个答案是对历史记录的陈述。


6
不幸的是,Pi Store已关闭,不再存在。
tjohnson

1

在此处可浏览:http : //archive.raspbian.org/raspbian/pool/main/

........


我注意到,可以确认的东西可用的,但不能确定的东西是不是,也就是说,你会跨通过安装软件包运行apt,但不是在存档树。换句话说,只是因为您找不到某物并不意味着它不可用。
goldilocks
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.