Можно ли смоделировать установку пакетов Debian и пометить их как установленные?


17

Вот что я хотел бы:

Начните с виртуальной системы без установленных пакетов. Затем я вызываю инструмент, аналогичный тому, apt-getчтобы попросить его вычислить зависимости и пометить все пакеты, которые будут установлены как установленные.

Позвольте мне прояснить : это говорит, что пакеты установлены, но фактически никаких файлов не установлено .

Затем, если я попрошу «установить» больше пакетов, он может предложить добавить или удалить другие пакеты. Это на самом деле не удалит пакеты, но, очевидно, просто пометит их как удаленные.

Это было бы полезно, потому что я смог бы протестировать установку пакетов в пустой системе Debian или Ubuntu. Позвольте мне узнать, можно ли установить пакет с учетом определенного сценария.

Выполнение этого для реальной установки заняло бы много места на диске и времени .

apt имеет опцию «имитация», но не помечает пакеты как установленные.

Ответы:


11

Вы, вероятно, лучше всего подключитесь к одному из скриптовых интерфейсов, которые есть у Debian для их различных инструментов пакетов, и к написанию своего собственного симулятора.

(Изменить: я не могу найти dpkg-perlиdpkg-python больше. dpkg-awkИ dpkg-rubyсуществуют, но они не выглядят так, как будто они сделают эту работу.)

Однако в Debian есть инструмент «эквивалент», который позволяет создавать «пустые» пакеты, которые просто удовлетворяют зависимостям, но не устанавливают никаких файлов, кроме управляющих файлов. http://packages.debian.org/search?keywords=equivs

dpkgи у apt-getобоих есть варианты для запуска с разными административными и корневыми каталогами. На dpkg странице руководства они есть, но apt-getта, что похоронена вapt.conf .

DIRECTORIES

Элемент конфигурации RootDir имеет особое значение. ...

aptitude позволяет вам выбрать, что устанавливать, а затем «зафиксировать» его, запустив dpkg и / или apt с правильными настройками. Для этого вам может понадобиться поиграть с ним, хотя вам захочется сохранить настройки заранее и восстановить послесловие.


1
Можете ли вы указать мне один из этих скриптовых интерфейсов, которые вы упомянули?

-1

Это просто даст вам сильно сломанную систему. Почему вы хотите сделать что-то такое странное в первую очередь?

Я подозреваю, что это проблема XY : вам нужен X, найти способ сделать это через Y и спросить о Y. Не зная, что такое X, мы не сможем дать разумные решения для него.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.