업그레이드해야 하는 zlib라는 프로그램이 있습니다. 이전에 다운로드한 적이 없기 때문에 Ubuntu와 함께 제공되는지 의심됩니다.
일반적으로 다운로드하고 컴파일하기만 하면 되지만 다른 도구(vcftools)에서 사용하므로 로컬에 설치할 수는 없습니다. 나는 둘 중 하나가 필요하다고 생각합니다
새 버전의 zlib를 어딘가에 설치하고 시스템에 내가 설치한 폴더에서 zlib를 찾도록 지시합니다. zlib가 이전 버전과 호환된다면 괜찮을 것입니다.
현재 버전을 업그레이드하세요(그러나 sudo apt-get install을 실행하면 최신 버전이 있다는 메시지가 표시됩니다).
어떻게 해야 하나요? 감사해요.
답변1
내 생각엔 당신이 상황을 좀 혼란스럽게 하고 있는 것 같아요. zlib
Ubuntu 시스템에 로컬로 설치된 또 다른 패키지입니다. 먼저 Ubuntu/Debian 리포지토리 중 하나에 zlib
Ubuntu/Debian 및 이 두 배포판에서 파생된 기타 운영 체제용으로 설치할 수 있는(사전 구축된) 모든 소프트웨어가 포함된 최신 버전이 있는지 확인합니다 .
$ apt-get install zlib
하지만 해당 명령을 실행하기 전에 패키지가 실제로 호출되고 있는지 다시 확인해 보겠습니다 zlib
.
$ dpkg -l |grep zlib
ii zlib1g:amd64 1:1.2.7.dfsg-13 amd64 compression library - runtime
따라서 이 패키지는 실제로 업데이트된 것으로 보입니다 zlib1g
.
$ apt-get install zlib1g
Reading package lists... Done
Building dependency tree
Reading state information... Done
zlib1g is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
그래서 해당 특정 버전을 사용 중이거나 사용 가능한 최신 버전이 없습니다.
또 다른 방법
최신 버전의 zlib
1.2.8을 매우 쉽게 다운로드하고 컴파일한 다음 LD_LIBRARY_PATH
일시적으로 이러한 라이브러리의 컴파일된 버전을 가리킬 수 있습니다. 이렇게 하면 시스템에 설치하지 않고도 시험해 볼 수 있습니다.
일단 설정되면 LD_LIBRARY_PATH
전화해서 VCFtools
시험해 볼 수 있습니다.
다음 단계
다음 옵션은 최신 버전의 zlib1g가 포함된 타사 저장소를 찾거나 소스 패키지를 다운로드하여 이를 사용하여 자신만의 .deb 파일을 만드는 것입니다. 자신만의 패키지 빌드 환경을 설정하고 첫 번째 .deb 파일을 빌드하는 방법에 대한 많은 튜토리얼이 있습니다. 이것은 실제보다 더 복잡하게 들립니다.
답변2
특정 버전의 배포판은 각 프로그램의 특정 버전과 함께 제공됩니다. 출판이 바로 그것이다. (각 소프트웨어의 다음 버전으로 업그레이드하는 데 모든 시간을 소비하는 "롤링 릴리스" 배포판이 있습니다. 더 좋은 일이 있다면 릴리스된 배포판을 고수하십시오.)
이것zlib1g 패키지 버전Ubuntu 12.04(정밀)의 버전은 1.2.3.4이고 Ubuntu 12.10(퀀텀)의 버전은 1.2.7입니다. Ubuntu 웹 사이트에서 소스 패키지(3개 파일 모두: .dsc
, .diff.gz
및 .orig.tar.gz
또는 .debian.tar.gz
)를 다운로드한 다음 해당 버전을 패키지로 컴파일할 수 있습니다.
sudo apt-get install build-essential fakeroot
sudo apt-get build-dep zlib
dpkg-source zlib_1.2.7.dfsg-13.dsc
cd zlib-1.2.7.dfsg
dpkg-buildpackage -rfakeroot -us -uc -b -nc
sudo apt-get install ../zlib1g-1.2.7.*.deb
최신 버전의 라이브러리를 설치하면 비호환성이 발생할 수 있습니다. zlib을 사용하면 문제가 발생할 것 같지 않지만 가볍게 수행해야 할 작업은 아닙니다.
또는 홈 디렉토리 어딘가에 최신 버전의 라이브러리를 설치하고 필요한 특정 프로그램에만 사용하십시오. 에서 zlib를 컴파일하고 설치한 경우 ~/lib/zlib1.2.8/lib
적합한 래퍼 스크립트는 다음과 같습니다.
#!/bin/sh
export LD_LIBRARY_PATH=~/lib/zlib1.2.8/lib
exec vcftools "$@"