Thanks to a reminder from IRC user ‘cgag’, I’ve put an uncompressed ISO image of DragonFly 4.6 up on the main site. It’s linked on the download page, and should be available within 24 hours on the mirrors. If you are buying service from a virtual host provider, and can install an operating system directly from a downloadable URL, this is for you.
Category: Someday you will need this
Off-the-beaten-path links this week. Strap in!
- The Superbook: Turn your smartphone into a laptop for $99. (via)
- Magnetic core memory reborn. (via)
- Countering Lawful Abuses of Digital Surveillance – Bunnie Huang.
- Why I’m Suing the US Government – also Bunnie Huang.
- Old, special phone numbers. I’ve used 800-444-4444 a lot when tracing lines.
- The Wanton Role-Playing (WaRP) and Mini-Six game systems. (via)
- Brief interviews with very small publishers. (via)
- Falsehoods Programmers Believe About Names. (via)
- Falsehoods Programmers Believe About Phone Numbers. (via previous and here)
- A Practical Guide to (Correctly) Troubleshooting with Traceroute. A PDF, and infinitely useful. (via)
- I Can’t Believe I’m Saying This, But I Miss My CDs. (via I lost it, sorry)
- This used to be Ethernet. (via)
- turn up the hope (report from the HOPE convention from Ted Unangst)
- VimGIFs. (via)
- HyperTerm, an open-source in-browser terminal emulator. (via)
Your unrelated animated GIF of the week: Permanent Wink.
A useful tip: if your DragonFly machine isn’t usually on 24/7 (e.g. a laptop, not a server), you should move your Hammer cleanup from 3 AM to sometime when the computer is normally on.
karu.pruun shares a story of manually installing DragonFly on a UEFI-booting machine. In this case, it’s a Macbook, though there’s other non-fruit UEFI machines out there?
This is limited to some users of specific Intel video chipsets, but: if you get odd screen artifacts in X, the ‘vesa’ driver may work just fine for you. Or turn acceleration off. Or set ‘drm.i915.enable_execlists=0’ according to zrj on #dragonflybsd.
(Updated to reflect all the answers in the thread and elsewhere.)
There are USB devices out there that are sort of like a mouse, as in they work as a pointing device, but they don’t show up as a mouse device. For example, the PowerMate USB Multimedia Controller. It’s possible to pipe the events from this or similar ‘weird’ devices to sysmouse, and use it the way you’d expect, with this fix from user tautology.
Did you know there’s a rescue image, created with crunchgen, in DragonFly? If your system can boot to single-user mode, you can use it to at least manipulate data on disk – it includes mined as a simple small editor. (Since vi assumes /usr is mountable.) This rescue image now includes undo, so you can back out changes on a Hammer volume.
If you get “libGL error: failed to open drm device: Permission denied” when using direct rendering, make sure to add your user id to the ‘video’ group.
If you are on the Skylake series of processors, and also running xorg on DragonFly, pick ‘uxa’ video acceleration. Andrew Slaughter found this made a significant different in visual quality.
If you’re on DragonFly, or maybe even if you aren’t, and you are using NFS, here’s some tips on how to wring the best performance out of it.
I’ve finally used up my Lazy Reading links backlog!
- Hand-crafted containers. A good explanation of how containers are set up, and a certain sense of deja vu for anyone familiar with BSD jails. (via)
- Punctuation in Novels. I like seeing the conversion of data from text to image. (also via)
- Overclocking an old IBM 701. The butterfly keyboard model. (via)
- Accurate CRT Simulation. (via)
- RS-232 for Commodore PET and Dialing a BBS Over WiFi. (via)
- tmux2html: “Render full tmux windows or individual panes as HTML.” (via)
- MobaXterm – all-in-one SSH/X client. Anyone use this vs. PuTTY?
- Documentation is for the weak.
- A Brief History of ClarisWorks. Back when office packages were actually light. (via)
- Dwarf Fortress’ creator on how he’s 42% towards simulating existence. (via)
- Debian ships very outdated packages. It frustrates upstream creators. The response from most people misses the point, but the maintainer at least has a sane response. (via and via)
- Ubuntu on Windows. I think it’s less “Let’s use Linux” and more “Apple’s UNIX tools get everyone to buy Macbooks, let’s try that.” It unfortunately does not do anything (yet?) with process control or user authorization or other things you would actually need. Related: GNU/kWindows. (via).
Your sort-of off-topic link of the week: Michael W. Lucas’s fiction is, for a short time, part of a larger book bundle which is available for less than the price of buying it all individually. Buy now if you want a deal/lots of fiction to read.
I keep posting about Sepherosa Ziehau’s work on sustaining extremely high traffic loads in DragonFly. Now I’m posting about a tool to create that load: kq_sendrecv. It creates tens of thousands of TCP connections, without creating a process for each, and uses kqueue, as you might guess from the name. This may be useful if you really want to tax another system.
This is actually overflow completely from previous weeks. I am not sure how I am ending up so far ahead on these but not the Saturday BSD items. As long as it shows up on the expected day, I suppose it works out.
- Tcpdump is amazing. (via)
- A Collection of Dice Problems. PDF format. (via)
- Sending email in 1984. Video. (via)
- Copperhead, a Life spaceship, which is a new concept to me. (via)
- The Powerful Emotional Pull of Old Video Games. (via)
- Digging a Little Deeper: Dwarf Fortress, Fantasy Tropes, and World Building. (via)
- Open source tax credits. That would have saved me some money in recent years.
- Can we save the open web? (via)
- insane chown posse (via)
- Preparing for Production of The Essential Guide To Electronics in Shenzhen. Seeing the physical process is neat.
- SQLite with a Fine-Toothed Comb
- Open-access CACM articles. This will keep you busy for a while.
- Nerd Fonts.
- Orgmode for Sublime Text 2 and 3. (via)
Your kinda-unrelated item for the week: Butterfly Stomp, Michael W. Lucas’s free short story. He writes fiction when he’s not writing BSD books.
Garbage 18 is out, and talks about the hardware in the title – and also goes into tethering between Android and OpenBSD, which I am sure someone will find immediately useful.
If you find yourself using gpt and disklabel64 for a new disk, and aren’t quite sure what order to type everything in to create a disk slice, why not crib from Tim Darby’s notes? (note that the archive has added some line breaks to it.)
I see this bite people irregularly over the years: if your default shell on login can’t run, what do you do? I’ve seen it happen because of a missing /usr/lib, and it can happen with out-of-date library references, too. There’s several different ways to deal with it:
- Run a shell that can’t have this problem, like /bin/tcsh (the root default).
- Or, rebuild in single-user mode from the console.
- Or, perform the bullet-proof upgrade.
That last one may be useful if your dports setup gets mangled, somehow – though ‘pkg upgrade’ has always worked for me.
For those of you looking to rent a place to run DragonFly, Nuno Antunes has very helpfully written out his procedure for installing DragonFly on a Digital Ocean ‘droplet’.
Another week where there’s so much to link to, it overflows into next week.
- Inaugural SemiBUG meeting notes. Next meeting is December 15th, with Josh Grosse presenting on bulk package builds in OpenBSD.
- Yahoo and FreeBSD (1997). For those who enjoy correlation without clear causation, there’s a relationship between Yahoo’s fortunes as a company, and reducing their usage of BSD. (via)
- “…I use BSD for my websites for a reason.” Similar material sprinkled through the comments. (via)
- What are some active BSD-focused blogs or news sites you follow? My answer’s in there.
- Setting color temperature.
- Try to make Graylog2 working on FreeBSD (and failed)
- Various options for presentation software on the BSDs. (Follow thread)
- rough code and working consensus, working in a group at the recent u2k15 hackathon.
- Speaking of which, one more u2k15 report.
- NetBSD machines at Open Source Conference 2015 Tokushima.
- Samba QoS? (FreeBSD)
- DiscoverBSD for 2015/11/16.
- OPNsense 15.7.19 Released.
Imre Vadász fixed top so that hitting ‘c’ filters displayed processes by command name. I am mentioning this not because it’s a huge change, but because I forget about all the interactive elements that are possible with top.
This is the week for entertainment, not deep thought.
- Not Even Close: The State of Computer Security (with slides) – James Mickens. I am always up for more Mickens. (via)
- Ferrolic. A sort of dali clock in real life, except crazy expensive and fragile.
- Inside The Machine, midcentury graphic images of computing.
- 80s computer hacking: a supercut. Here’s some good discussion. (via)
- Everything is turning into a service mediated by other companies. Everything. (via many places)
- Amiga 30 and the Unkillable Machine. (via)
- Touching the Internet, a story about MAE-East. (also via)
- The Big List of Naughty Strings. Good for testing input. (via)
- “Means Well” Technology and the Internet of Good Intentions. (via)
- Illuminascii, stretching the definition of roguelike.
- An excerpt from the new book Dungeon Hacks. (via)
- The Name Game: Rebranding the Roguelike. (also via)
- A Brief History of Character Codes. Relevant for all the locale work going into DragonFly right now. (via)
- “RegEx match open tags except XHTML self-contained tags“. See first answer. (via)
- The 8th Underhanded C Contest is now open. (via)
- The ARM processor architecture: Somebody else’s introduction.
- CSVfix. This will be handy to someone.
- Cameron’s World. A concentrated dose of Geocities. (via)
If you are sure you don’t need to look at your boot menu for very long in DragonFly, you can make it zip by quickly.
NYCBUG is having a chronologically appropriate speaker: Steven Kreuzer, talking about the Precision Time Protocol. It’s 6:45 PM (EDT) tonight, at the Stone Creek Bar & Lounge in New York City.
DragonFly builds two compilers by default. If you weren’t interesting in building both, there were switches to build only the default, like NO_GCC47. This changed with every compiler update.
With the switch to GCC 5, the new switch is “NO_ALTCOMPILER”. That will last through compiler changes. I’m mentioning this now because sooner or later, you’ll want to gain back some time on a buildworld.
I have had trouble with my daily/weekly periodic reports never making it to my GMail account. Sascha Wildner pointed out to me that periodic.conf has its own answer already:
… and newsyslog is already set to take care of them. There’s more in the periodic.conf man page.
John Marino’s written an extensive page about wireless and DragonFly, on dragonflybsd.org.
It’s been a quiet week in BSD-land, at least in terms of me finding links.
- “I know BSD isn’t secure because I can’t install Norton.“
- “Oops” and there’s D-Link DIR-655 support in FreeBSD.
- The ata driver in FreeBSD is
removedmodified. (see comments)
- Steam available on PC-BSD. Old news, but always good.
- service(8) now available in NetBSD too.
- How to check out older revisions of pkgsrc packages.
- Tips on a DB9-RJ45 serial cable for Sun hardware, from OpenBSD.
- URL blacklisting in OpenBSD.
- lmc(4) and san(4), removed from OpenBSD.
- RFC7427 support in OpenBSD.
- DiscoverBSD for 2015/03/23.
If you’re looking to change your DragonFly system’s keymapping to support a non-US character set, use this users@ post from Adolf Augustin as a cheat sheet to make all the right changes.
The other day, I updated some packages using pkg. The default version of PHP went from 5.4 to 5.6. I ended up doing what /usr/dports/UPGRADING says and making a list of all PHP packages on my system, before removing PHP and its dependencies. I then reinstalled the packages that used PHP, bringing the needed packages back in at the right version. pkg 1.4 didn’t handle the transition cleanly, unfortunately. I also had to specify mod_php56 because pkg was trying to get the 5.4 version despite it not being default.
None of these are insurmountable problems, but it never hurts to be forewarned. pkg 1.5 is on the horizon and may have an easier time with sorting these types of dependency/version changes. This may apply to FreeBSD in addition to DragonFly.
If you have a HDMI-connected monitor, but no sound, this trick about increasing available memory may help.
John Marino has written up an extensive how-to for slider, the history tool for Hammer filesystems, including screenshots.
For whatever reason, I’ve seen several people in the last week or so have mouse problems on install, and they were often solved by running moused. So, there’s your little reminder.
John Marino has created something very useful: a graphical tool for Hammer file history. It’s called ‘Slider’, and it uses curses to work in a terminal. It shows historic versions of files and can restore those old versions as needed. This was already possible in Hammer, of course, but it required a sequence of commands that were not straight-forward. I’ve been slow enough posting it that version 2.0 is already out, offering a way to see files that no longer exist, but are still in history. (i.e. deleted some time ago) ‘Time Machine’ sounds like the best name, but that seems to be taken.
One way to keep file history on an very active Hammer disk from eating up all the space: more snapshots. This may seem counterproductive, but disk pruning eliminates historical data between snapshots, so you can keep older data at the cost of some temporal accuracy.
From a question about mixing in a SSD and a very slow disk: swapcache can make things better, though I suggest other crazy arrangements.
Get ready for some reading.
- There’s some packages moving from pkgsrc-wip to pkgsrc proper.
- pkgsrc-2014Q4 branching is planned for Monday the 15th.
- PC-BSD now has an automatic package/security patch upgrade mechanism.
- Steam on PC-BSD. Holy grail, there.
- PC-BSD needs testers for the new Update Manager, for moving from 10 to 10.1
- NetBSD has imported BIND 9.10.1-P1.
- OpenBSD has added skgpio(4), a driver for the Soekris net6501 GPIO port and LEDs.
- OpenBSD has updated Unbound to 1.5.1.
- Some Japanese input methods for OpenBSD that may work on other BSDs, too.
- pfqstat, a replacements for pfstat designed to work with Charted.
- I don’t know what the ‘BERI Virtio Networking Frontend’ is, but FreeBSD’s got it.
- fstyp(8), the filesystem detector.
- FreeBSD has added AES-ICM and AES-GCM modes to OpenCrypto.
- If you’re stopping in NYC, NYCBUG would like to hear you talk on a topic of interest.
- The case for distributed operating systems in the data center. Sounds like DragonFly’s original charter. (via)
- BSDNow wants to hear your getting-into-BSD story.
- OpenBSD libc version 78.
- There’s a lot of FreeBSD systems at NYI.
- “FreeBSD Mastery: Storage Essentials” is now in physical print.
- “Networking for System Administrators” is next to come out.
- And “Tarsnap Mastery” is next to be written.
- …We’re all benefiting from Michael Lucas going full-time on writing.
It’s possible, if you are several releases (years) behind, to end up with a DragonFly system that can’t compile and install the current release, due to incremental changes over time. It’s rare, but it could happen now between, say, version 3.4 and 4.0. The usual solution would be to incrementally upgrade in order, which is a lot of building and updating. The alternative is the new installworld-force option from Matthew Dillon that forces a new set of binaries into place. Use as a last resort.
This page, Varialus et Anisoptera, set up by… I’m not sure of the real name but it’s ‘varialus’ on IRC – has a detailed description of the DragonFly install process and installation of MATE, plus extra notes. I always find these sorts of cheatsheets entertaining.
Predrag Punosevac posted his writeup of using LDAP and DragonFly, which I’m noting here for the next person that needs LDAP authentication.
It seems pkg 1.3.6 was slightly scrambled. If you happen to have built and installed it, John Marino has special instructions on how to update to 1.3.7. If you are on DragonFly 3.8, you can follow those instructions now, and if you are on 3.9, that repo should be ready for an update in the next few days.
You should perform a full world and kernel install if on master.
Several people (including me) have been getting bit by a problem: when performing an installworld with a changed kernel, the vn kernel module is loaded, but it was built by the previous kernel and may cause problems when it doesn’t match up.
To fix that, vn is now built in, instead of being a separate module. The rescue initrd (which is what is being mounted when it has this problem) is now installed via a ‘make rescue‘ command that can wait until a successful installworld and reboot.
If you have a DragonFly system with an iwn wireless chipset, and you are having trouble connecting and running in the 5Ghz part of the spectrum only, here’s a tip: the -ht switch may fix it.
While Matthew Dillon was testing the new up-to-256-processor support for DragonFly, he added a few sysctls, one of which helps qemu performance when emulating a lot of processors. I note it here in case it’s helpful to someone else.
A note for everyone: use Hammer default on a very busy filesystem, and you will eat a lot of disk space since all file changes are recorded. (I’ve done this to myself a few times.) Francois Tigeot has a list of tips on how to keep that from happening.
O’Reilly is running a 50% off special on a variety of books on electronics, with coupon code WKECTRC. I’m posting it now because it only lasts for this week.
Update: another offer just popped up in my email – 50% off various “web performance and operations” books with the code CFVLTY4.
If you’re building ports, it will treat OpenSSL as a dependency and bring in whatever version is available. If perhaps you want to use the version of OpenSSL installed as part of your base system, Robin Hahling has the answer for how. (This probably works on FreeBSD too.)
Remember the joke I and probably a zillion others made about OpenOpenSSL? It’s happening, except it’s called LibreSSL. (thanks, Tomáš Bodžár)
If you noticed the lack of a GUI DVD image for the 3.6 release of DragonFly, I posted a followup note on the users@ list that talks about the steps to get X installed. It’s not much work, with pkg set up.
There’s been periodic commits updating the USB4BSD support in DragonFly; I haven’t been linking to them because they are generally incremental. However, it’s good to (re?)mention just how you can build DragonFly with that new USB support.
Recent updates to tzcode apparently fixed a long-standing time zone bug in DragonFly. POSIX says the America/New_York timezone is picked as default if nothing else has been selected. That didn’t happen in DragonFly – until recently. If your timezone seemed to suddenly jump to U.S. Eastern time, that’s because you never picked before.
I didn’t post this before, and should have: Matthew Dillon posted a summary of all the trackpad improvements he added, and how to make use of the various features.
There’s a lot this week, so let’s get started:
Unix: 14 things to do or stop doing in 2014. These tips are actually useful and contain no buzzwords.
TrewGrip, another item in my quest for interesting keyboards I don’t use.
4043 bytes to recreate a mid-80s IBM PC. There are less bytes of data in the program than there were transistors in the CPU that it emulates. It can run MS Flight Simulator. It was for the International Obfuscated C Code Contest, which should surprise you not at all. (via)
The World’s Most Pimped-Out ZX81. I don’t think it can run Doom, though.
Technology used to suck even when it was cutting-edge, and we’ll still feel that way in the future. (via)
Able to be turn on, and that is it. Sci-fi movies ignore where technology comes from.
True Nuke Puke Story. My mine coworkers once did something similar to a copier repairman; got him so worried about going underground that he had a panic attack when he had to step on the hoist. We had to get a new repairman.
If you want to track the bleeding edge of DragonFly, which is currently version 3.7, I happened to describe it in a reply to Filippo Moretti, on users@. Long-time users will know this/do this already, but it’s worth repeating just because new users may not realize how easy it is.
Here’s how my upgrade from DragonFly 3.4 to 3.6 for this server went.
The system install went normally. I rebooted before performing ‘make upgrade’, as noted in UPGRADING and elsewhere.
I already have dports installed, so a binary upgrade should be possible. I had heard of people with older version of pkg, having trouble getting it to notice upgrades. I rebuilt pkg, and ran ‘pkg upgrade’. A number of the updates coredumped. Here’s one example:
[156/160] Upgrading gtk2 from 2.24.19 to 2.24.19_2...Segmentation fault (core dumped)
After the upgrade, I had two problems: PHP wasn’t working for the website, and some programs would segfault.
The random segfault was fixable by forcing a binary upgrade of all packages. Since there were some programs on the system that were still new enough that the version number was the same as on the remote repository, pkg didn’t upgrade them. Those packages were linked against old versions of system libraries that predated the locale changes in DragonFly 3.6, so they’d crash. Forcing the update for all packages fixed the issue.
The other problem, PHP on the web server, is not new to me. The binary package for PHP does not include the module for Apache. The solution is to build from source with that option selected. I understand that pkg is destined to support (some?) port options in the future. There’s also an immediate workaround for locking it.
However, the port would not build because of a security issue. The binary package installed without any warning. This, I am told, will change to pkg giving you the option to install if you are aware of the security problem, and whether it really affects you. (which is just what I want, yay!)
Anyway, other than the system changes biting me because I didn’t realize some packages weren’t updated, it went very quickly. That is the reason for binary updates through pkg, or at least a major one.
Still quiet out there, but I found some good reading.
Another Perl One-Liners review.
Vim plugins you should know about. From that One-Liners author.
Speaking of Perl, here’s a Larry Wall interview. An old-school hacker – he wrote patch, too.
Moonpig: a billing system that doesn’t suck. An in-depth review of system design. More Perl, too.
Three Books You Should Read… Mostly BSD content.
Your unrelated comics link of the week: Cookie Puss.
Things are very quiet this week; I’ve had nothing to post for some days – DragonFly or even for other BSDs. The end of the year has most people distracted, I think. This makes it a good time to bring up something that’s been bothering me: the state of software firewalls in BSD. The pf utility is a BSD advantage; I’ve heard people say “I used iptables on Linux and pf is a much better alternative.” I know that’s anecdotal, but there it is. Here’s the question, and the reason I’m writing this: which pf?
DragonFly has a version of pf equivalent to what was shipped in OpenBSD 4.4. FreeBSD has a version equivalent, I think, to OpenBSD
3.8 4.5’s pf, and it has been further modified. NetBSD has a similar, older pf, but there’s people working on a NetBSD-specific version called npf, which isn’t yet ready. And of course, OpenBSD has its version of pf. If you feel good about these different alternatives, you call it divergence. If you don’t feel good about it, you call it fragmentation.
Compare this to OpenSSH – it works the same on each platform. There’s no confusion on how to configure it, or interoperability problems. It would be wonderful to have the equivalent for pf, where other BSD platforms would import a portable version. This software firewall is a strength, and it’s much easier to tout it when there’s only one.
I doubt there’s a way to bring it all back to one source tree. There’s a lot vested in the different forks out there. You know what would take a lot less effort: a compatibility test suite. Agreeing on a common syntax and set of functions would make life easier for every end user. It would incidentally make vendors a lot happier, too. Even if a user or vendor wasn’t hoping to move between BSD flavors, a test suite would still guarantee a certain known level of functionality for any BSD release.
How likely is this? I don’t know. But I want to bring up the notion before it gets missed. Now is a good time, with each pf version still being relatively close to one another.
Update/note: Henning Brauer is willing to help.