Как я могу знать, какие программы некоторая Кв. - получает, пакет содержит?

Я хотел бы знать то, что некоторый определенный пакет устанавливает, например, при установке ncurses, Я нашел, что клавиша TAB расширяется:

sudo apt-get install ncurses-

показать:

ncurses-base      ncurses-doc       ncurses-hexedit
ncurses-bin       ncurses-examples  ncurses-term

Как мог я знать что, скажем, ncurses-term установки? Я интересуюсь главным образом программами, но библиотеки и любые другие типы файлов могли быть полезными также.

Метод командной строки, если это возможно, был бы предпочтен (любые другие, принятые также).

17
задан 23 April 2017 в 22:40

3 ответа

Вот несколько опций, они перечислят все файлы, установленные пакетом:

A. Список всех файлов включен в пакет

  1. Для установленных пакетов

    dpkg -L ncurses-term
    
  2. Для всех пакетов, установленных или нет

    apt-file -F list ncurses-term
    

    -F повороты сопоставления с образцом так, чтобы только пакеты, точные совпадения имени которых возвращаются. Вы, возможно, должны установить apt-file с sudo apt-get install apt-file и затем обновите его базу данных с sudo apt-file update.

B. Список только исполняемые файлы включен в пакет

  1. Для установленных пакетов

    Просто установка dlocate (sudo apt-get dlocate) и выполненный:

    dlocate -lsbin ncurses-term 
    

    Как объяснено в man dlocate:

    - полный путь Списка lsbin / имена файлов исполняемых файлов (если таковые имеются) в пакете

    Если Вы не хотите устанавливать дополнительные пакеты, можно сделать это вручную. Просто соберите список файлов и найдите любого среди них, которые имеют исполняемый набор битов:

    apt-file -F list ncurses-term | cut -d ' ' -f 2 | 
        while read file; do [[ -x $file && -f $file ]] && echo "$file"; done
    

    Небольшой scriptlet выше распечатает путь только (cut -d ' ' -f 2) и затем передайте его через a while цикл, который проверяет, является ли файл исполняемым файлом (-x $file) и если это - регулярный файл, никакие каталоги или символьные ссылки (-f $file) и печатает его имя, только если проходит оба теста.

  2. Для всех пакетов, установленных или нет

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

     apt-file -F list ncurses-term | grep -Ew "bin|sbin"
    

    -w опция распознает все слова, таким образом, Вы не установили вещи в, например, trashbin или что бы то ни было.


Примечание: Ни одна из вышеупомянутых команд не произведет вывода для ncurses-term но это вызвано тем, что этот пакет не устанавливает исполняемых файлов. Работа команд, тем не менее, попробуйте другим пакетом.

21
ответ дан 23 November 2019 в 02:21

Вы могли использовать способный файл:

sudo apt-file update        
apt-file list package_name
4
ответ дан 23 November 2019 в 02:21

Существует возможность с помощью браузера (поэтому не требующий доступа к системе APT). Например, для списка содержания файла пакета "ncurses-термин", просто тип

https://packages.debian.org/wheezy/all/ncurses-term/filelist

в строку поиска браузера (замена, "хрипящая" по мере необходимости) для Debian или

http://packages.ubuntu.com/saucy/all/ncurses-term/filelist

для Ubuntu (замена, "дерзкая" по мере необходимости).

3
ответ дан 23 November 2019 в 02:21

Другие вопросы по тегам:

Похожие вопросы: