Instale um .deb completamente 'manualmente'

4

Então, recentemente adquiri um novo celular Nokia N900 de um site de leilões online por um preço bastante razoável. O N900 é um telefone Linux, e saiu há muito tempo, mas só agora está dentro do meu orçamento.

Eu passei o dia passado lutando com isso. Sua versão de apt é particularmente frustrante.

O ponto em que estou agora é que não consigo fazer com que o dpkg configure corretamente um pacote por causa de como um cara da Nokia decidiu que o telefone não deveria ter arquivos em /usr/share/doc . Pelo visto. E o --configure deste pacote em particular exige que um arquivo seja colocado em /usr/share/doc e depois "optified", que é um termo do Nokia Linux que eu realmente não entendo, mas parece que tem a ver principalmente com tratar /opt/maemo como se fosse o diretório raiz quando se trata de certos tipos de arquivos.

É desnecessário dizer que esta documentação não pode ser "otimizada" ... Eu realmente não ligo para o motivo, só quero ser capaz de:

  • Descompacte o arquivo .deb .
  • Veja o script que diz a dpkg onde colocar as coisas.
  • Modifique o script e / ou mova esses arquivos para mim.
  • Faça o que for necessário para que os arquivos corretos estejam no lugar certo, eu mesmo .
  • Informe a lista de pacotes que este pacote foi 'instalado'.
  • Continue com minha vida, sabendo muito mais sobre .deb s do que atualmente.
por ixtmixilix 01.03.2013 / 11:23

3 respostas

2

Você pode modificar o arquivo .deb manualmente e instalá-lo como se fosse original.

Você pode dar uma olhada na referência oficial

Os passos que fiz em algum momento no passado poderiam ser resumidos como:

  1. Crie um diretório de trabalho:

    mkdir work
    cd work
    
  2. Certifique-se de que uma cópia do arquivo .deb esteja nesse diretório.

  3. Descompacte o arquivo .deb :

    ar x $DEB_FILE
    
  4. Remova o arquivo .deb daqui:

    rm $DEB_FILE
    
  5. Descompacte o arquivo de dados:

    mkdir data
    cd data
    tar zxf ../data.tar.gz
    cd ..
    
  6. Descompacte o arquivo de controle:

    mkdir control
    cd control
    tar zxf ../control.tar.gz
    cd ..
    
  7. Faça qualquer alteração que você tenha que fazer, por exemplo, modificar pelo menos um dos arquivos dentro do diretório de controle:

    • control / preinst
    • control / postinst
    • control / prerm
    • control / postrm
  8. Atualize para control/md5sums as somas de verificação md5 dos arquivos que você modificou.

  9. Comprima novamente o arquivo .deb :

    cd control
    tar zcf control.tar.gz *
    mv control.tar.gz ..
    cd ..
    rm -rf control
    
    cd data
    tar zcf data.tar.gz *
    mv data.tar.gz ..
    cd ..        
    rm -rf data
    
    ar r $DEB_FILE debian-binary control.tar.gz data.tar.gz
    
por 01.03.2013 / 17:24
1

Você pode encontrar os scripts postinst em / var / lib / dpkg / info. Corrija o script para que ele não falhe e peça dpkg para configurar o pacote novamente. Não há necessidade de se preocupar em descompactar manualmente o pacote.

    
por 01.03.2013 / 17:13
0

Você pode usar uma ferramenta como deb2targz para descompactar o arquivo .deb e mover manualmente os arquivos para locais apropriados .

    
por 01.03.2013 / 11:30

Tags