Kho lưu trữ của Raspbian có danh sách gói có thể duyệt được không?


62

Raspbian tuyên bố có "35,0000 gói Raspbian", điều này thật tuyệt, nhưng tôi chỉ tìm kiếm một hoặc hai gói trước khi tôi cài đặt nó.

Có một danh sách gói kho lưu trữ có thể duyệt mà tôi có thể tìm kiếm bằng trình duyệt web mà không cần trên thiết bị không?

Nếu không có phương pháp thân thiện với trình duyệt, có cách nào để tải xuống danh sách gói và duyệt qua một số phương pháp khác không?

Câu trả lời:


40

Từ Câu hỏi thường gặp của Raspbian.org,

Danh sách các gói hiện tại trong kho Raspbian có thể được tìm thấy trong tệp văn bản được liên kết bên dưới: http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

CẢNH BÁO Tải xuống là 32 MB.

Các tập tin là văn bản đơn giản và một danh sách các gói có thể được lấy bằng đường ống sau:

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

Là một trình soạn thảo văn bản bình thường là cách tốt nhất để duyệt cái này, sau đó?
Zoot

1
Đó là một tệp văn bản mà bạn có thể mở nó bằng trình soạn thảo văn bản, trình duyệt, MS Word, v.v. Bạn đã nghĩ đến việc tìm kiếm một gói bằng cách sử dụng tìm kiếm apt apt-cache "Tên gói"
Steve Robillard

2
Hiện tại tôi không ở trước thiết bị và Raspbian hiện chưa được cài đặt, khiến apt hơi hữu dụng với tôi.
Zoot

1
Mở nó bằng Notepad ++ - Tôi xử lý các tệp lớn như thế này một cách dễ dàng. Hỗ trợ biểu thức chính quy quá.
Piotr Kula

3
Trong một lệnh duy nhất:curl -s http://archive.raspbian.org/raspbian/dists/stable/main/binary-armhf/Packages.xz | xz -d | grep '^Package:' | cut -d ' ' -f 2
gioele


14

Bản phân phối raspbian đi kèm với một tiện ích gọi là apt-cache. Để tìm kiếm chỉ mục kho lưu trữ gói cục bộ, sử dụng:

apt-cache search <keyword>

Nhưng điều này đòi hỏi phải có quyền truy cập vào thiết bị (hoặc ít nhất là một phiên bản đang chạy của Raspbian). OP chỉ định nó cần có thể truy cập được trong một trình duyệt bên ngoài Raspbian.
JBentley

8

Bạn có thể duyệt các gói Wheezy Debian trên trang Wheezy của Debian . Các gói có sẵn nên gần giống như trong kho Raspbian.


3
Raspbian chắc chắn có thể sử dụng một dịch vụ như thế này là tốt. Và truy cập vào trình theo dõi lỗi. Thật tuyệt vời khi có thể duyệt kho lưu trữ cho các gói và phiên bản trên một vòm dễ dàng khi bạn không chạy raspbian.
XtL

3

Tôi cũng đã xem qua chủ đề hữu ích này (cảm ơn nhiều người đóng góp trước: công cụ tuyệt vời!). Tuy nhiên tôi muốn một cái gì đó tinh vi hơn: đưa ra một danh sách mong muốn của các gói phụ thuộc, tôi có thể có tiện ích để săn lùng chúng trong các bản phân phối raspbian khác nhau không?

Tôi đã tạo ra một vài tập lệnh mà người khác có thể thấy hữu ích (bạn có thể lưu chúng vào thư mục nhà của người dùng pi (hoặc bất cứ nơi nào)). Hãy nhớ chmod + x script-name.sh sau khi bạn đã tạo chúng hoặc bạn sẽ gặp khó khăn khi chạy chúng.

Cái đầu tiên là get-av 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

Bạn chạy cái này và nó tìm nạp danh sách gói cho một bản phân phối nhất định (mặc định là jessie ):

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

Nó cũng tạo một tệp văn bản danh sách mong muốn trống trong thư mục phân phối mới được tạo (trước tiên hãy kiểm tra xem bạn chưa có thư mục của các tên này trong thư mục nhà của mình hay bạn có thể ghi đè lên một cái gì đó) những thứ mà bạn hy vọng tìm thấy được bao gồm trong bản phân phối mà bạn đang tìm kiếm.

Kịch bản thứ hai là check-av 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

Khi bạn đã thiết lập danh sách mong muốn của mình, bạn sẽ chạy danh sách này và nó sẽ quét danh sách gói cho các gói đó (mặc định là jessie ):

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

Cũng như xuất ra bàn điều khiển là lưu kết quả tìm kiếm vào một tệp khả dụng trong thư mục con tìm kiếm phân phối.

Dưới đây là danh sách mong muốn (của tôi) :

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

Đây là những gì tôi tìm thấy cho sự sẵn có của gói khò khè :

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)

Đây là những gì tôi tìm thấy cho sự sẵn có của gói 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)

Và đây là những gì tôi tìm thấy cho căng sẵn gói:

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)

Nếu danh sách của bạn dài hơn, bạn nên sử dụng grep để lọc các dòng : CÓ hoặc : KHÔNG để truy vấn các tệp khả dụng .

Tôi hy vọng một số người khác thấy điều này hữu ích!


1

Quỹ Raspberry Pi thông báo rằng họ đã mở " Cửa hàng Pi ", đây là danh sách các ứng dụng có thể duyệt cho Raspberry Pi, bao gồm cả ứng dụng miễn phí và trả phí.

Nó không phải là một danh sách gói hoàn chỉnh như kho lưu trữ Raspbian, nhưng nó cung cấp một cái nhìn thoáng qua về một số thứ có thể cài đặt trước khi cài đặt Raspbian.

EDIT: Điều này không còn tồn tại. Câu trả lời này bây giờ là một tuyên bố của hồ sơ lịch sử.


6
Thật không may, Cửa hàng Pi đã bị đóng cửa và không còn tồn tại.
tjohnson

1

Nó có thể duyệt ở đây: http://archive.raspbian.org/raspbian/pool/main/

........


Tôi đã nhận thấy rằng có thể khẳng định một cái gì đó có sẵn, nhưng nó không thể xác nhận một cái gì đó không phải là , ví dụ, bạn sẽ chạy trên các gói cài đặt qua aptnhưng không phải là ở chỗ cây lưu trữ. Nói cách khác, chỉ vì bạn không thể tìm thấy thứ gì đó không có nghĩa là nó không có sẵn.
goldilocks
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.