On 6/7/24 06:53, Rody wrote:
> Hi everyone,
>
> Trying to prepare myself to get command line geoip lookups working. Running
> 13.3-RELEASE-p1 of freebsd. It seems the pkg libmaxminddb is installed by
> default but missing the tools to access the data.
Which tools are missing? My understanding is it is a library for
accessing the database files once they are downloaded. There are no
special options to that port (just documentation related) so installing
from pkg or ports should give identical results for available tools and
capabilities. Once you have a ports tree, you can check the options of
that port with `cd /usr/ports/net/libmaxminddb;make showconfig`.
https://www.freshports.org/net/libmaxminddb/ section "This port is
required by" can help get an idea of other ports using this port; it
only includes direct dependencies and does not handle dependencies that
could be changed by changing options in ports.
net/geoipupdate is a port that handles fetching the geoip2 databases. It
is written by maxmind though it is in go instead of c and seems to have
much more going on for inner workings. If the c version from the forums
works in beneficial ways over the maxmind copy then maybe it could be
made into a port for more users to benefit. There have been various
changes to libmaximdb since that post in 2019 that should be reviewed
for compatibility.
> The following page tell what to do to get started with ports:
>
https://docs.freebsd.org/en/books/handbook/ports/
> And tells me that if ports was not installed during install, I should use a
> series of commands to use git.
>
> Not sure if ports was indeed installed or not during install. Any way to find
> out?
if `ls /usr/ports` is missing/empty then you didn't install it from the
installer (or moved it); you can get a ports tree and also later update
the ports tree with git.
Portsnap is removed from 14+ though it is still present in
/usr/ports/ports-mgmt/portsnap. Reading its makefile I see
DEPRECATED= portsnap infrastructure will be removed after the EOL of
13.x
EXPIRATION_DATE=2026-04-30
which tells me the present plan is you would be learning a dead end; it
will remain a viable option to you until upgrading off of 13. The
cyberciti.biz article covering portsnap form base for FreeBSD14 when
updated last month is a bug in that article; its title should remove 14
or it should include git instructions. The article's content explains
its steps only got to 13.
https://www.freebsd.org/releases/14.0R/relnotes/ section about portsnap
makes that clear for FreeBSD 14+.
> Still, it seems the database was already installed automatically using pkg so
> it should probably be deleted prior to starting with ports?
Ports is the instructions to build and install software. Its install are
registered as an installed package and the tree is used within a clean
environment to build the official packages. If you need to change build
options or need a version that is not in the pkg repo but is in a
newer/older ports tree then you could build it yourself but otherwise
the pkg installed version should be the same.
> I imagine the geoiplookup tool is only a tiny binary and requires a lot of
> work to get it installed this way, or am I missing something?
The ports tree is a collection of 'how to make it work' steps,
changes/fixes, etc. so getting an entry there is usually how it is made
easier for FreeBSD users. As for documentation, you tried to follow it
from multiple places to solve the problems as they arise which usually
complicates things. Unless there is a known bug, I'd defer to what is in
the handbook and other official FreeBSD documentation over what is in
internet blogs and forums when available. The handbook and similar
documents receives updates and tries to represent how things are
currently working for what they cover; though not perfect, it is usually
better than words of a random individual and more up to date than places
where there may not be an 'edit' button later.
> Rody
>
>