Linux에서 소프트웨어 업그레이드

Linux에서 소프트웨어 업그레이드

업그레이드해야 하는 zlib라는 프로그램이 있습니다. 이전에 다운로드한 적이 없기 때문에 Ubuntu와 함께 제공되는지 의심됩니다.

일반적으로 다운로드하고 컴파일하기만 하면 되지만 다른 도구(vcftools)에서 사용하므로 로컬에 설치할 수는 없습니다. 나는 둘 중 하나가 필요하다고 생각합니다

  1. 새 버전의 zlib를 어딘가에 설치하고 시스템에 내가 설치한 폴더에서 zlib를 찾도록 지시합니다. zlib가 이전 버전과 호환된다면 괜찮을 것입니다.

  2. 현재 버전을 업그레이드하세요(그러나 sudo apt-get install을 실행하면 최신 버전이 있다는 메시지가 표시됩니다).

어떻게 해야 하나요? 감사해요.

답변1

내 생각엔 당신이 상황을 좀 혼란스럽게 하고 있는 것 같아요. zlibUbuntu 시스템에 로컬로 설치된 또 다른 패키지입니다. 먼저 Ubuntu/Debian 리포지토리 중 하나에 zlibUbuntu/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.

그래서 해당 특정 버전을 사용 중이거나 사용 가능한 최신 버전이 없습니다.

또 다른 방법

최신 버전의 zlib1.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 "$@"

관련 정보