summaryrefslogblamecommitdiff
path: root/posts/unix/2020-07-26-now-this-is-a-minimal-install.html
blob: f0240c2180a6940b2a684e0f7932793df0f7bc2e (plain) (tree)


















































                                                                          

















































                                                                                
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="/includes/stylesheet.css" />
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta
      property="og:description"
      content="The World Wide Web pages of Adam Carpenter"
    />
    <meta property="og:image" content="/includes/images/logo_diag.png" />
    <meta property="og:site_name" content="53hor.net" />
    <meta property="og:title" content="Now This is a Minimal Install!" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://www.53hor.net" />
    <title>53hornet ➙ Now This is a Minimal Install!</title>
  </head>

  <body>
    <nav>
      <ul>
        <li>
          <a href="/">
            <img src="/includes/icons/home-roof.svg" />
            Home
          </a>
        </li>
        <li>
          <a href="/about.html">
            <img src="/includes/icons/information-variant.svg" />
            About
          </a>
        </li>
        <li>
          <a href="/software.html">
            <img src="/includes/icons/git.svg" />
            Software
          </a>
        </li>
        <li>
          <a href="/hosted.html">
            <img src="/includes/icons/desktop-tower.svg" />
            Hosted
          </a>
        </li>
        <li>
          <a type="application/rss+xml" href="/rss.xml">
            <img src="/includes/icons/rss.svg" />
            RSS
          </a>
        </li>
      </ul>
    </nav>

    <article>
      <h1>Now This is a Minimal Install!</h1>

      <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>
    </article>
  </body>
</html>