관리자가 아닌 경우 사용자의 홈 디렉터리에 yum을 설치합니다.

관리자가 아닌 경우 사용자의 홈 디렉터리에 yum을 설치합니다.

저는 대규모 컴퓨터 시스템의 관리자가 아닌 사용자입니다. 내 시스템에 설치되지 않은 최신 패키지가 필요합니다. yum을 사용하여 설치하고 싶습니다. sudo, admin 또는 루트 액세스 권한이 없는 사용자로서 패키지 관리를 사용하여 내 홈 디렉터리에 패키지를 설치할 수 있습니까? 항상 make from source를 사용할 수 있지만 yum을 사용할 수 있으면 삶이 더 쉬워집니다.

답변1

를 사용하는 대신 yum원하는 rpm을 찾아서 다운로드하세요. 여전히 루트 권한 없이 직접 설치할 수는 없지만 RPM 패키지는 실제로 압축을 풀 수 있는 콘텐츠가 포함된 멋진 .cpio 파일입니다. 가장 쉬운 방법은 아마도 mc("Midnight Commander") 파일 브라우저(지금까지 만들어진 소프트웨어 중 가장 훌륭한 부분 중 하나)를 사용하는 것입니다. 이를 통해 파일 내용을 찾아보고 .rpm파일에서 직접 복사할 수 있습니다.

그 외에는 rpm2cpio.cpio로 변환한 다음 cpio그 안에 있는 파일을 추출하여 올바른 위치에 넣을 수 있습니다. 이들 둘 다 이미 Redhat 또는 Fedora 시스템에 설치되어 있습니다. 다음은 "xsnow" 설치의 예입니다(빈 디렉토리에 설치하는 것이 좋습니다).

»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio

내 시스템 fc17 x86_64에 대한 .rpm을 찾았습니다. 이는 다른 구성요소와 연결되는 사전 컴파일된 바이너리이기 때문에 중요합니다. 이제 .cpio를 추출합니다.

»cpio -idv < xsnow.cpio 
./usr/bin/xsnow
./usr/share/doc/xsnow-1.42
./usr/share/doc/xsnow-1.42/README
./usr/share/man/man6/xsnow.6.gz
212 blocks
Press any key to continue...

이 디렉터리 트리를 탐색하면 종속성을 해결하는 데 도움이 될 수 있는 일부 메타 정보를 제외하고 필요한 모든 것이 거기에 있습니다. 이는 다음을 사용하여 찾을 수 있습니다 rpm -q -p [package] --[query].

»rpm -q -p xsnow-1.42-17.fc17.x86_64.rpm --requires
warning: xsnow-1.42-17.fc17.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID d2382b83: NOKEY
libX11.so.6()(64bit)  
libXext.so.6()(64bit)  
libXpm.so.4()(64bit)  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
rpmlib(PayloadIsXz) <= 5.2-1

확실히 나는 이미 그런 것들을 모두 가지고 있습니다. 이제 내가 해야 할 일은 xsnow 실행 파일을 내 홈 디렉터리에 이미 bin이 포함된 $PATH에 넣는 것뿐입니다.

»cp ./usr/bin/xsnow ~/bin

비올라! 이제 xsnowxsnow가 KDE와 제대로 작동하지 않는다는 사실이 밝혀졌으므로 무엇이든 입력하고 볼 수 있습니다. :( 하지만 프로세스의 요점이 명확하기를 바랍니다. 홈 디렉토리 외부에서는 아무것도 할 필요가 없습니다.

라이브러리를 설치해야 하는 경우 집에 라이브러리를 만들고 다음 위치에 추가해야 합니다 ~/.bashrc.

export LD_LIBRARY_PATH=/home/you/lib

답변2

대부분의 바이너리는 /.

다음과 같은 루트가 아닌 패키지 관리자가 있습니다.젠투 접두사그리고루트리스 GoboLinux가능한0개 설치.

말씀하신 대로 직접 컴파일하거나 chroot를 사용하면 이 문제를 완화할 수 있습니다. 그러나 chroot의 가장 큰 장애물은 전제 조건과 커널 공유 객체에 대한 연결입니다.

답변3

여기에서 다른 답변을 읽은 후 사용을 포기 yum하고 찾았습니다.이 지침나를 위해 일했습니다 (링크에 설명된 내용이 약간 수정됨).

사용자 폴더에 miniconda를 설치하십시오.

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ ./Miniconda3-latest-Linux-x86_64.sh

로컬 설치 패키지

$ conda install <pkg-name>

완벽한!

프롬프트에서 "예"라고 대답하거나 기본값을 선택하면 이제 conda 패키지 관리자와 함께 설치한 모든 항목이 배치됩니다 ~/miniconda3/. 따라서 제 경우에는 를 실행한 후 conda install R glpk바이너리에 대한 다음 위치가 표시됩니다.

$ which conda R glpsol
~/miniconda3/bin/conda
~/miniconda3/bin/R
~/miniconda3/bin/glpsol

나는 여전히 를 사용하는 것을 선호 yum하지만 이 솔루션을 사용하면 계속해서 사용할 수 있습니다.

관련 정보