yum을 사용하여 CentOS 6에 Octave 종속성 설치

yum을 사용하여 CentOS 6에 Octave 종속성 설치

CentOS 6 클러스터의 홈 디렉터리에 로컬로 Octave 4.0.0(소스에서)을 설치하려고 합니다. 이는 상당히 광범위한 설치입니다(참조:목록종속성).

몇 가지 질문이 있습니다.

  1. 문서에는 어떤 버전의 종속성이 필요한지 명확하지 않습니다. 20개 이상의 종속성 버전 없이 Octave를 사용할 수 있을 가능성이 거의 없기 때문에 이것은 악몽입니다. yum이나 다른 소스를 통해 이를 얻을 수 있는 방법이 있나요?

  2. 저는 루트가 아니기 때문에 yum 유틸리티를 사용하려고 할 때마다다운로드그리고설치하다rpm 파일에 대한 루트 액세스가 필요합니다. yum-builddep루트 없이 로컬로 종속성을 설치할 수 있는 방법이 있는지 궁금합니다 .

  3. yum옥타브를 더 이상 찾을 수 없는 것 같습니다 . yum search octave지난주에 찾았던 게 틀림없어요 . 이전 yum 저장소는 어디에서 찾을 수 있나요?

답변1

yum은 더 이상 옥타브를 찾을 수 없는 것 같습니다. 지난주에 yum 검색 Octave를 통해 찾을 수 있었을 거라 확신합니다. 이전 yum 저장소는 어디에서 찾을 수 있나요?

octave패키지는 다음을 통해 제공됩니다.에펠CentOS 저장소. 설정하는 가장 간단한 방법은 다음과 같습니다.

# yum install epel-release

하지만 링크된 페이지의 지침을 따를 수도 있습니다. 작동 중인 EPEL 저장소가 있으면 다음을 수행하십시오.

# yum info octave
Name        : octave
Arch        : x86_64
Epoch       : 6
Version     : 3.4.3
Release     : 1.el6
Size        : 9.1 M
Repo        : epel
Summary     : A high-level language for numerical computations
URL         : http://www.octave.org
License     : GPLv3+

안타깝게도...

저는 루트가 아니기 때문에 yum 유틸리티를 사용하여 rpm 파일을 다운로드하고 설치하려고 할 때마다 루트 액세스가 필요합니다. yum-builddep(루트 필요 없음)을 활용하여 로컬로 종속성을 설치할 수 있는 방법이 있는지 궁금합니다.

나는 당신이 기본적으로 여기서 운이 좋지 않다고 생각합니다. 이와 같은 패키징 시스템은 yum실제로 권한이 없는 사용자가 실행할 때 작동하도록 설계되지 않았습니다. 다음을 수행할 수 있습니다.

repoquery --requires octave |
xargs -iDEP repoquery --whatprovides "DEP" |
sort -u |
grep x86_64 |
xargs yumdownloader

그러면 모든 종속성이 다운로드됩니다(이러한 명령 중 일부는 yum-utils패키지에 있으므로 설치해야 함). 일부 패키지의 여러 버전이 제공되므로 이전 버전을 제거해야 합니다.

repomanage --keep=1 --old . | xargs rm

이제 모든 종속성이 생겼습니다. 내가 말했듯이 yum에는 권한이 없는 사용자로 이를 "설치"할 수 있는 조항이 없지만 다음을 사용하여 로컬 디렉터리 트리에 모두 압축을 풀 수 있습니다 rpm2cpio.

for file in *.rpm; do rpm2cpio $file | cpio -id; done

..하지만 이를 사용하려면 컴파일러 플래그를 사용해야 하며 LD_LIBRARY_PATH.

관련 정보