Определение команд в пакетах for apt, snap, flatpak

Рассматриваю apt search util-linux . Это показывает мне, что пакет util-linux / bionic-updates, bionic-security, теперь 2.31 .1-0.4ubuntu3.7 amd64 [установлен] доступен. Кроме того, я выяснил, что могу выполнить dpkg -s util-linux , и он сообщает мне: "Описание: разные системные утилиты : Этот пакет содержит ряд важных утилит. s, большинство из которых ориентированы на обслуживание вашей системы. Некоторые из наиболее важных утилит, включенных в этот пакет, позволяют просматривать сообщения ядра, создавать новые файловые системы, просматривать информацию о блочных устройствах, взаимодействовать с часами реального времени и т. Д. "

Перед установкой пакета я хочу выяснить:

• Какого размера этот пакет (размер загружаемого и извлеченного - я думаю, я могу получить его, указав apt install 'name' , а затем прервав установку при отображении этой информации)?

• Какие дополнительные библиотеки потребуются для этого пакета и какого они размера (размер загружаемого и извлеченного)?

• Какие исполняемые двоичные файлы находятся в этом пакете и по каким путям они будут размещены, если я установлю этот пакет?

• Какие дополнительные неисполняемые файлы находятся в этом пакете (например, файлы конфигурации и т. Д.) И по каким путям они будут размещены, если я установлю этот пакет?

• Для ситуации после установки с помощью команды типа git , как мне узнать, из какого пакета изначально был взят этот файл?

• Fin союзник, как я могу сделать все вышеперечисленное также для пакетов snap и flatpak ?

2
задан 5 December 2020 в 17:52

1 ответ

snap info snapname сообщит вам размер, но не сообщит вам, нужны ли ему какие-либо «содержательные» (иногда называемые «платформенными») снэпы (например, gnome-3-34-1804) или базы (например, core20). Возможно, они у вас уже установлены, но в равной степени могут и не быть.

Снэпы имеют связанные библиотеки (кроме тех, которые существуют в базе, и любых используемых снэпов платформы), поэтому на самом деле не существует понятия зависимостей / библиотек, которые подключаются отдельно от снэпов контента/базы.

Тем не менее, вы можете снапнуть загрузку snapname, чтобы получить ее, затем unsquash -l snapfilename, чтобы вывести список содержимого.Вы также можете полностью распаковать его с помощью unsquash snapfilename, чтобы получить представление о том, что внутри.

Снапы также (иногда*) содержат манифест, в котором подробно описывается, что в нем содержится. После загрузки снапа вы можете unsquashfs snapfilename snap/manifest.yaml и посмотреть, какие библиотеки были включены в снап. Вы также можете (иногда*) извлечь оригинальный snapcraft.yaml, который использовался для его сборки, используя тот же метод: unsquashfs snapfilename snap/snapcraft.yaml.

* «Иногда» означает, что это зависит от того, как создается снимок. Они не все построены одинаково.

3
ответ дан 5 December 2020 в 16:21

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

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