Как я могу проверить список зависимости на deb пакет

Как я могу проверить список зависимости на deb пакет. Я запускаю Ubuntu 11.10, и я создал резервную копию всех deb пакетов от var/cache/apt/archives. Я хочу отформатировать свой ПК и переустановить выбранные приложения только. Также, как я могу получить список установленных пакетов и зависимостей.

94
задан 26 January 2015 в 00:12

7 ответов

В дополнение к dpkg метод, можно проверить зависимости пакетов в репозитории:

apt-cache depends package-name

РЕДАКТИРОВАНИЕ, Обновленное с рекомендацией @Tino. комментарий @Tigran больше не применяется.

76
ответ дан 22 November 2019 в 23:07

Это покажет Вам всю информацию о пакете:

dpkg -I package.deb
102
ответ дан 22 November 2019 в 23:07

Вот некоторые неаккуратные, и вероятно не очень охватывающая последующая обработка, можно сделать к dpkg -I вывод для получения объектов зависимости как списка:

Сжатый для компьютеров

# dpkg -I package.deb | python -c "import sys, re; t=re.split(r'\n(?= ?[\w]+:)|:', sys.stdin.read()); print '\n'.join([i.strip() for i in {key.strip(): value.strip() for key, value in zip(t[::2], t[1::2])}['Depends'].split(',')])"
#

Расширенный для людей:

dpkg -I package.deb | python -c "
    import sys, re;
    # Split keys and values into pairs (zipped together later)
    t=re.split(
        r'\n(?= ?[\w]+:)|:', 
        sys.stdin.read()
    ); 
    # Newline separate each dependency
    print '\n'.join([
        # Trim each dependency value
        i.strip() for i in {
            # Build assoc array from package metadata
            key.strip(): value.strip() 
            for key, value in zip(t[::2], t[1::2])
        }['Depends'].split(',')
    ])
"
0
ответ дан 22 November 2019 в 23:07

apt-cache depends [Package-Name] будет работать также. Хотя, если Вы получаете .deb пакет снаружи Вашего исходного списка, вещей как apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] мог бы показать устаревшую информацию или не мог бы синхронизировать с фактическим установленным пакетом следовательно dpkg -I [Package-Name] работал бы лучше всего в этом случае.

2
ответ дан 22 November 2019 в 23:07

Для 14,04 и позже:

dpkg не имеет -I больше и необходимо использовать dpkg-deb показать информацию о пакете включая зависимости:

dpkg-deb -I package.deb
2
ответ дан 22 November 2019 в 23:07

Для определенной версии пакета:

apt-cache show <package_name>=<version>

Найти доступные версии: Как я могу проверить доступную версию пакета в репозиториях?

0
ответ дан 22 November 2019 в 23:07

Если у вас есть неустановленный пакет (обычно загружен вручную из-за пределов репозитория), вам необходимо использовать dpkg . Следующая команда покажет сводную информацию о пакете, включая его зависимости:

dpkg --info [package name]

Если пакет уже установлен на вашем компьютере (получен из репозитория или загружен вручную) или не установлен, но доступен в репозиторий, вы можете использовать apt . Следующая команда покажет только список его зависимостей.

apt depends [package name]
0
ответ дан 20 January 2020 в 07:39

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

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