Listar arquivos que serão instalados por .deb

5

Como posso listar todos os arquivos (e seus locais futuros) que serão instalados chamando 'dpkg -i' em um arquivo .deb? Qual destino makefile do pacote fonte determina esses (é o destino 'instalar' padrão?)

(A segunda parte da questão diz respeito ao processo de criação de pacotes. Eu quero que a lista de arquivos instalados por 'make install' e a lista de arquivos instalados pelo pacote .deb sejam os mesmos)

    
por Juliusz 06.07.2011 / 04:44

2 respostas

6

Você pode listar o conteúdo de um arquivo deb executando

dpkg-deb --contents package.deb

dpkg-deb pode mostrar muitas informações sobre um pacote deb. Você pode ver as outras opções executando dpkg-deb --help .

Infelizmente, você não pode determinar quais arquivos um Makefile irá instalar. No entanto, você pode instalar em um diretório temporário definindo a variável DESTDIR . Note que isto funciona bem principalmente em Makefiles gerados por autotools ie. o script ./configure . Por exemplo:

cd sourcecode-1.2
./configure --prefix=/usr           #Just the usual compiling stuff
make
mkdir /tmp/installedfiles           #Create a temporary directory for the files
make DESTDIR=/tmp/installedfiles install

Essa última linha make instalará os arquivos em /tmp/installedfiles . Você pode então ver os arquivos que seriam criados, embora esses arquivos e diretórios sejam todos relativos ao prefixo especificado no script de configuração. Em outras palavras, /tmp/installedfiles/bin/mainprogram seria instalado como /usr/bin/mainprogram .

Espero ter respondido sua pergunta:)

    
por Andrew Gunnerson 06.07.2011 / 05:03
0

Um arquivo deb é um arquivo que você pode extrair para ver seu conteúdo.

Da Wikipedia

  

Desde o Debian 0.93, um arquivo deb é   implementado como um arquivo ar.   Os conteúdos canônicos deste arquivo são   três arquivos:

     
  • debian-binary: número da versão do formato deb. Isso é "2.0" para os atuais   versões do Debian.
  •   
  • control.tar.gz: todas as meta-informações do pacote.

  •   
  • data.tar, data.tar.gz, data.tar.bz2, data.tar.lzma ou   data.tar.xz: o real   arquivos instaláveis.

  •   

O arquivo debian-binary deve ser o   primeira entrada no arquivo, caso contrário   não será reconhecido como um Debian   pacote.

Assim, ao extrair um arquivo deb, você obterá um arquivo de dados, por exemplo, data.tar / data.tar.gz / data.tar.lzma / data.tar.xz. Extraia este arquivo e você obterá todos os arquivos / diretórios que este deb irá criar ou colocar arquivos.

    
por binW 06.07.2011 / 08:31
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '28202',
    'url' => 'listing-files-which-will-be-installed-by-deb',
];

$_COOKIE = [
    '_csrf-frontend' => 'cf88c2f315d95dde472c83d793560e6cfcd0cfbb0734f3e5d3fe3bcb62281ca7a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"uQNutIvCvZXx3PZRUqJ57XNRPtOSS40b";}',
    'advanced-frontend' => 'eo89ioc9gcf4fcnqonh28a0c42',
];

$_SESSION = [
    '__flash' => [],
];