Automatically fetching GeoIP "free" databases
==============================================
On January 2, 2019, Maxmind, the company behind the geoip database,
discontinued the GeoLite Legacy databases, which are no longer
available for download.
(https://support.maxmind.com/geolite-legacy-discontinuation-notice/)
Free geolocation data is still available through the GeoLite2 databases.
However, due to some legal changes
(https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/)
starting December 30, 2019, the Geolite2 database users are required to
register for a MaxMind account and obtain a license key in
order to download GeoLite2 databases.
The following packages are introduced to work with the new database format
and distribution:
libmaxminddb is the library for working with the geolite2 format. It doesn't
download any data, just works with a local .mmdb database.
geoipupdate is the official Maxmind's tool for downloading the
geo database. Users need to fill in its configuration file with their
Maxmind account details. It's possible to generate the entire config
from the Maxmind web page, once one has an account.
geolite2legacy is a script for converting geolite2 data to the old
geoip format. Accepts only the CSV format as input.
We also ship a geoipupdate-legacy subpackage, which is a wrapper around
geoipupdate. It downloads the data and converts them to the old format
using geolite2legacy. The data will be stored at the usual place
(/var/lib/GeoIP), so this should be transparent to existing applications.
It's basically a re-implementation of geoip-fetch which was shipped
within GeoIP package (but no longer works).
How to get the latest GeoIP data
================================
(1) Register a MaxMind account at https://www.maxmind.com/en/geolite2/signup
(2) Fill in the account information in /etc/GeoIP.conf
(3) Install geoipupdate package
# zypper in geoipupdate
(4) Download the latest GeoIP data
# geoipupdate
Local libmaxminddb is up-to-date and packages are to work with the geo data.
Optional:
(5) Install geoipupdate-legacy package
# zypper in geoipupdate-legacy
(6) Download and export the data to the old format
# geoipupdate-legacy
Local GeoIP database is up-to-date and packages are ready to work with
the new geo data using the old GeoIP library.
Tips
====
These databases can become out-of-date quite quickly unless
the user manually fetches and replaces them regularly.
Maxmind generally release updates every couple of weeks.
Script can be called manually (as root), but the best solution is to add
a crontab entry or a systemd timer such as the one shipped with the package.