在没有 sudo 访问权限的情况下安装包及其关联或所需的共享库 (.so)

在没有 sudo 访问权限的情况下安装包及其关联或所需的共享库 (.so)

我需要ffmpeg在没有访问权限的情况下安装在我公司的服务器上sudo。我是这样做的:

  1. 添加$HOME/bin$HOME/usr/bin到我的PATH$HOME/usr/lib/x86_64-linux-gnu/到我的LD_LIBRARY_PATH
  2. 使用命令下载ffmpeg到我的,并安装它(二进制文件进入)HOMEapt-get download$HOME/usr/bindpkg -x [ffmpeg .deb file] .
  3. 当我运行时ffmpeg,我遇到了丢失的共享库,例如libSDL2-2.0.so.0,,libass.so.9...因此我决定一次又一次地运行ffmpeg以找到丢失的共享库(.so文件)并通过步骤2:apt-get download和中的2个步骤进行安装dpkg -x

我做了57次,直到拿到所有.so文件并运行ffmpeg成功。但是,我必须这样做,因为我找不到一种方法来获取.so没有特权的包的所有正确的必要文件sudo。任何人都可以帮助我为此提供一个(更好)更好的流程吗?我听说过 JuNest,但如果可能的话,我希望首先采用传统方法。多谢。

答案1

一种黑客方式:你可以安装simulateie

apt -s install ffmpeg

寻找:

The following additional packages will be installed:
  libavdevice57 libsdl2-2.0-0

然后是这样的:

$ cd
$ mkdir alt/mysoft/ffmpeg
$ cd alt/mysoft/ffmpeg

$ apt-get download ffmpeg libavdevice57 libsdl2-2.0-0

$ for f in *; do dpkg -x "$f" ../..; done

$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/alt/usr/lib/x86_64-linux-gnu"
$ export PATH="$PATH:$HOME/alt/usr/bin"

$ ffmpeg -version

您希望将LD_LIBRARY_PATHPATH附加内容添加到某些启动文件中,以免重新下载现有依赖项。

相关内容