Answers:
从Raspbian.org常见问题解答中,
Raspbian存储库中的当前软件包列表可在以下链接的文本文件中找到:http : //archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages
警告下载为32MB。
该文件为纯文本,可通过以下管道获取软件包列表:
grep -P '^Package:' Packages | cut -d' ' -f2
curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
在“软件”部分的http://www.raspberryconnect.com上有一个可浏览的Raspbian软件包列表。软件包按类别列出。
Raspbian发行版附带一个名为apt-cache的实用程序。要搜索本地软件包存储库索引,请使用:
apt-cache search <keyword>
我也遇到了这个有用的话题(非常感谢以前的贡献者:非常棒的东西!)。但是我想要一些更复杂的东西:给定依赖包的愿望清单,我是否有实用程序可以在各种树莓派发行版中找到它们?
我创建了一些其他人可能会觉得有用的脚本(您可以将它们保存到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行以查询可用性文件是一件容易的事。
我希望其他人觉得这有用!
在此处可浏览:http : //archive.raspbian.org/raspbian/pool/main/
........
apt
,但不是在存档树。换句话说,只是因为您找不到某物并不意味着它不可用。