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>
|
<h3 align="center">Unattended background updates for CachyOS.</h3>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Supports pacman, AUR, Flatpak and AppImages.
|
pacman, AUR, Flatpak and AppImages. In the background, with no password prompt.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h5 align="center">
|
<h5 align="center">
|
||||||
<a href="#usage">How to use</a> |
|
|
||||||
<a href="#install">Install</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>
|
<a href="https://github.com/LoonixTools/cachy-auto-update/issues">Report a bug</a>
|
||||||
</h5>
|
</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>
|
<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>
|
</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
|
## Install
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -32,9 +27,7 @@ paru -S cachy-auto-update
|
|||||||
sudo cachy-auto-update enable
|
sudo cachy-auto-update enable
|
||||||
```
|
```
|
||||||
|
|
||||||
Updates are **off** until you enable them.
|
## How to use
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo cachy-auto-update
|
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">
|
<img src="res/screenshots/menu.png" alt="The cachy-auto-update menu in Konsole: automatic updates and notifications on" width="620">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Everything is configurable from **[6] Settings**.
|
Press **1** to turn automatic updates on or off. **6** has all the settings.
|
||||||
The interface is also translated to German (more langs coming soon (maybe)).
|
|
||||||
|
|
||||||
## What it updates
|
## When does it update?
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Repository packages | `pacman -Syu` |
|
| Battery below 30 % | ⏸️ Waits (on power it runs) |
|
||||||
| AUR | `paru` or `yay`, whichever is installed |
|
| A game is running | ⏸️ Waits |
|
||||||
| Flatpak | system and per-user installations |
|
| pacman, yay or paru is running | ⏸️ Waits |
|
||||||
| AppImages | via [Gear Lever](https://github.com/mijorus/gearlever), if installed |
|
| 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),
|
</details>
|
||||||
- a game is running,
|
|
||||||
- pacman's database is locked or another package manager is running.
|
|
||||||
|
|
||||||
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.
|
</details>
|
||||||
- **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.
|
|
||||||
|
|
||||||
## Package conflicts
|
<details>
|
||||||
|
<summary>Logs</summary>
|
||||||
`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
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cachy-auto-update log # last run
|
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
|
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
|
```bash
|
||||||
make && sudo make install
|
make && sudo make install
|
||||||
@@ -99,19 +103,8 @@ sudo systemd-sysusers && sudo systemd-tmpfiles --create
|
|||||||
sudo cachy-auto-update enable
|
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):
|
</details>
|
||||||
`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
|
|
||||||
|
|
||||||
GPL-3.0-or-later.
|
GPL-3.0-or-later.
|
||||||
Reference in new issue
Block a user