
패키지를 설치하려고 몇 시간을 보냈지만 성공하지 못했습니다. Linux 환경에서 가끔 그런 일이 발생하는 것 같습니다.
배경: 내가 설치하려는 패키지는 1) .deb
x64 대신 x86용, 2) .Run
, 3) 소스, 4) OSX 설치 프로그램으로 제공됩니다. OSX 설치 프로그램이 작동합니다. Debian 7을 새로 설치하면서 .deb
소스 에서 , 및 컴파일을 시도했습니다 .Run
. 세 가지 모두 일련의 과정을 통해 나를 이끌었습니다. 가장 기본적인 문제는 이러한 경로를 통해 데비안 7이 나에게 너무 오래된 버전 LibC
과 너무 오래된 버전을 제공했다는 것입니다 Ocaml
. 내 시간의 대부분은 종속성을 해결하기 위해 하나의 apt-get 명령을 실행하는 데 소비되었습니다.
질문: 프로세스를 최대한 자동화하여 패키지 설치를 더 쉽게 만들어주는 도구에는 어떤 것이 있나요? 소스에서 빌드하는 경우에도 모든 패키지에는 필요한 종속성 버전이 무엇인지 명확하게 표시되어 있습니다. 그렇다면 왜 모든 종속성을 자동으로 해결할 수 없는 걸까요?
내 시스템에 있는 다른 패키지의 버전을 수정하지 않고도 내 패키지가 작은 환경에서 실행될 수 있도록 내 패키지에 필요한 모든 단일 종속성의 복사본을 포함하는 디렉터리를 내 시스템에 만들면 좋을 것입니다. 그것이 가능한지 잘 모르겠습니다. 나는 "Foo, 버전 4.2.3이라는 패키지를 주세요"라고 말하고 다른 모든 작업을 수행할 수 있는 방법이 분명 있을 것이라고 확신합니다.
답변1
경험은 거의 동일합니다. 문제는 Debian(stable)이 최첨단 배포판이 아니라는 것입니다.안정적인. 이는 저장소에 이전 버전의 패키지가 있다는 의미입니다(그런데 패키지 이름을 언급하는 것이 좋을 수도 있습니다). .libc
.deb
실행 중인 데비안 버전에 맞게 패키지된 패키지를 설치하는 것은 매우 쉽고 쉽습니다. 저를 믿으십시오. 저는 대부분의 것을 소스에서 설치해야 했습니다. aptitude install foo.4.2.3.deb
당신이 실행할 때~이다"Foo 버전 4.2.3이라는 패키지를 나에게 주세요"라고 말하고 다른 모든 작업을 수행해 주세요. 이전 버전을 사용하고 있기 때문에 저장소에 없는 경우 이는 패키지 관리자의 잘못이 아닙니다.
따라서 새로운 질문을 게시하고 얻으려는 특정 패키지를 어떻게 설치할 수 있는지 물어보는 것이 좋습니다. 최신 버전이 필요한 경우 libc
전체 시스템을 testing
또는 리포지토리로 업그레이드하는 것이 더 쉬울 수도 있다는 점을 명심하십시오 experimental
. libc만 업그레이드하는 것이 가능하지만 쉽지도 간단하지도 않습니다.여기.
또한, 이런 사실도 알아두셔야 합니다.~ 아니다사소한 문제. 종속성은 패키지 관리자에 의해 잘 관리되지만 충돌이 발생할 수 있습니다. 특히 libc
.
이 명령은 에 의존하는 패키지 목록을 인쇄합니다 libc
.
apt-cache rdepends libc6
내 데비안에서는 해당 목록에 16056개의 다양한 패키지가 포함되어 있습니다. 패키지가 최신 버전에 의존하기 때문에 libc를 업그레이드하는 경우 foo
패키지 관리자는 16056 패키지가 설치된 버전에 의존한다는 사실을 어떻게 처리해야 합니까? 최신 버전과도 호환되는지 어떻게 알 수 있나요?
답변2
나는 여기에 차임해서 당신의 기대가 틀렸다고 생각한다고 말하고 싶습니다.
솔루션은 완전히 다른 2명의 청중을 대상으로 합니다. Apple은 사용 가능한 소프트웨어를 엄격하게 제어하며 이는 제한된 응용 프로그램에 불과합니다.
나는 오픈 소스 프로젝트 "X"를 설치하려고 OSX 시스템을 사용하고 있었고 잘못된 버전의 Xcode를 사용하여 OSX에서 동일한 유형의 어려움을 겪고 있다는 것을 인정하고 싶은 더 많은 사람들을 도왔습니다. Subversion의 공식 버전을 사용하고 MacPorts 또는 HomeBrew에서 버전을 설치해야 했습니다. 이 패키지 "X"를 설치할 수 있을 때까지 다양한 라이브러리 및 종속성과 싸우는 데 문자 그대로 차이가 없었습니다.
디렉토리에 종속성을 배치하고 "X" 응용프로그램을 설치할 수 있게 해주는 마법의 도구는 본 적이 없습니다. 그것은 단지 존재하지 않으며 기회도 결코 없을 것입니다. 종속성 관리와 패키지 관리를 더 좋게 만들기 위한 수많은 시도가 있었고 이는 해결하기 매우 복잡한 문제일 뿐입니다.
Apt, Yum 등은 모두 괜찮은 작업을 수행하지만 문제는 일반적으로 불가능한 언바운드 문제를 해결하려고 한다는 것입니다. 80% 유형의 솔루션 또는 "대부분"의 경우에 작동하는 솔루션만 얻을 수 있습니다.
그것은 그렇게 간단합니다.