docs: cut the readme down, fold the details
This commit is contained in:
1 parent
08ffaad00b
commit
7cd6eafafe
1 file changed
+46
-53
@@ -7,12 +7,12 @@
|
||||
<h3 align="center">Unattended background updates for CachyOS.</h3>
|
||||
|
||||
<p align="center">
|
||||
Supports pacman, AUR, Flatpak and AppImages.
|
||||
pacman, AUR, Flatpak and AppImages. In the background, with no password prompt.
|
||||
</p>
|
||||
|
||||
<h5 align="center">
|
||||
<a href="#usage">How to use</a> |
|
||||
<a href="#install">Install</a> |
|
||||
<a href="#how-to-use">How to use</a> |
|
||||
<a href="https://github.com/LoonixTools/cachy-auto-update/issues">Report a bug</a>
|
||||
</h5>
|
||||
|
||||
@@ -20,11 +20,6 @@
|
||||
<a href="https://buymeacoffee.com/felitendo"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="48"></a>
|
||||
</p>
|
||||
|
||||
Built for the machine you set up for somebody else and would rather not maintain.
|
||||
Stays out of the way while they are gaming or on battery, never touches the
|
||||
package database while `pacman` is already running, and only bothers you if something
|
||||
went wrong.
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
@@ -32,9 +27,7 @@ paru -S cachy-auto-update
|
||||
sudo cachy-auto-update enable
|
||||
```
|
||||
|
||||
Updates are **off** until you enable them.
|
||||
|
||||
## Usage
|
||||
## How to use
|
||||
|
||||
```bash
|
||||
sudo cachy-auto-update
|
||||
@@ -44,54 +37,65 @@ sudo cachy-auto-update
|
||||
<img src="res/screenshots/menu.png" alt="The cachy-auto-update menu in Konsole: automatic updates and notifications on" width="620">
|
||||
</p>
|
||||
|
||||
Everything is configurable from **[6] Settings**.
|
||||
The interface is also translated to German (more langs coming soon (maybe)).
|
||||
Press **1** to turn automatic updates on or off. **6** has all the settings.
|
||||
|
||||
## What it updates
|
||||
## When does it update?
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Repository packages | `pacman -Syu` |
|
||||
| AUR | `paru` or `yay`, whichever is installed |
|
||||
| Flatpak | system and per-user installations |
|
||||
| AppImages | via [Gear Lever](https://github.com/mijorus/gearlever), if installed |
|
||||
| Battery below 30 % | ⏸️ Waits (on power it runs) |
|
||||
| A game is running | ⏸️ Waits |
|
||||
| pacman, yay or paru is running | ⏸️ Waits |
|
||||
| Shutdown or suspend during an update | 🚫 Blocked until it is done |
|
||||
| Restart after an update | ❌ Never on its own, you get a notification |
|
||||
|
||||
## More
|
||||
|
||||
## When it doesn't update
|
||||
<details>
|
||||
<summary>What it updates</summary>
|
||||
|
||||
A run is postponed (retried an hour later) when:
|
||||
| | |
|
||||
|---|---|
|
||||
| Packages | `pacman -Syu` |
|
||||
| AUR | `paru` or `yay` |
|
||||
| Flatpak | system and user installs |
|
||||
| AppImages | through [Gear Lever](https://github.com/mijorus/gearlever) |
|
||||
|
||||
- battery is below 30 % (ignored on mains power),
|
||||
- a game is running,
|
||||
- pacman's database is locked or another package manager is running.
|
||||
</details>
|
||||
|
||||
The machine will obviously **never** automatically restart (this is not windows)
|
||||
<details>
|
||||
<summary>Safety</summary>
|
||||
|
||||
## Safety measures
|
||||
- A progress bar shows the step and the package.
|
||||
- On Btrfs with snapper (the CachyOS default) every update gets a snapshot before and after.
|
||||
- A lock file left by a power cut is removed on the next run.
|
||||
- Package replacements are handled on their own. File conflicts are never overwritten.
|
||||
- A signature error refreshes the keyring once and tries again.
|
||||
|
||||
- A **progress bar** shows which step is running and which package is being updated.
|
||||
- **Suspend and shutdown are blocked** via `systemd-inhibit` during updates.
|
||||
- A `db.lck` left by a crash is removed on the next run.
|
||||
- On Btrfs with `snapper`/`snap-pac` (the CachyOS default), every transaction
|
||||
gets a pre/post snapshot.
|
||||
</details>
|
||||
|
||||
## Package conflicts
|
||||
|
||||
`AutoResolveConflicts=yes` (default) retries conflicting package replacements
|
||||
automatically.
|
||||
|
||||
File conflicts (`exists in filesystem`) are **not** force-overwritten.
|
||||
Signature failures trigger one keyring refresh and one retry.
|
||||
|
||||
## Logs
|
||||
<details>
|
||||
<summary>Logs</summary>
|
||||
|
||||
```bash
|
||||
cachy-auto-update log # last run
|
||||
cachy-auto-update log -a # rolling log
|
||||
cachy-auto-update log -a # all runs
|
||||
journalctl -u cachy-auto-update
|
||||
```
|
||||
|
||||
## Building from source
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>cachy-update</summary>
|
||||
|
||||
[cachy-update](https://github.com/CachyOS/cachy-update) tells you about updates, you install them.
|
||||
This installs them for you. Both work side by side, and `enable` offers to silence
|
||||
cachy-update's notification.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Build from source</summary>
|
||||
|
||||
```bash
|
||||
make && sudo make install
|
||||
@@ -99,19 +103,8 @@ sudo systemd-sysusers && sudo systemd-tmpfiles --create
|
||||
sudo cachy-auto-update enable
|
||||
```
|
||||
|
||||
`make check` runs shellcheck, syntax checks, and validates the sudoers drop-in.
|
||||
Optional: `pacman-contrib`, an AUR helper, `flatpak`, Gear Lever, `libnotify`, `python-gobject`.
|
||||
|
||||
Optional runtime dependencies (degrades gracefully without them):
|
||||
`pacman-contrib`, an AUR helper, `flatpak`, Gear Lever, `libnotify`,
|
||||
`python-gobject`.
|
||||
|
||||
## Relationship to cachy-update
|
||||
|
||||
[cachy-update](https://github.com/CachyOS/cachy-update) is CachyOS's
|
||||
interactive updater which checks for updates and notifies, but that needs manual intervention.
|
||||
This is the unattended counterpart. The two can coexist; `enable` offers
|
||||
to switch off cachy-update's notification since it becomes obsolete.
|
||||
|
||||
## License
|
||||
</details>
|
||||
|
||||
GPL-3.0-or-later.
|
||||
Reference in new issue
Block a user