컴파일하지 않고 최신 업스트림 버전의 ImageMagick을 설치하려면 어떻게해야합니까?


15

ImageMagick에 문제가 있었으며 Ubuntu의 기본 ImageMagick 패키지는 고대 버전 이므로 문제를 해결하려면 업그레이드해야한다고 들었 습니다.

어떻게해야합니까? 최신 Ubuntu 버전 (12.10)이 있습니다. 시냅틱은 나를 8:6.7.7.10-2ubuntu4최신 버전의 IM으로 보여줍니다 . 내 IM 버전 수단 6.7.7.10( convert --version동일한 출력한다). IM 은 deb 바이너리 자체를 제공하지 않습니다 . 데비안 에는 더 새로운 것이 있지만, 잘 이해하면 일부 테스트 / 실험 지점에 있습니다. Launchpad 에서 IM을 찾았 지만 소스에 추가하는 방법에 대한 지침이 없습니다. 최신 / 베타 소프트웨어를 검색 할 때 만나는 일반적인 PPA 중 하나가 아닌 것 같습니다. 이 작업을 수행하는 방법을 모르겠습니다.

일부 블리딩 엣지 소스 에서 가져 오도록 패키지를 표시 하고 나머지 시스템을 표준 소스에서 가져 오도록하는 방법이 있습니까? IM ( 6.8) 의 마지막 안정 버전으로 업그레이드하는 것이 가장 좋을지 모르지만 데비안에서는 제공되지 않으므로 공상 과학 일 것입니다. 그러나 나는 적어도 필요합니다 6.7.9.


참고 : 소스에서 컴파일하지 않으려 고합니다. 나는 무언가를 설치하고 apt-get시냅틱으로 쉽게 조작 할 수없는 것을 싫어 합니다. 또한 컴파일 된 프로그램에 대한 업데이트가 없습니다. 나는 항상 접착제, 전선 및 덕 테이프를 사용하는 것과 같이 시스템에 반대하는 느낌이 든다. 아니요, 확실하게 컴파일하고 싶지 않습니다.


새 버전을 얻는 가장 쉬운 방법은 실제로 새 버전을 패키징하고 관리자에게 업로드하는 데 도움을주는 것입니다. launchpad.net/imagemagick 팀에 가입 하거나 업스트림 작업을 권장합니다.
fossfreedom

훌륭하지만 우분투 / 데비안 패키징에 대한 지식이 전혀없는 Python 개발자이므로 DevOps / packaging / UNIX 관리에 더 가까운 사람들을위한 작업입니다. 오픈 소스 Python 라이브러리를 작성하여 세상을 도울 것입니다. :)
Honza Javorek

내가 컴파일하고 패키징하는 것 외에 다른 것을 볼 수있는 한 실제로 대답은 없습니다.
fossfreedom

컴파일하고 싶지 않다고 말했지만 관심이있을 수 있습니다 imagemagick.이 방법으로 기존 패키지와 그 종속성을 유지할 수 있습니다 . 당신과 구성을 실행할 수있는 --prefix=/opt프로그램을 컴파일하고 설치할 /optcheckinstall, 그래서 당신은을 통해 패키지로 컴파일 된 버전을 관리 할 수 있습니다 apt-get. 새 버전을 사용하려면 심볼릭 링크를 만들지 않는 한을 /opt/bin/convert실행할 때 를 지정해야 convert합니다. 어느 쪽이든 표준 패키지 버전과 컴파일 된 버전을 모두 유지할 수 있습니다.

1
글쎄, 나는 몰랐다 checkinstall. 올바르게 이해하면 컴파일 된 버전의 프로그램을 시스템에 설치 한 다음 Synaptic 등의 패키지로 표시해야하므로 나중에 안전하고 쉽게 제거 할 수 있습니다. 대단 할 것입니다!
Honza Javorek

답변:


18

참고 : Honza는 처음에 컴파일하고 싶지 않다고 말 했지만 checkinstall위의 주석에서 컴파일 된 패키지를 설치하는 방법에 대해 논의했습니다 . 패키지 관리자를 사용하여 설치된 다른 프로그램과 마찬가지로 설치된 프로그램을 제거 할 수 있기 때문에 Honza가 원했던 것 checkinstall입니다.


빌드 후 /opt사용 하도록 설치 checkinstall하면서 원래 imagemagick패키지를 그대로 둘 수 있습니다 . (실제로 리포지토리 버전이 설치되어 있지 않은 경우 설치하십시오.) 종속성은 설치된 상태로 둘 수 있으며 최신 버전과 다릅니다 imagemagick. 우리가해야 할 일은 우선 빌드 종속성과 다른 도구를 설치하는 것입니다.

sudo apt-get install build-essential checkinstall && sudo apt-get build-dep imagemagick

공식 사이트 에서 터미널을 사용 cd하여 소스 패키지가있는 곳 으로 소스 코드를 다운로드 하고 추출하십시오.

tar -xzvf ImageMagick-6.8.3-9.tar.gz

이제와 함께 해당 폴더로 이동

cd Imagemagick-6.8.3-9

이제 빌드에 사용 가능한 옵션을 찾으려면 다음을 실행하십시오.

./configure --help

그러나 대부분 모든 것이 이미로 설정되어 enabled있으므로 필요한 것 외에 추가로 지정할 필요가 거의 없습니다 --prefix. 다른 위치를 사용할 수도 있지만 /opt여기서 사용할 것입니다. 이제 실행 configure하고 make:

./configure --prefix=/opt/imagemagick-6.8 && make

이제 마지막으로 할 일은 checkinstall패키지를 설치하는 것입니다. Imagemagick-6.8.3-9폴더 에 있는지 확인 하고 실행하십시오.

sudo checkinstall

물론 다음 checkinstall과 같은 매개 변수로 실행 --pkgversion=하거나 실행할 수 있습니다 sudo checkinstall. 그러나 모든 기본값은 여기에서 좋습니다. 생성 될 패키지 이름이 호출 imagemagick-6.8.3-9되고에 설치됩니다 /opt/imagemagick-6.8.

이제 Synaptic다른 패키지와 마찬가지로 패키지를보고 관리 할 수 ​​있으며 제거해도 다른 패키지에 문제가 발생하지 않습니다.

새 버전을 실행하려면 /opt/imagemagick-6.8/convert예를 들어에 /opt있지 않은 것처럼 을 사용해야 $PATH하며 바로 실행 convert하면 repo 버전이 호출됩니다. 항상 /opt프로그램 버전을 실행하려면 일부 심볼릭 링크를 만들 수 있습니다 .

주의 사항 이 무엇이라고 Honza가 될 때까지 그가 처음 컴파일을 회피에도 불구하고 싶었다 checkinstall논의되었다.


감사합니다! 실제로 내 질문은 원래 "어떻게 최신 ImageMagick의 최신 업스트림 버전을 설치할 수 있습니까?"였으며, "컴파일 링 없음"부분은 fossfreedom 중재자 가 추가했습니다 .
Honza Javorek

1
올바른 경로 convert/opt/imagemagick-6.x/bin/convert입니다. 적어도 지금 설치 한 6.9.1 버전은 그런 식입니다. 경로가 없습니다 /bin/.
Rafal

빌드 종속성을 설치하려고 할 때 다음 오류가 발생 Unable to find a source package for imagemagick했습니다.. 이 방법으로 종속성을 설치할 수있었습니다 . 여기에sudo apt-get install imagemagick libmagick++-dev 자세히 설명되어 있습니다 .
bwroga

또 다른 이유 Unable to find a source package for imagemagick는 /etc/apt/source.list에서 deb-src 소스의 주석 처리를 제거하여 패키지를 찾을 수 있기 때문입니다.
Michael

참고, 내가해야 할 일을했을 ldconfigcheckinstall바인딩 업데이트하세요.
Joshua Pinter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.