当程序遇到依赖项时,有没有办法安装它们?

当程序遇到依赖项时,有没有办法安装它们?

最近有几个二进制程序以压缩包形式出现(不是 Debian 包),但其中仍然有依赖项(即 dwarf fortress 和 epsxe),而逐一检查缺少的库、检查它属于哪个包并安装该包感觉很繁琐。

有没有办法将诸如和之类的程序结合起来lddapt-fileapt-get自动安装特定二进制文件的依赖项?

答案1

好吧,在学习如何编写 bash 脚本后,我想到了这个。适用于 64 位和 32 位依赖项。

#!/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

https://github.com/Managor/install-deps.sh如果我做出改变。

相关内容