LMU - Das Hilfe Forum für Linux Mint

Software => Shell-Programmierung und Scripting => Thema gestartet von: C64 am 10.06.2021, 06:23:43

Titel: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 06:23:43
Desktop: MATE 1.20.1 Distro: Linux Mint 19.1 Tessa

Hallo ,

Ich versuche schon seit längere Zeit heraus zu finden wie Ich mit wget immer die neuste Version von "Ventoy" runter laden kann .

Habe folgendes schon getestet :

wget -q -c -P VentoyNeu https://github.com/ventoy/Ventoy/releases/download/v1.0.45/*.iso

wget -r -q -nd -A *.gz -I VentoyNeu https://github.com/ventoy/Ventoy/releases/download/v1.0.45/*.gz

Es will einfach nicht Funktionieren

Auf Ventoy Seite gibt es 3 Dateien:
    gz, iso , und zip ( zip für win )
https://github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-linux.tar.gz

https://github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-livecd.iso

https://github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-windows.zip


Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Wolfgang58 am 10.06.2021, 06:55:20
Guten Morgen,
versuch es mal hiermit:
wget -r -A zip,iso https://github.com/ventoy/Ventoy/releases/INFO: https://wiki.ubuntuusers.de/wget/ (https://wiki.ubuntuusers.de/wget/)
Gruß
Wolfgang
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 09:32:19
Danke erst mal für deine Hilfe

Bin Grade an testen aber da wird alles geladen und nicht das Letzte neueste .
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Wolfgang58 am 10.06.2021, 09:58:28
Moin,
ja, ich habe mir die Seite angeschaut und mal nur >iso< angegeben, da werden dann alle Versionen (auch die neuste) von der Seite geladen. Das passiert daher, dass die alle Versionen auf der Seite .../releases/ haben...
Gruß
Wolfgang
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Wolfgang58 am 10.06.2021, 10:09:21
Moin,
versuch dies:
wget https://github.com/ventoy/Ventoy/archive/refs/heads/master.zipDa sollte dann nur die Master (neuste Version) geladen werden.
Oder aber:
wget github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-livecd.isoda musst du aber die aktuelle Versionsnummer kennen.
Gruß
Wolfgang
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 10.06.2021, 10:43:32
So könnte es gehen

#!/bin/sh

v=$(curl --silent "https://api.github.com/repos/$1/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'  | sed 's/v//g')
echo $v
iso="ventoy-$v-livecd.iso"
echo $iso
url=https://github.com/ventoy/Ventoy/releases/download/v$v/$iso
echo $url
wget $url

speichern als get_latest, ausführbar machen, dann
./get_latest "ventoy/Ventoy"
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Whitie am 10.06.2021, 10:48:37
Probier mal:

curl -s https://api.github.com/repos/ventoy/Ventoy/releases/latest | grep "browser_download_url.*iso" | cut -d : -f 2,3 | tr -d \" | wget -qi -

Kommt von hier (https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8)

Gruß
Whitie
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: g.rubienne am 10.06.2021, 10:57:24
nach den bekannt gewordenen Macken würde ich grundsätzlich vorgehen, wie hier beschrieben (https://wiki.ubuntuusers.de/Ventoy/#Installation)
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 12:55:06
Moin,
versuch dies:
wget https://github.com/ventoy/Ventoy/archive/refs/heads/master.zipDa sollte dann nur die Master (neuste Version) geladen werden.
Oder aber:
wget github.com/ventoy/Ventoy/releases/download/v1.0.45/ventoy-1.0.45-livecd.isoda musst du aber die aktuelle Versionsnummer kennen.
Gruß
Wolfgang

Bei Master wird auch alles geladen , Das andere kann man gleich Manuell runterladen.
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 12:57:31
So könnte es gehen

#!/bin/sh

v=$(curl --silent "https://api.github.com/repos/$1/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'  | sed 's/v//g')
echo $v
iso="ventoy-$v-livecd.iso"
echo $iso
url=https://github.com/ventoy/Ventoy/releases/download/v$v/$iso
echo $url
wget $url

speichern als get_latest, ausführbar machen, dann
./get_latest "ventoy/Ventoy"

Funktioniert muss man nur 3 x mit gz , zip , iso machen :-)
Nachteil es wird nicht geprüft ob eine Datei schon vorhanden ist sondern runtergeladen.
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 12:57:50
Probier mal:

curl -s https://api.github.com/repos/ventoy/Ventoy/releases/latest | grep "browser_download_url.*iso" | cut -d : -f 2,3 | tr -d \" | wget -qi -

Kommt von hier (https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8)

Gruß
Whitie

Funktioniert muss man nur 3 x mit gz , zip , iso machen :-)
Nachteil es wird nicht geprüft ob eine Datei schon vorhanden ist sondern runtergeladen.
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 10.06.2021, 13:40:06
Funktioniert muss man nur 3 x mit gz , zip , iso machen :-)

Wozu brauchst Du überhaupt gz, zip, iso?

ventoy-1.0.45-linux.tar.gz beinhaltet doch alles was man braucht.

Nachteil es wird nicht geprüft ob eine Datei schon vorhanden ist sondern runtergeladen.

Eine Abfrage kannst Du hinzufügen.
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Whitie am 10.06.2021, 15:31:51
Ungetestet:
curl -s https://api.github.com/repos/ventoy/Ventoy/releases/latest | grep "browser_download_url.*[iso|gz|zip]" | cut -d : -f 2,3 | tr -d \" | wget -qi -

Müsste alle drei laden, prüft aber nicht.
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 10.06.2021, 15:59:55
mit Abfrage als python Skript:

import requests
import wget
import os

url = "https://api.github.com/repos/ventoy/Ventoy/releases/latest"

result = requests.get(url).json()

gz_url = result["assets"][0]["browser_download_url"]
iso_url = result["assets"][1]["browser_download_url"]
zip_url = result["assets"][2]["browser_download_url"]

print(f"{gz_url}\n{iso_url}\n{zip_url}")

gz_file = gz_url.split("/")[-1]
iso_file = iso_url.split("/")[-1]
zip_file = zip_url.split("/")[-1]

print(f"{gz_file}\n{iso_file}\n{zip_file}")

if not os.path.isfile(gz_file):
    wget.download(gz_url)
else:
    print(f"{gz_file} already exists")
   
if not os.path.isfile(iso_file):
    wget.download(iso_url)
else:
    print(f"{iso_file} already exists")
   
if not os.path.isfile(zip_file):
    wget.download(zip_url)
else:
    print(f"{zip_file} already exists")
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 21:36:21
@Axel-Erfurt
python AutoDownload.py
  File "AutoDownload.py", line 13
    print(f"{gz_url}\n{iso_url}\n{zip_url}")
                                          ^
SyntaxError: invalid syntax


Es wird ein Fehler ausgegeben , Trotzdem Danke



@Whitie
Funktioniert Danke



Allen anderen auch Danke für die Hilfe und Unterstützung
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 10.06.2021, 21:41:51
python 2 ist tot.

python3 AutoDownload.py
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Linuxguides am 10.06.2021, 21:44:48
schaue mal hier
https://www.ventoy.net/en/download.html
 :D
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 22:24:15
python3 AutoDownload.py


python3 AutoDownload.py
Traceback (most recent call last):
  File "AutoDownload.py", line 2, in <module>
    import wget
ModuleNotFoundError: No module named 'wget'


Gleiche Fehler
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 10.06.2021, 22:26:06
schaue mal hier
https://www.ventoy.net/en/download.html
 :D

??
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 10.06.2021, 22:30:00
python3 AutoDownload.py


python3 AutoDownload.py
Traceback (most recent call last):
  File "AutoDownload.py", line 2, in <module>
    import wget
ModuleNotFoundError: No module named 'wget'


Gleiche Fehler

Es ist nicht der gleiche Fehler,

pip3 install wget
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Whitie am 11.06.2021, 12:06:47
Ich habe den Code mal etwas aufgeräumt und die Abhängigkeit zu wget entfernt (wird seit 2015 nicht mehr weiterentwickelt):
#!/usr/bin/env python3

import requests
import os

GITHUB_API_URL = "https://api.github.com/repos/ventoy/Ventoy/releases/latest"


def download_file(url):
    filename = url.split('/')[-1]
    print(f'Filename: {filename}')
    if os.path.exists(filename):
        print(f'{filename} already exists, skipping...')
    else:
        response = requests.get(url)
        with open(filename, 'wb') as fp:
            fp.write(response.content)
        print(f'{filename} downloaded')


def main():
    response = requests.get(GITHUB_API_URL)
    response.raise_for_status()
    data = response.json()
    for filedata in data['assets']:
        url = filedata.get('browser_download_url', '')
        if url:
            print(f'Found URL: {url}')
            download_file(url)
    print('Finished')


if __name__ == '__main__':
    main()

Kannst du als z. B. download_ventoy.py speichern, ausführbar machen (chmod +x download_ventoy.py) und dann starten.

Gruß
Whitie
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: C64 am 12.06.2021, 23:00:01
Danke ,Funktioniert

Habe mir gedacht Ich könnte diesen Code auch für andere Downloads Benutzen aber bin zu Dumm sehe nicht mal wo die Files stehen die er runter ladet
Titel: Re: wget neuste Ventoy Version runter laden , Aber wie ?
Beitrag von: Axel-Erfurt am 13.06.2021, 10:22:51
Die heruntergeladenen Dateien werden in dem Ordner gespeichert in dem sich das Skript befindet.