128 lines
No EOL
5 KiB
Markdown
128 lines
No EOL
5 KiB
Markdown
## Download and verify a Manjaro ISO.
|
|
|
|
The tool is a command line tool and is limited to x86 ISO but it provides a convenient way of downloading and verifying an ISO as they are listed on https://manjaro.org/download.
|
|
|
|
Neither Sway nor ARM is supported, sway because the files is located elsewhere and ARM because there is no signature.
|
|
|
|
The script has options to fetch the latest stable release review ISO or unstable developer previews from [Manjaro Github][github].
|
|
|
|
The [source][1] is free to use, and you are encouraged to clone my repo at [scm.nix.dk][2].
|
|
|
|
## Get started
|
|
Besides the basic Python modules - the script relies on the [Python requests][5] module and p7zip. You can check if you have p7zip installed using
|
|
|
|
which 7z
|
|
|
|
### Manjaro
|
|
On Manjaro you don't need to install the requests module - it is present as a dependency of pacman-mirrors.
|
|
|
|
You may need to install p7zip depending on the result of above check
|
|
|
|
sudo pacman -Syu p7zip
|
|
|
|
### Other Linux
|
|
If you are using another Linux you can use requirements.txt to install the necessary dependency.
|
|
|
|
You will also need to fetch the public key for Manjaro Build Server
|
|
|
|
gpg --recv-keys 3B794DE6D4320FCE594F4171279E7CF5D8D56EC8
|
|
|
|
Use your systems package manager to install p7zip.
|
|
|
|
### Setup
|
|
Create the folder **~/.local/bin**
|
|
|
|
mkdir -p ~/.local/bin
|
|
|
|
Then create a new file in this bin folder - name the file **get-iso** - then use your favorite text editor to copy paste [the code][1] into the new file.
|
|
|
|
Make the file executable
|
|
|
|
chmod +x ~/.local/bin/get-iso
|
|
|
|
## Usage
|
|
```
|
|
$ get-iso -h
|
|
usage: get-iso [-h] [-f] [-r | -d] {plasma,xfce,gnome,budgie,cinnamon,i3,mate}
|
|
|
|
This tool will download a named Manjaro ISO
|
|
|
|
positional arguments:
|
|
{plasma,xfce,gnome,budgie,cinnamon,i3,mate}
|
|
Edition e.g. plasma or xfce.
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
-f, --full Download full ISO
|
|
-o [OUT_DIR], --out-dir [OUT_DIR]
|
|
Folder to store dowloaded ISO files.
|
|
|
|
Previews:
|
|
-r, --review Get Latest Release Review ISO
|
|
-p, --preview Get Latest Developer Preview ISO
|
|
|
|
get-iso v. 0.9 - GPL v3 or later <https://www.gnu.org/licenses/gpl.html>
|
|
|
|
```
|
|
### Examples
|
|
The script defaults to pull the minimal ISO and downloaded files is placed your home folder.
|
|
|
|
Example downloading **full mate** edition
|
|
```
|
|
get-iso mate -f
|
|
```
|
|
```
|
|
Downloading: manjaro-mate-22.0-230104-linux61.iso
|
|
Downloading: manjaro-mate-22.0-230104-linux61.iso.sig
|
|
Wait for verification ...
|
|
gpg: assuming signed data in 'manjaro-mate-22.0-230104-linux61.iso'
|
|
gpg: Signature made ons 04 jan 2023 12:48:04 CET
|
|
gpg: using RSA key 3B794DE6D4320FCE594F4171279E7CF5D8D56EC8
|
|
gpg: Good signature from "Manjaro Build Server <build@manjaro.org>" [unknown]
|
|
gpg: WARNING: This key is not certified with a trusted signature!
|
|
gpg: There is no indication that the signature belongs to the owner.
|
|
Primary key fingerprint: 3B79 4DE6 D432 0FCE 594F 4171 279E 7CF5 D8D5 6EC8
|
|
```
|
|
|
|
Another example downloading **minimal plasma**
|
|
```
|
|
get-iso plasma
|
|
```
|
|
```
|
|
$ get-iso plasma
|
|
Downloading: manjaro-kde-22.1.3-minimal-230529-linux61.iso
|
|
Downloading: manjaro-kde-22.1.3-minimal-230529-linux61.iso.sig
|
|
Wait for verification ...
|
|
gpg: assuming signed data in 'manjaro-kde-22.1.3-minimal-230529-linux61.iso'
|
|
gpg: Signature made man 29 maj 2023 11:46:55 CEST
|
|
gpg: using RSA key 3B794DE6D4320FCE594F4171279E7CF5D8D56EC8
|
|
gpg: Good signature from "Manjaro Build Server <build@manjaro.org>" [unknown]
|
|
gpg: WARNING: This key is not certified with a trusted signature!
|
|
gpg: There is no indication that the signature belongs to the owner.
|
|
Primary key fingerprint: 3B79 4DE6 D432 0FCE 594F 4171 279E 7CF5 D8D5 6EC8
|
|
```
|
|
|
|
## Similar tool
|
|
There is a similar tool (without release-review ISO) in the repo [**manjaro-iso-downloader**][6] with a small GUI created using yad.
|
|
|
|
So if you are the point and click user, you can install it from the repo
|
|
|
|
sudo pacman -Syu manjaro-iso-downloader
|
|
|
|
|
|
## Revision
|
|
* [date=2024-01-05 time=14:37:00 timezone="Europe/Copenhagen"] Added optional -o/--out-dir to store downloaded ISO (default is **$HOME**)
|
|
* [date=2023-12-17 time=09:17:00 timezone="Europe/Copenhagen"] Change to -p/--preview for developer preview ISO
|
|
* [date=2023-12-07 time=15:30:00 timezone="Europe/Copenhagen"] Fix plasma download
|
|
* [date=2023-12-07 time=11:00:00 timezone="Europe/Copenhagen"] Added -d/--developer for developer preview ISO
|
|
* [date=2023-12-07 time=09:00:00 timezone="Europe/Copenhagen"] Added PKGBUILD
|
|
* [date=2023-12-07 time=07:32:00 timezone="Europe/Copenhagen"] Added -r/--review for release-review
|
|
|
|
Crossposted at https://root.nix.dk/en/utility-scripts/use-python-to-download-and-verify-manjaro-iso
|
|
|
|
|
|
[1]: https://forum.manjaro.org/t/root-tip-utility-script-using-python-to-download-and-verify-a-manjaro-iso/146703#the-complete-script-8
|
|
[2]: https://scm.nix.dk/root/manjaro-get-iso
|
|
[5]: https://pypi.org/project/requests/
|
|
[6]: https://packages.manjaro.org/?query=manjaro-iso-downloader
|
|
[github]: https://github.com/manjaro/release-review/releases/latest |