Как я могу получить список всех пакетов, доступных для конкретной версии Ubuntu (не обязательно той, которую я установил)?

Я могу получить список всех доступных пакетов и их детали, используя следующую команду:

apt-cache search .

Выводит список пакетов, который выглядит следующим образом:

i   0ad                - Real-time strategy game of ancient warfare
i   0ad-data           - Real-time strategy game of ancient warfare (data files)                            
i   0ad-data-common    - Real-time strategy game of ancient warfare (common data files)                        
p   0ad-dbg            - Real-time strategy game of ancient warfare (debug)                                    
p   0xffff             - Open Free Fiasco Firmware Flasher                                                     
p   2ping              - Ping utility to determine directional packet loss                                     
p   2vcard             - perl script to convert an addressbook to VCARD file format                            
p   3270-common        - Common files for IBM 3270 emulators and pr3287                                        
p   389-admin          - 389 Directory Administration Server 
...

Как я могу получить такой список пакетов для версии Ubuntu, которую я не установил?

Так, в частности, где я могу скачать база данных всех доступных пакетов для конкретной версии Ubuntu, и как я могу получить подробности (возможно, включая версию, размер, длинное описание ...) из нее, в виде открытого текста или в формате, который легко анализировать с помощью скрипта ?

5
задан 23 June 2016 в 19:09

3 ответа

Используйте chdist. Эта команда позволяет Вам работать apt-get и apt-cache, как обычно, но для другого релиза Ubuntu (или Debian или на самом деле любое другое Debian-полученное распределение).

Это также обеспечивает обертку приблизительно grep-dctrl, который легко позволяет Вам искать и сообщать относительно полей метаданных.

3
ответ дан 23 June 2016 в 19:09

У Вас уже есть команда для списка всех возможных отправленный, но хорошо отпускает, немного глубже буду мы? Так apt-cache search . или apt-cache search '' производит приблизительно 2 300 + строки, который является на самом деле целым количеством всех возможных пакетов включая различные версии DE.

Для создания этого более легким Вы могли только получить имена с:

apt-cache search '' | sort -d | awk '{print $1}'

Или, Вы любите больше информации и не возражаете против длинного длинного списка, Вы могли прокрутить это до apt-cache policy:

apt-cache policy $(apt-cache search '' | sort -d | awk '{print $1}')
2
ответ дан 23 June 2016 в 19:09

1. Онлайн

Я предпочитаю использование http://packages.ubuntu.com/ как ответ muru

2. Офлайн, руководство

Иначе ища офлайновое решение затем необходимо быть MR. APT и начинает загружать их с http://archive.ubuntu.com/ubuntu/dists/.

p=$(pwd); for c in main universe multiverse restricted; do for u in "" -security -updates; do for a in binary-amd64 binary-i386; do mkdir trusty${u}_${c}_$a; cd trusty${u}_${c}_$a; wget http://archive.ubuntu.com/ubuntu/dists/trusty$u/$c/$a/Packages.bz2; cd $p; done; done; done;

Результаты:

$ tree
.
├── trusty_main_binary-amd64
│  └── Packages.bz2
├── trusty_main_binary-i386
│  └── Packages.bz2
├── trusty_multiverse_binary-amd64
│  └── Packages.bz2
├── trusty_multiverse_binary-i386
│  └── Packages.bz2
├── trusty_restricted_binary-amd64
│  └── Packages.bz2
├── trusty_restricted_binary-i386
...

3. Офлайн, использование apt-cache/overlay-filesystem/chroot

Разложение, расширенная настройка:

На самом деле я собираюсь использовать пользовательское sources.list* с тем же apt-cache установленный на 16,04, но apt не перезапишет 16,04 реальных файлов списков в /var/lib/apt/lists/, изменения перейдут в overlay файловая система.

Установка:

sudo apt-get install chroot
mkdir sandbox0
cd sandbox0
mkdir upper work merged
sudo mount -t overlay overlay -o lowerdir=/,upperdir=./upper,workdir=./work ./merged
sudo chroot merged/
echo "deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse main restricted" > /etc/apt/sources.list
rm -r /etc/apt/sources.list.d/*
apt-get update
exit

Использование: (можно подготовить сценарий),

sudo mount -t overlay overlay -o lowerdir=/,upperdir=./upper,workdir=./work ./merged
sudo chroot merged/

apt-cache ...
8
ответ дан 23 June 2016 в 19:09

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

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