Smarter Fetch
Table of Contents
Tool(s?) to aid in speeding up package updates on OpenBSD.
The Problem
As it stands, package updates on OpenBSD are incredibly slow. This is because:
- No central index.
- Every update, each tarball file is partially downloaded to check if it needs to be updated.
- Every request to a tgz is a new call to
ftp
.
Possible Solutions
Reverse Proxy
Simple reverse proxy that supports keepalives / http/2 would help. I noticed a multi-minute reduction in wait time when using one.
Something like httputil.RevereProxy would work.
Better ftp(1)
A new command that supports:
- ranged partial gets.
- persistent connections via HTTP pipelining (or http/2?).
Reduced Update List
Basically passing a list of pre-processed package names to pkg_add
.
- Jeremy's tool for example: https://github.com/neutralinsomniac/obsdpkgup
Reverse Index Proxy
Bolt on package index that is somehow(!?) introduced into pkg_*