Howto Install man pages if you must
-
These instructions are going to be vague deliberately.
Man command and man pages are part of the standard FreeBSD base.txz package. You will have to download the matching file for the version of pfSense and FreeBSD you're running, in my case pfSense 2.5.0 and FreeBSD 12.2-RELEASE. DO NOT extract to the root directory, extract somewhere else, and you'll need about half a gigabyte of space in my case. you'd better do all this as root or various permissions will get borked.
curl -JLO http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.2-RELEASE/base.txz #<--- Remember to get the correct version
#make a dir & untar the above somewhere with some space NOT ROOT
cd my-base-dir-I-extracted-base.txz-to
cd usr/bin # <--- Note RELATIVE PATH
cp man apropos /usr/bin
cd ../share
cp -r man /usr/shareIf you're using an older version of pfSense and FreeBSD you may need to copy groff tbl troff and grotty to /usr/bin too, groff_font and tmac to /usr/share as well, along with gods alone knows what else I didn't think of, I didn't test it on any older versions.
This assumes you're booting off an actual disk or SSD that acts like a disk. Things that are booting off SD cards, CF cards, USB Sticks, optical disks, yada, yada, are a whole 'nother ball game that's not in my skillset either. I'm also guessing that this will break your shiny new appliance's warranty? So maybe don't do it there.
Note that when NetGate updates the FreeBSD version pfSense is using, you'll have to do this all over again unless they suddenly decide to make it an option in their customized base, and I wouldn't hold my breath. I guess I'm not their use case.
You broke it, you bought it. Don't whine at me, don't whine at Netgate, don't whine at FreeBSD or anyone else. But at least this should save some time. It would be nice if the appropriate bits were a pfSense package, but that's "above my pay-grade".
-
@daplumber This works for Pfsense plus 22.01 and FreeBSD 12.3-STABLE too. Still can't be bothered to figure out how to rebuild whatis database, feel free to post here please?
-
@daplumber said in Howto Install man pages if you must:
curl -JLO http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.2-RELEASE/base.txz
Note the architectures should match as appropriate (e.g. arm64 instead of amd64):
curl -JLO http://ftp.freebsd.org/pub/FreeBSD/releases/arm64/12.3-RELEASE/base.txz
Also, when removing the temp area where the download and extraction took place, you can't delete some object because the have the "schg" flag set. You need to clear the flags on the handful of files before you can remove them.
e.g.:
chflags -R noschg *
Your instructions worked of 22.05 on my SG-3100 even though I grabbed the arm64 tarball. Thanks! I now have local man pages working.
-
I usually search google for "freebsd man <command>" for the commands where the Linux man pages aren't suitable (yes, there are some differences).
-
@jknott I wonder if the added man pages will be wiped during a pfSense release. Does it nuke everything under /usr/share so that the man/ directory is removed, and the copied man and apropos binaries in /usr/bin ?
-
Can't say for certain, but I suspect it might.
-
@lohphat Yes, yes it does nuke the manpages when FreeBSD gets updated.
-
@daplumber said in Install man pages if you must:
cp -r man /usr/share
That copy should probably be:
cp -l man* apropos whatis /usr/binand yes, you'll need to do the:
chflags -R noschg *
to remove the based you created, I forgot to include that.
Interestingly “makewhatis” worked for me after the above cp.
-
@jknott Confirmed. Just updated 22.05 -> 23.01 and man pages nuked.
-
@lohphat Yup, any major update, and 22 -> 23 counts, will require the man pages to be reinstalled. Fir 23 you’ll also have to source the CURRENT base file instead of RELEASE to be consistent.
-
@daplumber I couldn't find the 14.0-CURRENT release file for arm64 at that FTP site only 13.1-RELEASE and BETA[1|2] directories were available.
http://ftp.freebsd.org/pub/FreeBSD/releases/arm64/
What concerns me is that pfSense 23.01 is running on FreeBSD 14.0-CURRENT which isn't set to RELEASE until July 2023. https://www.freebsd.org/releases/14.0R/schedule/
-
@lohphat No matter opinions on the issue the base file you want for the man pages is in: http://ftp.freebsd.org/pub/FreeBSD/snapshots/arm64/14.0-CURRENT/
I’m not developing pfSense, so I’m not really concerned about the decision. It doesn’t seem to be affecting reliability or stability so far. ¯\(ツ)/¯
Jinxed it, sigh. Just noticed my dnsbl service seems to keep crashing and getting watchdogged, so I’ll need to check into that… later.
-
please don´t forget performing a proper "chmod"
after downloading files from outside.