--- portsnap.8.orig 2006-05-26 23:21:29 UTC +++ portsnap.8 @@ -23,9 +23,9 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.sbin/portsnap/portsnap/portsnap.8,v 1.9 2006/05/13 18:04:48 cperciva Exp $ +.\" $FreeBSD$ .\" -.Dd August 13, 2005 +.Dd July 1, 2018 .Dt PORTSNAP 8 .Os FreeBSD .Sh NAME @@ -50,20 +50,25 @@ of the .Fx ports tree, and extract and update an uncompressed ports tree. +.Pp +In a normal update operation, +.Nm +will routinely restore modified files to their unmodified state and +delete unrecognized local files. .Sh OPTIONS The following options are supported: .Bl -tag -width "-f conffile" .It Fl d Ar workdir -Store working files (e.g. downloaded updates) in +Store working files (e.g.\& downloaded updates) in .Ar workdir . (default: -.Pa $PREFIX/portsnap , +.Pa /var/db/portsnap , or as given in the configuration file.) .It Fl f Ar conffile -Read the configuration from from +Read the configuration from .Ar conffile . (default: -.Pa $PREFIX/etc/portsnap.conf ) +.Pa %%PREFIX%%/etc/portsnap.conf ) .It Fl I For the .Cm update @@ -72,7 +77,7 @@ command, update INDEX files, but not the rest of the p Expect a public key with given SHA256 hash. (default: read value from configuration file.) .It Fl l Ar descfile -Merge the specified local describes file into the INDEX files being +Merge the specified local describes file into the INDEX files being built. The .Ar descfile @@ -88,25 +93,30 @@ operate on the directory or as given in the configuration file.) .It Fl s Ar server Fetch files from the specified server or server pool. -(default: portsnap.FreeBSD.org , or as given in the +(default: portsnap.FreeBSD.org, or as given in the configuration file.) .It path For .Cm extract command only, operate only on parts of the ports tree starting with .Ar path . -(e.g. +(e.g.\& .Nm -.cm extract +.Cm extract .Ar sysutils/port would extract sysutils/portsman, sysutils/portsnap, sysutils/portupgrade, etc.) +.It Fl Fl interactive +override auto-detection of calling process. +Only use this when calling portsnap from an +.Sy interactive, non-terminal application. +(Cron jobs are particularly bad since they cause +load spikes on the Portsnap mirrors.) .El .Sh COMMANDS The .Cm command can be any one of the following: -.Pp .Bl -tag -width "-f conffile" .It fetch Fetch a compressed snapshot of the ports tree, or update @@ -151,21 +161,52 @@ or commands. Again, note that in the parts of the ports tree which are being updated, any local changes or additions will be removed. +.It auto +Run +.Cm fetch +or +.Cm cron +depending on whether stdin is a terminal; then run +.Cm update +or +.Cm extract +depending on whether +.Ar portsdir +exists. .El .Sh TIPS .Bl -bullet .It If your clock is set to local time, adding the line .Pp -.Dl 0 3 * * * root /usr/local/sbin/portsnap cron +.Dl 0 3 * * * root %%PREFIX%%/sbin/portsnap cron .Pp -to /etc/crontab is a good way to make sure you always have +to +.Pa /etc/crontab +is a good way to make sure you always have an up-to-date snapshot of the ports tree available which can quickly be extracted into .Pa /usr/ports . If your clock is set to UTC, please pick a random time other than 3AM, to avoid overly imposing an uneven load on the server(s) hosting the snapshots. +.Pp +Note that running +.Nm +.Cm cron +or +.Nm +.Cm fetch +does not apply the changes that were received: they only download +them. +To apply the changes, you must follow these commands with +.Nm +.Cm update . +The +.Nm +.Cm update +command is normally run by hand at a time when you are sure that +no one is manually working in the ports tree. .It Running .Nm @@ -183,7 +224,7 @@ However, running .Fl I .Cm update is probably safe, and can be used together with -.Xr portversion 1 +.Xr pkg-version 8 to identify installed software which is out of date. .It If you wish to use @@ -206,22 +247,22 @@ of files are not needed by any particular client. .Sh PRIVACY NOTICE As an unavoidable part of its operation, a machine running .Nm -will make its public IP address and the list of files it fetches +will make its public IP address and the list of files it fetches available to the server from which it fetches updates. -Using these it may be possible to recognize a machine over an extended -period of time, determine when it is updated, and identify which -portions of the FreeBSD ports tree, if any, are being ignored using +Using these it may be possible to recognize a machine over an extended +period of time, determine when it is updated, and identify which +portions of the FreeBSD ports tree, if any, are being ignored using "REFUSE" directives in .Pa portsnap.conf . .Pp -Statistical data generated from information collected in this manner +Statistical data generated from information collected in this manner may be published, but only in aggregate and after anonymizing the individual systems. .Sh FILES -.Bl -tag -width "$PREFIX/etc/portsnap.conf" -.It $PREFIX/etc/portsnap.conf +.Bl -tag -width "%%PREFIX%%/etc/portsnap.conf" +.It %%PREFIX%%/etc/portsnap.conf Default location of the portsnap configuration file. -.It $PREFIX/portsnap +.It /var/db//portsnap Default location where compressed snapshots are stored. .It /usr/ports Default location where the ports tree is extracted.