Portsnap
DeveloperColin Percival
Operating systemFreeBSD
LicenseBSD license

Portsnap is a system written by Colin Percival for secure distribution of compressed, digitally signed snapshots of the FreeBSD ports tree. The distribution follows the client–server model and uses the transport protocol HTTP (pipelined HTTP).

From FreeBSD 6 through 13 (as well as 5.5), portsnap was a part of the base system. In previous versions it was installed from ports. It's a standalone program which can be run manually or in a cron job.

As such, it is one of alternatives to the classic cvsup method. Its advantages include:

  • secure transfer - encrypted and signed data stream, not vulnerable to man-in-the-middle attacks
  • end-to-end connectivity (as opposed to mirrors with cvsup)
  • delta-based distribution - effective for small and frequent updates
  • HTTP is used as protocol (as opposed to custom protocol of cvsup)

Another alternative to cvsup is CVSync (used to manage the OpenBSD source tree), it shares cvsup disadvantages, though.

The portsnap package is distributed under the 2-clause BSD license. As of FreeBSD 14, portsnap is being removed. Its functions have been taken over by a migration to git.

References

edit

📚 Artikel Terkait di Wikipedia

Distributed Concurrent Versions System

by an extended version of CVSup, a program developed by John D. Polstra. The combination of DCVS repository, extended CVSup server and DCVS server program

Monotone (software)

robust and efficient, and shares some conceptual ground with rsync and cvsup. (However, as of version 0.27, it is possible to use the netsync protocol

Flickr

system administration tools include Ganglia, SystemImager, Subcon, and CVSup. Signed-in Flickr users can "Follow" the Photostreams of other Flickr photographers

Modula-3

lightweight and easily portable implementation, developed in connection with CVSup HM3, a successor of the pm3-1.1.15 release of PM3, with support of native

Comparison of operating systems

UFS1, MFS, ext2, FAT (16/32), HAMMER, ISO 9660 Hybrid No dports, pkg git, cvsup, rsync, pkg BSD/POSIX Mono, Java, Win16, Win32, Linux eComStation IA-32