sudo 액세스 없이 패키지 및 관련 또는 필수 공유 라이브러리(.so) 설치

sudo 액세스 없이 패키지 및 관련 또는 필수 공유 라이브러리(.so) 설치

ffmpeg접근 권한 없이 회사 서버에 설치 해야 합니다 sudo. 이것이 내가 하는 방법이다:

  1. $HOME/bin것과 내 것에 합계 를 더해$HOME/usr/binPATH$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.9so 누락된 공유 ​​라이브러리(.so 파일)를 찾기 위해 계속해서 실행하기로 결정 하고 2단계: 및 Install 의 2단계를 ffmpeg수행했습니다 .apt-get downloaddpkg -x

.so모든 파일을 얻을 때까지 이 작업을 57번 수행했고 ffmpeg성공적으로 실행되었습니다. 그러나 .so권한 없이 패키지에 필요한 모든 올바른 파일을 얻을 수 있는 방법을 찾을 수 없기 때문에 이렇게 해야 합니다 sudo. 누구든지 이에 대한 (더 나은) 더 나은 프로세스를 도와줄 수 있습니까? JuNest에 대해 들어본 적이 있지만 가능하다면 전통적인 접근 방식을 먼저 사용하고 싶습니다. 감사합니다.

답변1

해킹: simulate즉 , 설치할 수 있습니다

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_PATH하고 추가 하려고 합니다 .PATH

관련 정보