CentOS 6 클러스터의 홈 디렉터리에 로컬로 Octave 4.0.0(소스에서)을 설치하려고 합니다. 이는 상당히 광범위한 설치입니다(참조:목록종속성).
몇 가지 질문이 있습니다.
문서에는 어떤 버전의 종속성이 필요한지 명확하지 않습니다. 20개 이상의 종속성 버전 없이 Octave를 사용할 수 있을 가능성이 거의 없기 때문에 이것은 악몽입니다. yum이나 다른 소스를 통해 이를 얻을 수 있는 방법이 있나요?
저는 루트가 아니기 때문에 yum 유틸리티를 사용하려고 할 때마다다운로드그리고설치하다rpm 파일에 대한 루트 액세스가 필요합니다.
yum-builddep
루트 없이 로컬로 종속성을 설치할 수 있는 방법이 있는지 궁금합니다 .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
.