Jak mogę zainstalować najnowszą wersję ImageMagick bez kompilacji?

15

Miałem pewne problemy z ImageMagick i powiedziano mi, że domyślny pakiet ImageMagick Ubuntu jest starą wersją i powinienem zaktualizować, aby rozwiązać moje problemy.

Jak mogę to zrobić? Mam najnowszą wersję Ubuntu (12.10). Synaptic pokazuje mnie 8:6.7.7.10-2ubuntu4jako najnowszą wersję IM. Oznacza to, że moja wersja wiadomości błyskawicznych jest 6.7.7.10( convert --versionwyświetla to samo). Komunikator internetowy nie zapewnia plików binarnych deb . Debian ma coś nowszego , ale w niektórych gałęziach testowania / eksperymentów, jeśli dobrze to rozumiem. Znalazłem komunikator na Launchpadzie , ale nie ma instrukcji, jak dodać to do moich źródeł, wygląda na to, że nie jest to jeden ze zwykłych PPA, które spotykam, szukając najnowszego / beta oprogramowania. Nie wiem jak z tym pracować.

Czy istnieje sposób na oznaczenie paczki, która ma zostać pobrana z niektórych najnowocześniejszych źródeł, i pozostawienie reszty mojego systemu do pobrania ze standardowych źródeł? Prawdopodobnie najlepiej byłoby zaktualizować system do najnowszej stabilnej wersji IM ( 6.8), ale prawdopodobnie jest to science fiction, ponieważ nie ma go nawet w Debianie. Potrzebuję jednak przynajmniej 6.7.9.


Uwaga: chcę uniknąć kompilacji ze źródła. Nienawidzę tego, że coś zainstalowałem i nie jestem w stanie łatwo nim manipulować za pomocą apt-getlub Synaptic. Ponadto nie ma aktualizacji skompilowanych programów. Zawsze kompiluję. Mam ochotę iść przeciwko systemowi, jak użycie kleju, drutów i taśmy z kaczką. Nie, nie chcę tego kompilować na pewno.

Honza Javorek
źródło
Najłatwiejszym sposobem na uzyskanie nowych wersji jest pomoc w pakowaniu nowej wersji i przesyłaniu jej dla opiekunów. Zaproponuj dołącz do zespołu launchpad.net/imagemagick lub najlepiej pracuj w górę.
fossfreedom
Byłoby miło, ale jestem programistą Python bez absolutnie głębszej wiedzy na temat pakietów Ubuntu / Debian, więc jest to zadanie raczej dla osób, które są bliżej zarządzania DevOps / Packaging / UNIX. Pomogę światu, pisząc biblioteki Pythona typu open source :)
Honza Javorek
Tak dalece, jak widzę, nie ma innej odpowiedzi niż kompilacja i pakowanie, stąd sugestia.
fossfreedom
Wiem, że powiedziałeś, że nie chcesz kompilować, ale może to być interesujące: Możesz zachować istniejący imagemagickpakiet i jego zależności za pomocą tej metody. Możesz uruchomić konfigurować za pomocą --prefix=/opt, skompilować program, a następnie zainstalować za /optpomocą checkinstall, dzięki czemu możesz zarządzać skompilowaną wersją jako pakiet poprzez apt-get. Jeśli chcesz użyć nowej wersji, musisz określić, /opt/bin/convertkiedy powiesz, że uruchamiasz convert, chyba że utworzysz jakieś dowiązania symboliczne. Tak czy inaczej, możesz zachować zarówno standardową wersję pakietu, jak i wersję skompilowaną
1
Cóż, nie wiedziałem o tym checkinstall. Jeśli dobrze to rozumiem, powinien zainstalować skompilowaną wersję programu w moim systemie, a następnie przedstawić ją jako pakiet w Synaptic lub mniej więcej, co oznacza, że ​​mogę go bezpiecznie i łatwo usunąć później. Byłoby świetnie!
Honza Javorek

Odpowiedzi:

18

Uwaga: Mimo że Honza początkowo powiedział, że nie chce się kompilować, omówiliśmy zastosowanie checkinstallinstalacji skompilowanego pakietu w powyższych komentarzach. Właśnie tego chciał Honza , ponieważ zainstalowane programy checkinstallmożna usunąć jak każdy inny pakiet za pomocą menedżera pakietów.


Ponieważ instalujemy do /optużywania checkinstallpo kompilacji, możemy pozostawić oryginalny imagemagickpakiet na miejscu. (W rzeczywistości zainstaluj wersję repozytorium, jeśli nie jest jeszcze zainstalowana). Zależności można pozostawić zainstalowane i nie różnią się one dla najnowszej wersji imagemagick. Musimy przede wszystkim zainstalować zależności kompilacji i niektóre inne narzędzia:

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

Pobierz kod źródłowy z oficjalnej strony i, używając terminalu, cddo miejsca , w którym znajduje się pakiet źródłowy, i wypakuj go:

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

Teraz przejdź do tego folderu za pomocą

cd Imagemagick-6.8.3-9

Teraz, jeśli chcesz znaleźć dostępne opcje kompilacji, uruchom

./configure --help

Jednak w większości wszystko jest już ustawione enabled, więc nie ma potrzeby precyzowania niczego poza koniecznością --prefix. Możesz użyć innych lokalizacji, ale my skorzystamy /opttutaj. Teraz uruchom configurei make:

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

Teraz ostatnią rzeczą do zrobienia jest użycie checkinstalldo zainstalowania pakietu. Upewnij się, że jesteś w Imagemagick-6.8.3-9folderze i uruchom

sudo checkinstall

Możesz oczywiście uruchomić checkinstallz parametrami takimi jak --pkgversion=lub wybrać je po uruchomieniu sudo checkinstall, ale tutaj wszystkie ustawienia domyślne są w porządku. Nazwa pakietu, który zostanie utworzony, zostanie wywołana imagemagick-6.8.3-9i zostanie zainstalowana w /opt/imagemagick-6.8.

Będziesz teraz mógł zobaczyć pakiet Synaptici zarządzać nim tak jak wszystkie inne pakiety, a usunięcie go nie spowoduje problemów z innymi pakietami.

Jeśli chcesz uruchomić nowe wersje, musisz /opt/imagemagick-6.8/convertna przykład użyć tego , czego /optnie ma $PATH, a samo uruchomienie convertwywoła wersję repo. Możesz utworzyć dowiązania symboliczne, jeśli chcesz zawsze uruchamiać /optwersję programów.

Zauważ, że tego właśnie chciał Honza , chociaż początkowo nie chciał kompilować, dopóki nie checkinstallzostał omówiony.

Społeczność
źródło
Dziękuję Ci! Właściwie moje pytanie było pierwotnie „Jak mogę zainstalować aktualną najnowszą wersję ImageMagick”, część „bez kompilacji” została dodana przez moderatora fossfreedom , prawdopodobnie po przeczytaniu mojej notatki na końcu mojego pytania.
Honza Javorek
1
Właściwą ścieżką do convertjest /opt/imagemagick-6.x/bin/convert. Przynajmniej tak jest w przypadku wersji 6.9.1, którą zainstalowałem teraz. Brakuje twojej ścieżki /bin/.
Rafał
Mam następujący komunikat o błędzie podczas próby zainstalowania zależności produkcji: Unable to find a source package for imagemagick. Mogłem zainstalować zależności w ten sposób: sudo apt-get install imagemagick libmagick++-devjak wyszczególniono tutaj .
bwroga
Innym powodem, dla którego możesz zobaczyć, Unable to find a source package for imagemagickjest potrzeba odkomentowania źródeł deb-src w /etc/apt/source.list, aby znaleźć pakiet.
Michael
Uwaga: musiałem zrobić ldconfigpóźniej, checkinstallaby zaktualizować powiązania.
Joshua Pinter