Як шукати PPA через командний рядок CLI?


9

Якщо apt searchмені не вдалося, наступним кроком зазвичай є пошук PPA, але ppasearchздається, що покинути програмне забезпечення, тож що я можу використати для пошуку PPA (через командний рядок)?


2
Використовуйте браузер командного рядка, наприклад, посилання для пошуку потрібного пакету або ppa
Panther,

2
Очевидно, є альтернатива GUI , але поки що на командному рядку нічого немає. Хороше питання, хоча.
Сергій Колодяжний

2
Що цікаво Y PPA Manager (зрілий додаток GUI PPA) y-ppa-cmd, але він вимагає змінної $ DISPLAY.
N0rbert

Відповіді:


2

Не дуже розумієте, чому ви хочете шукати PPA з командного рядка, оскільки у більшості людей уже вікно браузера постійно відкрито. Ось кілька варіантів:

  • Якщо ви користуєтесь браузером, який підтримує додавання ключових слів до закладок, ви можете робити закладки за https://launchpad.net/ubuntu/+ppas?name_filter=%sдопомогою ключового слова ppa. Потім введіть ppa [package-name]у рядок URL для пошуку.

  • Якщо ppasearchви робите те, що вам потрібно, продовжуйте використовувати його до тих пір, поки воно продовжує працювати. Ви можете спробувати сприяти розробці, щоб додати функції або виправити помилки. Якщо розробники не реагують на реагування, ви можете створити особисту вилку.

  • Ви можете створити власний сценарій, подібний до наступного:

    #!/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

    Цей скрипт відкриває посилання на пошук Launchpad для даного пакету в браузері за замовчуванням. За допомогою відповідного прапора -lвін виводить список назв PPA з їх URL-адресами та описами.

    Ви можете додати додаткові функції, коли у вас виникне потреба в них.


1
Вся справа в тому, що ОП хоче мати інструмент, подібний до apt-cache search package_name. Проблема з цим полягає apt-cacheв пошуку пошуку метаданих пакетів репозиторіїв, які вже додані в систему. Це означає, що ви не за горами - це посилання може бути використане для переліку PPA, тому подання запиту та аналіз відповіді має бути досить простим, але, мабуть, цілим рядом PITA в синтаксичному розборі
Сергій Колодяжний

Ви не можете припустити, що у людей відкритий браузер. Вони можуть бути в безголовій системі, такі як сервер або малиновий пі. Можливо, НАЙБІЛЬШЕ Linux-системи без голови, оскільки Linux в основному використовується серверами, а не настільними комп'ютерами
Джонатан

Пристрої, якими ви користуєтесь для доступу до безголових серверів, також не мають браузерів? Це безголові сервери аж донизу?
xiota

1
Ви не можете припустити, що у мене очі, я можу бути навіть без голови
Джонатан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.