перечислите все пакеты из репозитория в человечности / debian

У Вас есть порт 1937, указанный в Вашей клиентской конфигурации, но порт 1194, указанный, чтобы сервер послушал на в Вашей конфигурации сервера. Однако Ваш журнал сервера показывает, что слушает на порте 1937, по крайней мере в то время, когда Вы взяли тот журнал. Кроме этого, ничто не смотрит неправильно мне.

Это верные взгляды как Вы получаете хорошие соединения TCP между клиентом и сервером. Для исключения любых проблем PKI я запустил бы со статической ключевой конфигурации и, после того как это работает, движение к конфигурации с открытым ключом.

85
задан 27 March 2011 в 08:22
6 ответов
grep Package /var/lib/apt/lists/(repo name)_Packages
18
ответ дан 28 November 2019 в 19:26

Я не знаю, является ли это тем, что Вы ищете:

https://superuser.com/questions/132346/find-packages-installed-from-a-certain-repository-with-aptitude

Как он говорит, Синаптический Диспетчер пакетов позволяет Вам искать "источником". Это не является программным, но это должно дать Вам, что Вы ищете.

6
ответ дан 28 November 2019 в 19:26

Простой:

grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages 

Или более гибкий:

grep-dctrl -sPackage . /var/lib/apt/lists/ppa.launchpad.net_*_Packages 

Для запросов знатока использовать apt-cache policy и aptitude как описано здесь:

aptitude search '~O LP-PPA-gstreamer-developers'
63
ответ дан 28 November 2019 в 19:26

Старый поток, но подумал, что это может помочь. Используйте awk, сортировку и uniq, чтобы захватить только пакеты и запретить контрольные суммы повторного использования пакетов.

grep ^Package /var/lib/apt/lists/<repo you are interested in>* | awk '{print $2}' | sort | uniq
2
ответ дан 28 November 2019 в 19:26

Просто для развлечения или если вы не доверяете кешам, вы можете запросить объявленные пакеты источника, ну, ну, из самого источника. Репозитории - это в значительной степени веб-сайты, либо HTTP, либо FTP.

В вашей системе есть исходные URL-адреса, по которым вы можете запрашивать конкретные архитектуры и параметры двоичного кода / источника. Затем вы можете запросить списки пакетов конкретной архитектуры.

Например, я использую отличный медиаплеер jRiver MediaCenter на Pop! _OS. Чтобы запросить их стабильный репозиторий , который я настроил, сначала найдите URL:

$ cat /etc/apt/sources.list.d/mediacenter26.list 
#MC
deb [arch=i386,amd64,armhf] http://dist.jriver.com/stable/mediacenter/ jessie main

Затем выберите расположение в списке для интересующей вас архитектуры. Обратите внимание, что URL-адрес формируется по шаблону / dists / / Release :

$ curl -s http://dist.jriver.com/stable/mediacenter/dists/jessie/Release |
> grep "amd64/Packages$" |
> cut -d" " -f 4 |
> sort -u
main/binary-amd64/Packages

Наконец, добавьте путь к списку архитектуры к распространению и извлеките имена пакетов из списков сигнатур :

$ curl -s http://dist.jriver.com/stable/mediacenter/dists/jessie/main/binary-amd64/Packages |
> grep "^Package: " |
> cut -d" " -f2 |
> sort -u
mediacenter21
mediacenter22
mediacenter23
mediacenter24
mediacenter25

Естественно, настройте или удалите фильтры grep | cut | sort на свой вкус. Удалите параметр -s (без звука) из curl , чтобы при необходимости просмотреть диагностику.

... или используйте диспетчер пакетов Synaptic .

1
ответ дан 29 March 2020 в 17:43

Для моего варианта использования мне нужен список пакетов из нескольких репозиториев, соответствующих тот же дистрибутив, в частности Jessie. На этом хосте настроено несколько репозиториев jessie, репозиторий Dell linux и архивы Debian для некоторых зависимостей.

Я закончил с этим, кхм, однострочным:

for p in $(dpkg -l | awk '/ii/{ print $2 }'); do for i in $(apt-cache policy "$p" | awk '/Installed/{ print $2}'); do apt-cache policy "$p" | grep -A1 '\*\*\*\ '$i'' | if grep -q jessie; then echo $p; fi; done; done

Довольно уродливо, так как нам нужно запустить apt-cache дважды: один раз, чтобы получить установленную версию пакета, и второй раз, чтобы сопоставить эту установленную версию с целевое репо, которое в этом случае может быть удобно сопоставлено просто "jessie".

Если вы удалите 'grep -q', вы также получите вывод соответствующей строки репо для подтверждения, или иначе. Вы можете адаптировать этот синтаксис сопоставления к регулярному выражению для сопоставления в нескольких репозиториях.

0
ответ дан 22 April 2020 в 21:06

Теги

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