rcs
Lyndon Nerenberg
lyndon at orthanc.ca
Tue Oct 8 22:04:42 UTC 2013
On 2013-10-08, at 11:17 AM, Freddie Cash <fjwcash at gmail.com> wrote:
> I haven't kept up-to-date with all the developments, but isn't this part of the bsdinstall/pkgng plan? Once the pkgng repos are all available and populated, then bsdinstall will be able to install packages from there during the install. And, isn't that part of the plan for the DVD installers, to include an "installer repo" for off-line installs?
>
> IOW, theoretically, one could just download the 10.0 DVD, boot, install the base, browse the repo on the DVD, select items to install, install, reboot, and be finished. Without ever needing to touch an Internet connection until after rebooting into FreeBSD, if it's even needed at all.
The big issue here is having access to the distfiles. We rarely, if ever, install pre-compiled packages, because we don't know how they have been configured. Quite often the packages are built with features or dependencies we don't want, or are built without features we *do* want. Instead, we configure and compile the port according to our requirements, then build a package from that for internal use.
For this to work in a disconnected environment, you need a ports tree with a fully populated distfiles/ directory. The hack we came up with was to put a FreeBSD host on the external network, on which we ran a script once a week or so that would do the something like 'portsnap fetch update; portsclean -DD; for in in /usr/ports/*/*; (cd $i && make fetch); done'.
That would give us a (mostly) populated /usr/ports/distfiles. We would then rsync /usr/ports from the public machine onto a USB drive. That drive would then be disconnected from the public machine and attached to an internal file server, and its /usr/ports rsynced to the file server's /usr/ports.
Not pretty, but it got the job done. But that /usr/ports tree is way too big to fit on a DVD. In fact, it might even be too large for a BD-ROM. (I don't have access to the file server right now to check.)
--lyndon
More information about the freebsd-current
mailing list