Làm cách nào để tìm kiếm PPA qua CLI, dòng lệnh?


9

Nếu apt searchthất bại với tôi, bước tiếp theo thường là tìm kiếm PPA, nhưng ppasearchcó vẻ như là từ bỏ, vậy tôi có thể sử dụng gì để tìm kiếm PPA (thông qua dòng lệnh)?


2
Sử dụng trình duyệt dòng lệnh như liên kết để tìm kiếm gói hoặc ppa bạn muốn
Panther

2
Rõ ràng có một sự thay thế GUI , nhưng không có gì trên mặt trận dòng lệnh cho đến nay. Câu hỏi hay, mặc dù.
Sergiy Kolodyazhnyy

2
Trình quản lý PPA Y thú vị (ứng dụng GUI PPA trưởng thành) có gì y-ppa-cmd, nhưng nó yêu cầu biến $ HIỂN THỊ.
N0rbert

Câu trả lời:


2

Không thực sự hiểu lý do tại sao bạn muốn tìm kiếm PPA từ dòng lệnh vì hầu hết mọi người đã có cửa sổ trình duyệt mở liên tục. Dưới đây là một vài lựa chọn:

  • Nếu bạn sử dụng trình duyệt hỗ trợ thêm từ khóa vào dấu trang, bạn có thể đánh dấu https://launchpad.net/ubuntu/+ppas?name_filter=%sbằng từ khóa ppa. Sau đó nhập ppa [package-name]vào thanh URL để tìm kiếm.

  • Nếu ppasearchlàm những gì bạn cần, hãy tiếp tục sử dụng nó miễn là nó tiếp tục hoạt động. Bạn có thể thử đóng góp để phát triển để thêm các tính năng hoặc sửa lỗi. Nếu các nhà phát triển không phản hồi, bạn có thể tạo một ngã ba cá nhân.

  • Bạn có thể tạo tập lệnh của riêng mình, tương tự như sau:

    #!/usr/bin/env bash
    
    function _show_help_ {
       echo "Usage:" `basename ${0}` "[options] [package-name]"
       echo "Open web browser to search Launchpad for [package-name]."
       echo
       echo "  -l, --list      List PPAs with link and description"
       echo "  -h, --help      Display this help and exit."
    }
    
    function msed {
       perl -0777 -pe "$@"
    }
    
    if [ $# -lt 1 ]; then
       _show_help_
       exit 1
    fi
    
    case "$1" in
       '-h'|'--help')
          _show_help_
          ;;
       '-l'|'--list')
          shift
          curl -s "https://launchpad.net/ubuntu/+ppas?name_filter=$@" \
              | pandoc -f html -t markdown \
              | msed 's@[\s\S]*<div id="ppa_list">@@' \
              | msed 's@\]\(@\]\(https://launchpad.net/@'
              | grep -E '^\s+\[' \
              | msed 's@^\s+@@' \
              | msed 's@\s+[0-9]+\s+[0-9]+\s+@\n@g'
          ;;
       *)
          xdg-open "https://launchpad.net/ubuntu/+ppas?name_filter=$@"
          ;;
    esac
    

    Tập lệnh này mở một liên kết đến tìm kiếm Launchpad cho gói đã cho trong trình duyệt mặc định. Với cờ thích hợp -l, nó đưa ra một danh sách các tên PPA với các URL và mô tả của chúng.

    Bạn có thể thêm các tính năng bổ sung khi bạn cần đến chúng.


1
Toàn bộ vấn đề là OP muốn có một công cụ tương tự apt-cache search package_name. Vấn đề với điều đó apt-cachephụ thuộc vào việc tìm kiếm gói siêu dữ liệu của các kho lưu trữ đã được thêm vào hệ thống. Điều đó nói rằng, bạn không ở đâu xa - liên kết đó có thể được sử dụng để liệt kê các PPA, vì vậy việc đưa ra yêu cầu và phân tích phản hồi nên khá đơn giản, nhưng có lẽ toàn bộ PITA trong phần phân tích cú pháp
Sergiy Kolodyazhnyy

Bạn không thể cho rằng mọi người mở trình duyệt. Chúng có thể nằm trên một hệ thống không đầu như máy chủ hoặc pi mâm xôi. Các hệ thống linux MOST có thể cho là không đầu, vì linux chủ yếu được sử dụng bởi các máy chủ không phải máy tính để bàn
Jonathan

Các thiết bị bạn sử dụng để truy cập các máy chủ không đầu cũng không có trình duyệt? Có phải tất cả các máy chủ không đầu xuống?
xiota

1
Bạn không thể cho rằng tôi có mắt, tôi thậm chí có thể không đầu
Jonathan
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.