{"id":47516128,"url":"https://github.com/2SSK/autoupd","last_synced_at":"2026-04-01T07:00:44.685Z","repository":{"id":304453677,"uuid":"1018832549","full_name":"2SSK/autoupd","owner":"2SSK","description":"A simple CLI too to automatically update system packages using your Linux distro's package manager, with daily logs and systemd integration.","archived":false,"fork":false,"pushed_at":"2025-07-21T10:31:19.000Z","size":382,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-01T05:12:09.394Z","etag":null,"topics":["featured"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2SSK.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T06:23:50.000Z","updated_at":"2025-10-23T13:28:56.000Z","dependencies_parsed_at":"2025-07-13T08:45:16.297Z","dependency_job_id":"8bb1ff42-d585-4a27-8b1a-7bf1a30c6b9e","html_url":"https://github.com/2SSK/autoupd","commit_stats":null,"previous_names":["2ssk/autoupd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/2SSK/autoupd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2SSK%2Fautoupd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2SSK%2Fautoupd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2SSK%2Fautoupd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2SSK%2Fautoupd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2SSK","download_url":"https://codeload.github.com/2SSK/autoupd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2SSK%2Fautoupd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31269179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T06:57:45.811Z","status":"ssl_error","status_checked_at":"2026-04-01T06:57:42.389Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["featured"],"created_at":"2026-03-27T13:00:30.249Z","updated_at":"2026-04-01T07:00:44.679Z","avatar_url":"https://github.com/2SSK.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"package-manager\"\u003e\u003c/a\u003ePackage managers"],"sub_categories":[],"readme":"# autoupd\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./assets/logo.png\" alt=\"autoupd Logo\" width=\"350\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eA simple, zero-config tool to automatically update your system packages.\u003c/strong\u003e\n\u003c/p\u003e\n\n`autoupd` is a \"set it and forget it\" utility for keeping your system up-to-date. It automatically detects your system's package manager, performs an update, and sets up a systemd timer to run daily for rolling-release distros or weekly for others.\n\n\u003c!-- ![Autoupd gif](./assets/autoupd.gif) --\u003e\n\u003cimg src=\"./assets/autoupd.gif\" alt=\"Autoupd gif\" width=\"100%\" height=\"600\"\u003e\n\n## Features\n\n- **Automatic Package Manager Detection:** `autoupd` automatically detects the package manager on your system, supporting a wide range of managers.\n- **Automated Updates:** It sets up a `systemd` timer to run updates daily on rolling-release distributions and weekly on others.\n- **Status Dashboard:** A simple and intuitive dashboard to view the status of your updates.\n- **Force Updates:** Manually trigger an update at any time.\n- **Desktop Notifications:** Get notified about the status of your updates.\n- **Logging:** All update operations are logged to `/var/log/autoupd`.\n\n## How It Works\n\n1.  **Detects Package Manager:** Automatically identifies the package manager on your system (e.g., `apt`, `pacman`, `dnf`).\n2.  **Updates Packages:** Runs the appropriate command to update all system packages.\n3.  **Automates with Systemd:** On the first run, it installs and enables a `systemd` timer to automate future updates.\n    - **Rolling-Release:** Runs daily.\n    - **Other Systems:** Runs weekly.\n\n## Installation\n\n### Prerequisites\n\n- [Go](https://golang.org/doc/install) (for building from source)\n- `git`\n\n### Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/2SSK/autoupd.git\n\n# Navigate to the project directory\ncd autoupd\n\n# Build the binary\ngo build .\n\n# Move the binary to your PATH\nsudo cp autoupd /usr/local/bin/\n\n# Run autoupd for the first time to set up automation\nsudo autoupd\n```\n\n## Uninstallation\n\nTo remove `autoupd` and its related files from your system:\n\n```bash\n# Stop and disable the systemd timer\nsudo systemctl stop autoupd.timer\nsudo systemctl disable autoupd.timer\n\n# Remove the systemd files\nsudo rm /etc/systemd/system/autoupd.service\nsudo rm /etc/systemd/system/autoupd.timer\n\n# Remove the binary\nsudo rm /usr/local/bin/autoupd\n\n# Remove the log directory\nsudo rm -rf /var/log/autoupd\n```\n\n## Usage\n\nAfter installation, `autoupd` will run automatically. You can also run it manually.\n\n### First Run\n\nTo perform the initial update and activate the systemd timer, run:\n\n```bash\nsudo autoupd\n```\n\nThis command will:\n\n1.  Ask for your password to gain `sudo` privileges.\n2.  Update all system packages.\n3.  Install and enable a `systemd` timer for automatic updates.\n\n### Manual Updates\n\nTo force an update at any time, use the `--force` or `-f` flag:\n\n```bash\nsudo autoupd --force\n```\n\n### View Status\n\nTo view the status of `autoupd` without performing an update, use the `--status` or `-s` flag:\n\n```bash\nautoupd --status\n```\n\nThis will display a dashboard with information about the last and next update times.\n\n## Automatic Updates\n\n`autoupd` uses a `systemd` timer to run automatically.\n\n- **Service:** `/etc/systemd/system/autoupd.service`\n- **Timer:** `/etc/systemd/system/autoupd.timer`\n\nYou can check the status of the timer with:\n\n```bash\nsystemctl status autoupd.timer\n```\n\n## Supported Package Managers\n\n- `apt`\n- `apk`\n- `brew`\n- `dnf`\n- `flatpak`\n- `nix`\n- `pacman`\n- `snap`\n- `yay`\n- `yum`\n- `zypper`\n\n## Logs\n\nLogs are stored in `/var/log/autoupd`. You can view the latest log with:\n\n```bash\ncat /var/log/autoupd/\u003ctoday's-date\u003e.log\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2SSK%2Fautoupd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2SSK%2Fautoupd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2SSK%2Fautoupd/lists"}