2020-07-09 21:29:28 +03:00
|
|
|

|
2022-10-16 19:55:08 +02:00
|
|
|
<!---
|
2018-08-29 14:40:59 +03:00
|
|
|

|
2018-07-05 13:01:43 +03:00
|
|
|
[](https://crates.io/crates/topgrade)
|
2018-08-22 16:59:28 +03:00
|
|
|
[](https://aur.archlinux.org/packages/topgrade/)
|
2022-10-16 19:55:08 +02:00
|
|
|
 -->
|
|
|
|
|
--->
|
2018-05-31 16:27:23 +03:00
|
|
|
|
2020-07-09 21:29:28 +03:00
|
|
|

|
2018-05-31 16:27:23 +03:00
|
|
|
|
2022-10-11 16:11:12 +00:00
|
|
|
## Fork
|
2022-10-11 16:10:52 +00:00
|
|
|
This is a fork of [topgrade by r-darwish](https://github.com/r-darwish/topgrade) to keep it maintained.
|
|
|
|
|
|
|
|
|
|
|
2022-01-23 15:44:58 +01:00
|
|
|
Keeping your system up to date usually involves invoking multiple package managers.
|
|
|
|
|
This results in big, non-portable shell one-liners saved in your shell.
|
|
|
|
|
To remedy this, _topgrade_ detects which tools you use and runs the appropriate commands to update them.
|
2018-05-31 16:27:23 +03:00
|
|
|
|
|
|
|
|
## Installation
|
2022-01-23 15:44:58 +01:00
|
|
|
- Arch Linux: [AUR](https://aur.archlinux.org/packages/topgrade/) package.
|
|
|
|
|
- NixOS: _topgrade_ package in `nixpkgs`.
|
|
|
|
|
- macOS: [Homebrew](https://brew.sh/) or [MacPorts](https://www.macports.org/install.php).
|
2018-06-10 14:42:10 +03:00
|
|
|
|
2022-01-23 15:44:58 +01:00
|
|
|
Other systems users can either use `cargo install` or use the compiled binaries from the release page.
|
|
|
|
|
The compiled binaries contain a self-upgrading feature.
|
2018-09-05 11:23:04 +03:00
|
|
|
|
2021-12-06 14:14:07 +02:00
|
|
|
Topgrade requires Rust 1.51 or above.
|
2018-05-31 16:27:23 +03:00
|
|
|
|
2022-10-16 19:55:08 +02:00
|
|
|
## Documentation[WIP]
|
|
|
|
|
You can visit the documentation at [topgrade-rs.github.io](https://topgrade-rs.github.io/) .
|
|
|
|
|
|
2018-05-31 16:27:23 +03:00
|
|
|
## Usage
|
2022-01-23 15:44:58 +01:00
|
|
|
Just run `topgrade`.
|
|
|
|
|
See [the wiki](https://github.com/r-darwish/topgrade/wiki/Step-list) for the list of things Topgrade supports.
|
2018-06-11 13:57:38 +03:00
|
|
|
|
|
|
|
|
## Customization
|
2019-08-22 22:08:28 +03:00
|
|
|
See `config.example.toml` for an example configuration file.
|
2019-01-21 20:17:44 +02:00
|
|
|
|
|
|
|
|
### Configuration path
|
|
|
|
|
|
|
|
|
|
The configuration should be placed in the following paths depending by the operating system:
|
|
|
|
|
|
|
|
|
|
* **Windows** - `%APPDATA%/topgrade.toml`
|
2022-01-23 15:44:58 +01:00
|
|
|
* **macOS** and **other Unix systems** - `${XDG_CONFIG_HOME:-~/.config}/topgrade.toml`
|
2019-06-05 14:15:45 +03:00
|
|
|
|
2022-10-19 10:55:09 +02:00
|
|
|
## Contribution
|
|
|
|
|
### Problems or missing features?
|
|
|
|
|
Open a new Issue describing your problem and if possible with a possible solution.
|
|
|
|
|
### Missing a feature or found an unsupported tool/distro?
|
|
|
|
|
Just let us now what you are missing by opening an issue.
|
|
|
|
|
For tools please open an Issue describing the tool, which platforms it supports and if possible, give us an example of its usage.
|
|
|
|
|
### Want to contribute to the code?
|
2022-10-22 09:27:27 +00:00
|
|
|
Just fork the repository and start coding.
|
2022-10-19 10:55:09 +02:00
|
|
|
|
2019-06-05 14:15:45 +03:00
|
|
|
## Remote execution
|
2022-01-23 15:44:58 +01:00
|
|
|
You can specify a key called `remote_topgrades` in the configuration file.
|
|
|
|
|
This key should contain a list of hostnames that have topgrade installed on them.
|
|
|
|
|
Topgrade will use `ssh` to run `topgrade` on remote hosts before acting locally.
|
|
|
|
|
To limit the execution only to specific hosts use the `--remote-host-limit` parameter.
|