Как перечислить все пакеты в repo по имени

Я сделал полный клон пакетов Ubuntu repo (приблизительно 230 ГБ) и выполнения локального VM как мой repo сервер. Какую команду я могу использовать для списка ВСЕХ пакетов, содержавших в этом repo?

0
задан 29 January 2015 в 12:20

2 ответа

Локально (то есть, на сервере), можно работать:

find /location/of/repo/ -type f -name '*.deb'

Удаленно, можно выбрать Packages файл и grep это:

wget -qO - http://archive.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/Packages.gz \
  | zgrep -Po '(?<=^Package: ).*'
2
ответ дан 3 August 2019 в 17:46

Кроме ответ @muru , если Вы хотите найти весь доступный пакет в своем локальном repo сервере от локальной системы Ubuntu, можно использовать файл метаданных каждого ресурса пакета, определенного в sources.list, который присутствует в /var/lib/apt/lists/. Только требование - то, что Ваша система Ubuntu должна быть настроена для получения обновления из локального сервера.

, Например

cd /var/lib/apt/lists/
grep -oP "(?<=Package: ).*" security.ubuntu.com_ubuntu_dists_utopic-security_main_binary-amd64_Packages 

Замена имя файла (т.е. security.ubuntu.com_ubuntu_dists_utopic-security_main_binary-amd64_Packages) с Вашим именем файла локального сервера. Также удостоверьтесь этот конец названия списка с Packages.

1
ответ дан 3 August 2019 в 17:46

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

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