{"id":15148714,"url":"https://github.com/qbit/snap","last_synced_at":"2025-06-30T00:05:23.640Z","repository":{"id":4738906,"uuid":"5888200","full_name":"qbit/snap","owner":"qbit","description":"OpenBSD upgrade tool (OpenBSD,Shell)","archived":false,"fork":false,"pushed_at":"2019-01-17T23:27:31.000Z","size":847,"stargazers_count":93,"open_issues_count":2,"forks_count":14,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-06T22:51:20.388Z","etag":null,"topics":["openbsd","snapshots"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qbit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-20T14:55:38.000Z","updated_at":"2024-12-12T08:27:26.000Z","dependencies_parsed_at":"2022-08-25T23:22:46.891Z","dependency_job_id":null,"html_url":"https://github.com/qbit/snap","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/qbit/snap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbit%2Fsnap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbit%2Fsnap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbit%2Fsnap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbit%2Fsnap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qbit","download_url":"https://codeload.github.com/qbit/snap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbit%2Fsnap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262685663,"owners_count":23348451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openbsd","snapshots"],"created_at":"2024-09-26T13:22:01.975Z","updated_at":"2025-06-30T00:05:23.411Z","avatar_url":"https://github.com/qbit.png","language":"Shell","funding_links":[],"categories":["Third Party repositories"],"sub_categories":["Interviews with OpenBSD developers","Related projects"],"readme":"SNAP(8) - System Manager's Manual\n\n# NAME\n\n**snap** - snapshot upgrade tool\n\n# SYNOPSIS\n\n**snap**\n\\[**-bBcdDehiIkKmMnrRsSuUvWx**]\n\\[**-b**\u0026nbsp;\\[boot\u0026nbsp;device]]\n\\[**-c**\u0026nbsp;\\[config\\_file]]\n\\[**-D**\u0026nbsp;\\[destination]]\n\\[**-m**\u0026nbsp;\\[machine]]\n\\[**-M**\u0026nbsp;\\[mirror]]\n\\[**-V**\u0026nbsp;\\[version]]\n\\[**-s**\u0026nbsp;\\[pubkey]]\n\n# DESCRIPTION\n\n**snap**\nis a\nksh(1)\nscript designed to upgrade an\nOpenBSD\nmachine to the latest snapshot available.\nUpgrading from release to release is not supported.\n\n**snap**\nchecks the \\`BUILDINFO\\` file located on the remote mirror, and will\nwarn you if the snapshot is not newer than the currently running\nversion.\n\nBy default\n**snap**\nverifies signatures for the set files it downloads.\nThis can be prevented by specifying the\n**-S**\noption, however, skipping verification is very much not recommended!\n\nThe options are as follows:\n\n**-D** *destination*\n\n\u003e Destination directory to place the \\`.tgz\\` files.\n\n**-S**\n\n\u003e Skip signature verification.\n\u003e This is not recommended!\n\n**-c** *config\\_file*\n\n\u003e Location of configuration file (default is\n\u003e */etc/snap.conf*\n\u003e or\n\u003e *$HOME/.snaprc*\n\u003e ).\n\n**-e**\n\n\u003e Extract sets into destination directory and exit.\n\u003e The destination directory can be overwritten by the\n\u003e **-D**\n\u003e option, or by setting the DST line in\n\u003e *config\\_file*.\n\n**-d**\n\n\u003e Download sets to the destination directory, verify (\n\u003e **-S**\n\u003e prevents signature verification) and\n\u003e exit.\n\u003e By default the destination directory is set to\n\u003e */tmp/upgrade*\n\n**-m** *machine*\n\n\u003e Use\n\u003e **machine**\n\u003e instead of what the \\`machine\\` command returns.\n\n**-V** *setversion*\n\n\u003e Use to specify a specific version of sets.\n\u003e This option will need to be used when there is a version jump, say from 6.0 to 6.1.\n\n**-r**\n\n\u003e Run sysmerge after extracting {x}sets.\n\u003e This option may cause issues if the newer snapshot introduces ABI changes.\n\u003e Not recommended.\n\n**-x**\n\n\u003e Do not extract x11 sets.\n\n**-M** *mirror*\n\n\u003e Specify which mirror to use.\n\n**-I** *sigfile*\n\n\u003e Verify integrity of the\n\u003e **snap**\n\u003e tool.\n\u003e If\n\u003e **sigfile**\n\u003e is omitted,\n\u003e **snap**\n\u003e will pull a copy of SHA256.sig from the GitHub page.\n\n**-s** *pubkey*\n\n\u003e Signify pub key to do verification with.\n\n**-i**\n\n\u003e Run in interactive mode (has colors).\n\n**-n**\n\n\u003e Force snap to install\n\u003e **bsd.mp**\n\u003e as\n\u003e */bsd*\n\n**-k**\n\n\u003e Only install the kernels and exit.\n\n**-B**\n\n\u003e Prevent\n\u003e **snap**\n\u003e from making a backup of the kernel files.\n\n**-u**\n\n\u003e Check for update to the\n\u003e **snap**\n\u003e script.\n\n**-U**\n\n\u003e Download and install the latest version of\n\u003e **snap**\n\u003e (will overwrite currently installed version).\n\u003e Signature verification is also done.\n\n**-b** *device*\n\n\u003e Tells\n\u003e **snap**\n\u003e which\n\u003e **device**\n\u003e to install bootstrap on.\n\n**-R**\n\n\u003e Reboot after running\n\u003e **snap**\n\n**-h**\n\n\u003e Help.\n\n# FILES\n\n*$HOME/.last\\_snap*\n\n\u003e Contains timestamp of the previous snapshot.\n\n*/etc/snap.conf*\n\n\u003e Global configuration options.\n\u003e See\n\u003e *SNAPRC*\n\u003e for more information on these options.\n\n*$HOME/.snaprc*\n\n\u003e User specific configuration options.\n\n# SNAPRC\n\n**snap**\nsupports the following configuration options via\n*/etc/snap.conf*\nor\n*$HOME/.snaprc*\nfile:\n\n**INTERACTIVE bool**\n\n\u003e If true,\n\u003e **snap**\n\u003e will operate as if\n\u003e **-i**\n\u003e was specified.\n\u003e Defaults to false.\n\n**DST directory**\n\n\u003e Tells\n\u003e **snap**\n\u003e where to download the snapshot sets and signature files.\n\u003e Defaults to\n\u003e */tmp/upgrade*\n\n**EXTRACT\\_ONLY bool**\n\n\u003e Tells\n\u003e **snap**\n\u003e to exit after extracting the sets.\n\u003e Defaults to false.\n\n**FTP\\_OPTS string**\n\n\u003e Lets you overwrite the options passed to\n\u003e ftp(1).\n\u003e This can be handy if your mirror supports file continuation!\n\u003e Defaults to: \" -V \".\n\n\u003e See\n\u003e ftp(1)\n\u003e for options.\n\n**MERGE bool**\n\n\u003e Tells\n\u003e **snap**\n\u003e to merge files in\n\u003e */etc*\n\u003e using the\n\u003e sysmerge(8)\n\u003e utility.\n\u003e Defaults to false.\n\n**NO\\_X11 bool**\n\n\u003e Tells\n\u003e **snap**\n\u003e to forgo download and extraction of xsets.\n\u003e Defaults to false.\n\n**REBOOT bool**\n\n\u003e Setting this to \\`true\\` will cause\n\u003e **snap**\n\u003e to reboot the system after successful extraction of sets.\n\u003e Defaults to false.\n\n**AFTER script**\n\n\u003e Specifies a script to be copied to\n\u003e */etc/rc.firsttime*.\n\u003e The script will then be executed upon successful reboot.\n\u003e Default is not set.\n\n**MIRROR string**\n\n\u003e Defaults to \\`cdn.openbsd.org\\`.\n\n# EXAMPLES\n\n## EXAMPLE USAGE\n\nTo upgrade to the latest snapshot:\n\n\t$ doas snap\n\nTo upgrade to the latest snapshot using an explicit mirror region:\n\n\t$ doas snap -M cdn.openbsd.org\n\nTo upgrade to a snapshot without updating xsets:\n\n\t$ doas snap -x\n\n## EXAMPLE SNAPRC\n\nA typical\n*~/.snaprc*\nwould look something like this:\n\n\tINTERACTIVE:true\n\tMERGE:true\n\tAFTER:/etc/after_snap\n\tMIRROR:cdn.openbsd.org\n\tFTP_OPTS:-C -V\n\n## EXAMPLE AFTER SCRIPT\n\nHere is an \\`AFTER\\` script that makes sure we have the latest devices\nin\n*/dev*,\nupgrades all the firmware currently installed and upgrades currently\ninstalled packages:\n\n\t#!/bin/sh\n\t(\n\t    cd /dev \u0026\u0026 sh MAKEDEV all\n\t    /usr/sbin/fw_update -v\n\t    /usr/sbin/pkg_add -uVm # -m is needed to see progress in this context\n\t)\n\n# SIGNATURE VERIFICATION\n\n**snap**\ncan be verified using the\n**signify**\nutility.\n\n## Public key\n\n\tuntrusted comment: github.com/qbit/snap public key\n\tRWQVGN6sUjQQA5uYpANGLLKQMAERZ43otLePFSVqNFGGtf/qBez7G1WU\n\n## SIGNATURE URL\n\n\thttps://raw.githubusercontent.com/qbit/snap/master/SHA256.sig\n\nAfter installing the above public key in\n*/etc/signify/snap.pub*\nand downloading the\n*SHA256.sig*\nfile, you can verify\n**snap**\nby running one the following:\n\nHave snap download the\n*SHA256.sig*\nfile and run verification:\n\n\t$ snap -I\n\nHave snap verify a pre-downloaded\n*SHA256.sig*\nfile:\n\n\t$ snap -I SHA256.sig\n\nManual verification with the\n**signify**\nutility:\n\n\t$ signify -C -p /etc/signify/snap.pub -x SHA256.sig snap\n\n# SEE ALSO\n\nftp(1),\nsignify(1),\ninstallboot(8),\nrc(8),\nrelease(8),\nsysmerge(8)\n\n# HISTORY\n\nThe first version of\n**snap**\nwas released in September of 2012.\n\n# AUTHORS\n\n**snap**\nwas written by\nAaron Bieber \u0026lt;[aaron@bolddaemon.com](mailto:aaron@bolddaemon.com)\u0026gt;.\n\nOpenBSD 6.4 - September 19, 2012\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbit%2Fsnap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqbit%2Fsnap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbit%2Fsnap/lists"}