jails and loopback IPs

Jails on DragonFly can now route to loopback addresses (i.e. 127.0.0.1).  Because of this, they can work like shared IPs and the jail can connect to the host.

I think this means that you no longer have to bind jail services to specific IPs as you did previously.  Don’t quote me on that; I’ve run few jails in my life.

Update: I should have linked this too: the sysctl jail.defaults.allow_listen_override that makes it easier in the host system too.

Lazy Reading for 2020/03/15

Again, dumping out all the links I can in case you are stuck at home.

Your unrelated music link of the week: Hannibal Rex – The One Hundred & Forty Faces Of?.?.?.  Has the same drive as early Mix Master Mike, to my ear.  (via)

Lazy Reading for 2019/12/29

There’s several accidental themes fighting it out this week.

Your unrelated music link of the week: Cosey Fanni Tutti ?– Tutti.  Found via Ted Gioia’s Best 100 Albums of 2019, which was discovered via Conversations with Tyler.  There, now you definitely have enough to listen to until 2020.

Lazy Reading for 2019/09/08

This week is a nice mix between useful and entertaining.

pkg and pkg-static

If you upgrade DragonFly and one of the shared libraries used by pkg gets updated, you can’t run pkg until you get files, but pkg is the program you use to bring in new files.  This chicken-and-egg problem is solved with pkg-static, a version of pkg built without shared libraries.

You may have noticed some format flip-flopping between pkg and pkg-static if you had to run it after the most recent DragonFly upgrade; that is fixed.  There’s a larger issue of certificate installation identified there; I don’t know a solution to it, but I do want to mention this for next time pkg breaks for someone – pkg-static will work as backup, including to bring in a new version of pkg.

DragonFly, mysql, ipv6, and defaults

I am posting this so it can help someone else, someday.

I have a DragonFly-5.4 system.  I installed mysql56-server, and started it up.  By default, it listens on “*”, which meant it listens on a local socket and IPv6 ::1 – not 127.0.0.1.

2019-06-04 13:35:03 15833 [Note] IPv6 is available.
2019-06-04 13:35:03 15833 [Warning] Failed to reset IPV6_V6ONLY flag (error: 45). The server will listen to IPv6 addresses only.

I put bind_address=127.0.0.1 into my.cnf to get IPv4 loopback to work.   Local socket connections still worked either way.  I’m not using IPv6 on this machine, so this solution works in this situation.  I’m not sure my mysql decides to go only IPv6 based on a strange flag, but mysql is reliably unreliable.

part-by-label: an additional benefit

Remember the commit that autocreates human-readable disk device names under /dev?  (Here’s a reminder.)  It’s now in 5.4 – technically, since 5.4.2.  Anyway, it will automatically identify the root USB disk when you boot from a USB .img file, so you no longer have to guess which /dev/daX file it was – usually da8 but sometimes you got a surprise instead.