summaryrefslogtreecommitdiff
path: root/posts/2020-07-26-now-this-is-a-minimal-install.php
blob: 3165b71463941fefbc0bf2c2451289cbb4faac38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
$title = "Now This is a Minimal Install!";
if (isset($early) && $early) {
	return;
}
include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php');
?>

<p>
	I just got done configuring Poudriere on Freebsd 12.1-RELEASE. The
	awesome thing about it is it allows you to configure and maintain your
	own package repository. All of the ports and their dependencies are
	built from source with personalized options. That means that I can
	maintain my own repo of just the packages I need with just the
	compile-time options I need. For example, for the Nvidia driver set I
	disabled all Wayland related flags. I use Xorg so there was no need to
	have that functionality built in.
</p>

<p>
	Compile times are pretty long but I hope to change that by upgrading my
	home server to FreeBSD as well (from Ubuntu Server). Then I can
	configure poudriere to serve up a ports tree and my own pkg repo from
	there. The server is a lot faster than my laptop and will build packages
	way faster, and I'll be able to use those packages on both the server
	and my laptop and any jails I have running. Jails (and ZFS) also make
	poudriere really cool to use as all of the building is done inside a
	jail. When the time comes I can just remove the jail and poudriere ports
	tree from my laptop and update pkg to point to my web server.
</p>

<p>
	This is, as I understand it, the sane way to do package management in
	FreeBSD. The binary package repo is basically the ports tree
	pre-assembled with default options. Sometimes those packages are
	compiled without functionality that most users don't need. In those
	situations, you're forced to use ports. The trouble is you're not really
	supposed to mix ports and binary packages. The reason, again as I
	understand it, is because ports are updated more frequently. So binary
	packages and ports can have different dependency versions, which can
	sometimes break compatibility on an upgrade. Most FreeBSD users
	recommend installing everything with ports (which is just a make install
	inside the local tree) but then you lose the package management features
	that come with pkg. Poudriere lets you kind of do both by creating your
	"own personal binary repo" out of a list of preconfigured, pre-built
	ports.
</p>

<p>FreeBSD rocks.</p>