0

I am trying to update ImageMagick on my EC2 server. I'm not sure how to do that with a command so I just wanted to upload my local copy which is the version I need to replace the current version on there. I thought I had found it but when I updated the files it did not change the version or give me access to the updated delegates I need.

Does anyone know the location ImageMagick gets installed to when it is first downloaded to the server?

Also, is there a configuration file I need to change to have it look for a new version? I assume there is something that provides the info to something like convert -version but I am a real system admin beginner and I am not sure how to debug these kinds of things to find them.

The EC2 set up is Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-1117-aws x86_64)

  • I also checked to see if imagemagick was an available upgrade because there are some upgrades available but it is not listed so it looks like I need to upgrade this manually anyways.
rockwell
  • 103
  • 4

1 Answers1

1

Just uploading your local version will likely not work at all or cause bugs. The imagemagick package is compiled for specific versions of its dependencies:

Build-Depends: debhelper (>= 9~), pkg-config, libltdl-dev, dh-autoreconf, chrpath, libfftw3-dev, liblcms2-dev, liblqr-1-0-dev, libfreetype6-dev, libfontconfig1-dev, zlib1g-dev, liblzma-dev, libbz2-dev, libx11-dev, libxext-dev, libxt-dev, ghostscript, libdjvulibre-dev, libexif-dev, libjasper-dev, libjpeg-dev, libopenexr-dev, libperl-dev, libpng-dev, libtiff-dev, libwmf-dev, libpango1.0-dev, librsvg2-bin, librsvg2-dev, libxml2-dev, pkg-kde-tools, dpkg-dev (>= 1.17.6)

That information is included in the dsc file of the package. You can find the link to it here. You can use which convert to print the path to the binary. But as said just copying your local version over there would probably not work. You can ensure that you have the latest version your distribution provides installed by executing apt-get update && apt-get install imagemagick. Use convert --version to print the installed version. The proper way to get a more up to date version would be to upgrade the whole system. Another option would be to compile imagemagick yourself.

The package overview includes a filelist with all the files and its paths installed by the package. In this case only the path to the executable seems relevant to me. What you could try is copying the convert binary to something like /opt/bin/convert and add /opt/bin to the front of the $PATH variable. That way when convert is executed the system will first look for convert executable under /opt/bin and use your copied version. That way you can get a more recent version without messing too much with the rest of the system.

Henrik Pingel
  • 8,676
  • 2
  • 24
  • 38
  • Thanks for you answer. This really helped. I'm still working through the upgrades (had to do two) but this helped me get the ball rolling, really appreciate it! – rockwell Nov 05 '20 at 01:21