Как извлечь и установить .deb без команды dpkg?

Я запускаю Debian jessie stable, чтобы понять, как пакет .deb взаимодействует с системой. Каков правильный способ извлечения и установки packge_name.deb без команды dpkg ?

Вы можете распаковать файлы .deb с помощью команды ar (поскольку файлы .deb являются архивами).

ar x file.deb

начнет процесс. Это даст вам три файла,

  • Debian-бинарный
  • control.tar [или аналогичный]
  • data.tar [или аналогичный]

Последние два содержат метаданные управления, а затем фактические файлы пакетов и архивы tar (которые могут быть сжаты с использованием gzip , bzip и т. Д.),

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

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

Я не думаю, что есть правильный способ установить файл .deb без использования dpkg .

Сами файлы могут быть установлены с помощью этой команды. Вам может понадобиться ar вместо tar .

 tar xOf my_package.deb data.tar.gz | sudo tar xzpomv 

Это работает, если пакет не требует никакой логики, обычно автономных приложений, которые просто устанавливают все под / opt /.

В противном случае вы также можете посмотреть метаданные (файл control ) и скрипты, если таковые имеются:

 tar xOf my_package.deb control.tar.gz | tar xv