Existe uma maneira de instalar dependências quando um programa as encontra?

1

Recentemente eu tive alguns programas binários que vieram com o arquivo compactado (não como um pacote Debian), mas ainda tinham dependências neles (como fortaleza de anão e epsxe) e é uma tarefa difícil percorrer as bibliotecas perdidas uma a uma, verificando a que pacote pertence e instalando esse pacote.

Existe uma maneira de combinar programas como ldd , apt-file e apt-get para instalar dependências automaticamente para esse arquivo binário específico?

    
por Managor 25.11.2016 / 14:52

1 resposta

0

Tudo bem, então, depois de aprender como roteirizar bash eu inventei isso. Funciona para dependências de 64 e 32 bits.

#!/bin/bash
DESTINATION=${1/ /\ }
TYPE=$(eval readelf -h $DESTINATION | grep Class | awk ' {print $2}')
FILES=$(eval ldd $DESTINATION | grep "not found" | awk ' {print $1} ' | paste -s -d ' ')
for FILE in $FILES; do
  PACKAGE=$(apt-file search $FILE | awk ' {print $1}' | sed 's/://g' | uniq)
  if [ ! -z $PACKAGE ]
  then
    if [ $TYPE = "ELF32" ]
    then
      sudo apt install ${PACKAGE}:i386
    else
      sudo apt install ${PACKAGE}
    fi
  fi
done

link se eu fizer alterações.

    
por Managor 03.11.2017 / 05:33