Osmosis installation is usually quite straightforward and lightweight. Osmosis is only a small command line tool after all, however it does require java on your system. This page gives instructions for installing osmosis on different operating systems as well as general information on #environment variables and config files
|Osmosis is light maintenance mode. See the announcement 1 and announcement 2 on the mailing list.|
Installing pre-built Osmosis
|osmosis has moved to the following location: https://github.com/openstreetmap/osmosis/releases|
wget https://github.com/openstreetmap/osmosis/releases/download/... (check https://github.com/openstreetmap/osmosis/releases for the URL to the latest release) mkdir osmosis mv osmosis-latest.tgz osmosis cd osmosis tar xvfz osmosis-latest.tgz rm osmosis-latest.tgz chmod a+x bin/osmosis bin/osmosis
If you use Arch Linux you can install Osmosis via AUR package: osmosis.
Building from source
Building Osmosis from source currently requires at least Java Development Kit 1.6 (see Osmosis#Notes for details), Junit, ant, and ant-optional.
cd ~/src git clone git://github.com/openstreetmap/osmosis.git cd osmosis ./gradlew assemble
Osmosis does not build with 'ant' anymore. Please see the readme file for usage with gradlew.
The compiled package can then be run:
For up-to-date instructions, see the readme file.
Osmosis is in Debian since the Squeeze release, actually in 0.34 version. If you use debian stable, testing or sid you can install osmosis as simple as:
apt-get install osmosis
macOS Mojave (10.14)
Latest stable version (0.47 at the time of writing, Feb 2019) works fine out of the box, once a symbolic link to the osmosis executable has been created into a directory in the PATH.
$ PATH=$PATH:~/bin $ ln -s ~/opt/osmosis/bin/osmosis ~/bin
The first line should be put into ~/.bash_profile configuration file, so that the addition of directory ~/bin to the PATH becomes permanent.
OS X 10.5 or earlier
Running osmosis on Mac OS X 10.5 requires switching the Java framework to 1.6 (from the 1.5 default) by setting the shell variable JAVACMD before executing osmosis. This works on 2007 MacBook Pro Dual Core 2.44MHz and later.
export JAVACMD="/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java -Xmx128m"
Alternative: Installation instructions for OS X 10.5 are same as above, except with the caveat that Java 1.6 is currently only supported on 64-bit Intel machines. You could try SoyLatte instead.
Package manager homebrew has a 'recipe' for osmosis. To install the latest stable version, do
brew install osmosis
Please notice that mapsforge plugin map-writer 0.9+ requires Osmosis 0.46+. At the time of writing (Feb 2019) the Homebrew recipe provides older version 0.45.
Environment variables and config files
Things may well run OK without changing the defaults, but you can configure JVM Options and other osmosis defaults by setting environment variables which are picked up by the bin/osmosis script (tacked on to the java command which is invoked there)
- JAVACMD - The java command to launch osmosis.
- JAVACMD_OPTIONS - The options to append to the java command, typically used to modify JVM settings such as max memory.
- OSMOSIS_OPTIONS - The options to apply to all osmosis invocations, typically used to add plugins or make quiet operation the default.
To set an environment variable in the scope of your current terminal, just do a command such as:
(This example will bump up the amount of available memory for Java up to 2GB. See Osmosis/Tuning for details)
But if you want to save this so that it happens every time you run osmosis, put the command in a config file. The start-up script looks for a config file at a couple of different possible locations:
- /etc/osmosis - (no file extension) This applies to all users on a *nix system.
- ~/.osmosis - (no file extension) This applies to just your user on a *nix system.
- %ALLUSERSPROFILE%\osmosis.bat - This applies to all users on a windows system.
- %USERPROFILE%\osmosis.bat - This applies to just your user on a windows system.
Fo example if you want to set the memory and the temporary file use you may enter this line into the config file:
export JAVACMD_OPTIONS="-Xmx2G -Djava.io.tmpdir=/mnt/database/tmp/"