Update installed system packages and common CLI tools with updateself, or its short command updsf. Supports macOS, major Linux package-manager families, FreeBSD, OpenBSD, NetBSD and Nix. Created by G. Spanos, licensed under GPLv3.
Download published releases for installers, archives, checksums and release notes. Downloads appear when a release is published; merging alone does not publish a release. Development builds are available under Actions → CI → Artifacts and require GitHub sign-in. GitHub Packages and distribution repositories are separate future publication targets.
git clone https://github.com/spaniakos/updateself.git
cd update-apt-system
bash update.sh --dry-run
bash install.sh --user
export PATH="$HOME/.local/bin:$PATH"
updateself --askRequires Bash 3.2+; install Bash first on BSD and minimal Linux. Run as your normal account; privileged commands request elevation. The default skips update confirmations: use --ask to review commands or --dry-run to preview them. Missing optional tools are skipped, never installed automatically.
For updateself's own installation (2.1.0+): updateself --check-self-update,
updateself --self-update and updateself --uninstall. The mutation commands ask
for confirmation by default; inspect --dry-run first. See
self-management for ownership and update-source limits.
Open the Wiki for full documentation, platform guides and troubleshooting.
| Start here | Reference and help |
|---|---|
| Installation | Command reference |
| macOS | Supported tools |
| Linux | Python and pip |
| BSD | Nix |
| Packages and releases | Troubleshooting |
The Wiki is generated from reviewed sources in this repository. Release archives retain their matching docs. See documentation maintenance. The same references are also available in docs.
See CONTRIBUTING.md, SECURITY.md, CHANGELOG.md and LICENSE.
CI builds downloadable packages and verifies installation/removal. Version tags prepare draft GitHub Releases. Distribution-repository submissions remain future work. The existing update.sh entry point is retained.