
업그레이드해야 하는 zlib라는 프로그램이 있습니다. 나는 그것을 다운로드한 적이 없기 때문에 Ubuntu와 함께 제공되는 것으로 의심됩니다.
일반적으로는 다운로드하여 컴파일하지만 다른 도구(vcftools)를 사용하므로 로컬에 설치할 수는 없습니다. 나는 다음 중 하나를 해야 한다고 생각한다.
새 버전의 zlib를 어딘가에 설치하고 시스템에 내가 설치한 폴더에서 zlib를 찾도록 지시합니다. zlib가 이전 버전과 호환된다면 괜찮을 것입니다.
현재 버전을 업그레이드하세요(그러나 sudo apt-get install을 실행하면 최신 버전이 있다고 알려줍니다).
어떻게 해야 하나요? 감사해요.
답변1
내 생각엔 당신이 상황을 좀 혼란스럽게 하고 있는 것 같아요. zlib
Ubuntu 상자에 로컬로 설치된 또 다른 패키지입니다. 먼저 zlib
Ubuntu/Debian 및 해당 두 배포판 중 하나에서 파생된 기타 OS에 대해 설치할 수 있는(사전 빌드된) 모든 소프트웨어가 포함된 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 웹사이트에서 소스 패키지(세 가지 파일 모두: 및 또는 )를 다운로드한 .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 "$@"