× К оглавлению На главную Об авторе

Дата и время публикации:    

Проблема и решение

1. Суть проблемы

Получение содержимого и извлечение файлов с данными и программами без установки deb-пакета через APT на Debian и Ubuntu[3.1].

Пакет с данным и программами представляет собой архивный файл в формате AR(1)[3.2], который распаковывается одноименной командой и включает в себя следующие файлы:

2. Решение

Таким образом, если задача состоит в извлечении, к примеру справочной информации пакета binutils версии 2.38, нужно выполнить ряд незатейлевых манипуляций.

Создать директорию binutils-doc-2.38 c поддирикторией cntx :


~$ mkdir  -p binutils-doc-2.38/cntx && cd binutils-doc-2.38

В директорию binutils-doc-2.38 с использованием WGET(1) закачать файл и перейти в поддиректорию cntx :

 ~$ wget \
      http://deb.debhian.org/debian/pool/main/b/binutils/binutils-doc_2.38.90.20220713-2_all.deb && \
cd cntx

Затем, в binutils-doc-2.38/cntx распаковать deb-пакет :

~/binutils-doc-2.38/cntx$ ar x ../binutils-doc_2.38.90.20220713-2_all.deb
~/binutils-doc-2.38/cntx$ ls -la
итого 644
drwxr-xr-x 2 user user   4096 авг 11 17:07 .
drwxr-xr-x 3 user user   4096 авг 11 17:05 ..
-rw-r--r-- 1 user user    504 авг 11 17:07 control.tar.xz
-rw-r--r-- 1 user user 643008 авг 11 17:07 data.tar.xz

и посмотреть содержимое data.tar.xz, который предоставляет нужную справочную информацию о версии binutils-2.38 :

binutils-doc-2.38/cntx$ tar -tvf data.tar.xz 
drwxr-xr-x root/root         0 2022-07-14 13:07 ./
drwxr-xr-x root/root         0 2022-07-14 13:07 ./usr/
drwxr-xr-x root/root         0 2022-07-14 13:07 ./usr/share/
drwxr-xr-x root/root         0 2022-07-14 13:07 ./usr/share/doc/
drwxr-xr-x root/root         0 2022-07-14 13:07 ./usr/share/doc/binutils-doc/
-rw-r--r-- root/root     59379 2022-07-14 13:07 ./usr/share/doc/binutils-doc/changelog.Debian.gz
-rw-r--r-- root/root      1970 2022-07-14 13:07 ./usr/share/doc/binutils-doc/copyright
drwxr-xr-x root/root         0 2022-07-14 13:07 ./usr/share/info/
-rw-r--r-- root/root    297514 2022-07-14 13:07 ./usr/share/info/as.info.gz
-rw-r--r-- root/root     71082 2022-07-14 13:07 ./usr/share/info/binutils.info.gz
-rw-r--r-- root/root     21004 2022-07-14 13:07 ./usr/share/info/ctf-spec.info.gz
-rw-r--r-- root/root     34234 2022-07-14 13:07 ./usr/share/info/gprof.info.gz
-rw-r--r-- root/root     33389 2022-07-14 13:07 ./usr/share/info/gprofng.info.gz
-rw-r--r-- root/root    121812 2022-07-14 13:07 ./usr/share/info/ld.info.gz
lrwxrwxrwx root/root         0 2022-07-14 13:07 ./usr/share/doc/binutils-doc/bfd -> ../binutils/bfd
lrwxrwxrwx root/root         0 2022-07-14 13:07 ./usr/share/doc/binutils-doc/gas -> ../binutils/gas
lrwxrwxrwx root/root         0 2022-07-14 13:07 ./usr/share/doc/binutils-doc/gprof -> ../binutils/gprof
lrwxrwxrwx root/root         0 2022-07-14 13:07 ./usr/share/doc/binutils-doc/ld -> ../binutils/ld

Затем, извлечь файлы из data.tar.xz в целевую директорию [3.3] :

~/binutils-doc-2.38/cntx$ tar -xpJf data.tar.xz -C ~/binutils-doc-2.38/

3. Библиография

3.1 How to extract a .deb file without opening it on Debian or Ubuntu Linux

3.2 ar(1) - Linux man page

3.3 Unix / Linux: Extract Tar File with Absolute Path

3.4 tar(1) - Linux man page

Сайт разработан в соответствии с рекомендациями консорциума W3C для языка разметки HTML5.

Об авторе можно прочитать здесь.

Copyright © 2015-2019 Андрей Ржавсков