Dimensione: 1676
Commento:
|
← Versione 17 del 01/04/2025 16.34.24 ⇥
Dimensione: 5291
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#format wiki #LANGUAGE it |
## page was renamed from GruppoDocumentazione/NuovoRilascio/ScriptHashSHA256Sum #page created by wilecoyote <<Indice(depth=2)>> <<BR>> <<Informazioni(forum=http://forum.ubuntu-it.org/viewtopic.php?t=641900; rilasci="22.04 24.04 24.10 25.04")>> |
Linea 4: | Linea 7: |
<<Include(GruppoDocumentazione/Header2)>> <<Include(GruppoDocumentazione/Header3)>> |
= Introduzione = |
Linea 7: | Linea 9: |
<<BR>> <<Indice(depth=2 align=right)>> |
Nelle pagine di download di Ubuntu, oltre alle immagini '''iso''' del sistema operativo, è regolarmente presente il file '''SHA256SUM''' con l'elenco delle impronte SHA256Sum di ciascun file `iso`. |
Linea 10: | Linea 11: |
= Guida wiki = | In questa pagina viene mostrato l'utilizzo di uno '''script''' in grado di rilevare dalle pagine di download tutte le impronte SHA256Sum di Ubuntu e derivate a seconda del numero di versione (22.04, 24.04, ecc..).<<BR>> Per ogni versione verrà creato un file con l'elenco delle hash per le `iso` di Ubuntu e derivate. |
Linea 12: | Linea 14: |
In questa pagina sono elencati numerosi link a guide con informazioni utili per l'editazione delle pagine e operazioni di vario genere. | = Script = |
Linea 14: | Linea 16: |
= Nuovi arrivati = | Il seguente script richiede l'[[AmministrazioneSistema/InstallareProgrammi|installazione]] del pacchetto [[apt://aiohttp-wsgi-serve|aiohttp-wsgi-serve]]. In caso di problemi è possibile utilizzare uno script [[#alternativo|alternativo]]. |
Linea 16: | Linea 18: |
Se non hai esperienza la [[GuidaWiki/Standard|questa guida]] mostra le funzionalità basilari dell'editazione di una pagina wiki, cioè come ottenere: grassetti, corsivi, link, titoli, ecc..<<BR>> Oltre a questo sono mostrati anche alcuni standard di scrittura (frasi comunemente utilizzate, formati dei nomi dei file/programmi/pacchetti/ecc..). |
{{{ import aiohttp import asyncio |
Linea 19: | Linea 22: |
Ti chiediamo di provare quanto più possibile (fin dove riesci) ad attenerti a queste linee guida, anche prendendo spunto dalle pagine già esistenti. | from sys import argv script, ubu_version = argv |
Linea 21: | Linea 25: |
||<tablestyle="text-align:justify; width:100%;" style="border:none;" 5%>{{attachment:Icone/Grandi/info.png}} ||<style="border:none;">In ogni pagina dal menù a tendina '''Altre azioni''' è possibile selezionare la voce '''Mostra il testo grezzo''' per visualizzare i formati utilizzati.|| | ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon") |
Linea 23: | Linea 27: |
= In caso di dubbi = | |
Linea 25: | Linea 28: |
I link in cima a questa pagina sono a portata di mano per risolvere buona parte delle problematiche relative all'editing delle pagine wiki. Tuttavia in caso di ulteriori dubbi '''non esitare''' a chiedere aiuto nei canali di supporto: [[http://forum.ubuntu-it.org/viewforum.php?f=46|forum]], [[http://liste.ubuntu-it.org/cgi-bin/mailman/listinfo/gruppo-doc|Mailing List|mailing list]] e canale IRC [[http://chat.ubuntu-it.org/#ubuntu-it-doc|#ubuntu-it-doc]].<<BR>> <<BR>> |
def create_versions_list(): versions = [] versions.append("UBUNTU") for version in ubuntu_flavours: versions.append(version.upper()) versions.append("SERVER_POWERPC") return versions def create_urls_collection(): urls = [] # Link hash Ubuntu link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS" urls.append(link) # Link hash derivate ufficiali di Ubuntu for flavour in ubuntu_flavours: link = f"https://cdimage.ubuntu.com/{flavour}/releases/{ubu_version}/release/SHA256SUMS" urls.append(link) # Link hash versioni server alternative, ecc.. link = f"https://cdimage.ubuntu.com/releases/{ubu_version}/release/SHA256SUMS" urls.append(link) return urls async def fetch_page(session, url): async with session.get(url) as response: if response.status == 200: return await response.text() else: return None async def main(): ubu_versions = create_versions_list() urls = create_urls_collection() async with aiohttp.ClientSession() as session: hash_pages = [] for url in urls: hash_pages.append(fetch_page(session, url)) htmls = await asyncio.gather(*hash_pages) for flavour_name, hash_text in zip(ubu_versions, htmls): if hash_text is None: print(f"{flavour_name}\nNon presente!\n") else: print(f"{flavour_name}\n{hash_text}") asyncio.run(main()) }}} = Utilizzo = Aprire un [[Ufficio/EditorDiTesto|editor di testo]], incollare il testo dello script riportato nel paragrafo precedente e salvare il file nella propria '''Home''' con il nome `script.py` Vengono elencati qui i comandi da [[AmministrazioneSistema/Terminale|terminale]] per ogni [[Rilasci|versione supportata]]. Ogni comando creerà nella propria '''Home''' un file con all'interno l'elenco delle impronte per una specifica versione di Ubuntu. Ad esempio il file '''hash_24-04.txt''' conterrà l'elenco delle hash SHA256Sum della versione '''24.04'''. * '''25.04''': digitare il comando:{{{ python3 script.py 25.04 > hash_25-04.txt }}} * '''24.10''': digitare il comando:{{{ python3 script.py 24.10 > hash_24-10.txt }}} * '''24.04''': digitare il comando:{{{ python3 script.py 24.04 > hash_24-04.txt }}} * '''22.04''': digitare il comando:{{{ python3 script.py 22.04 > hash_22-04.txt }}} <<Anchor(alternativo)>> = Script alternativo = Lo script è meno veloce del precedente, potrebbe richiedere vari secondi per l'esecuzione, tuttavia non richiede pacchetti aggiuntivi in una installazione standard di Ubuntu. {{{ import urllib.request import requests from sys import argv script, ubu_version = argv ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon") def print_hash(web_page): request = requests.get(web_page) if request.status_code == 200: web = urllib.request.urlopen(web_page) text = web.read().decode('utf_8') print(text) else: print("Non presente!\n") #STAMPA HASH UBUNTU PRESENTI IN https://releases.ubuntu.com/ print("UBUNTU") link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS" print_hash(link) #STAMPA HASH VARIANTI *BUNTU PRESENTI IN http://cdimage.ubuntu.com/ for i in ubuntu_flavours: link = f"https://cdimage.ubuntu.com/{i}/releases/{ubu_version}/release/SHA256SUMS" print(i.upper()) print_hash(link) #STAMPA HASH VERSIONI SERVER PRESENTI IN https://cdimage.ubuntu.com/releases/ print("SERVER_POWERPC") link = f"https://cdimage.ubuntu.com/releases/{ubu_version}/release/SHA256SUMS" print_hash(link) }}} = Ulteriori risorse = * [[Installazione/SHA256Sum|Hash sha256]] * [[Installazione/SHA256Sum/Hash|Elenco delle hash sha256]] |
Linea 29: | Linea 154: |
CategoryComunitaDocumentazione | CategoryInstallazioneSistema |
Guida verificata con Ubuntu: 22.04 24.04 24.10 25.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Nelle pagine di download di Ubuntu, oltre alle immagini iso del sistema operativo, è regolarmente presente il file SHA256SUM con l'elenco delle impronte SHA256Sum di ciascun file iso.
In questa pagina viene mostrato l'utilizzo di uno script in grado di rilevare dalle pagine di download tutte le impronte SHA256Sum di Ubuntu e derivate a seconda del numero di versione (22.04, 24.04, ecc..).
Per ogni versione verrà creato un file con l'elenco delle hash per le iso di Ubuntu e derivate.
Script
Il seguente script richiede l'installazione del pacchetto aiohttp-wsgi-serve. In caso di problemi è possibile utilizzare uno script alternativo.
import aiohttp import asyncio from sys import argv script, ubu_version = argv ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon") def create_versions_list(): versions = [] versions.append("UBUNTU") for version in ubuntu_flavours: versions.append(version.upper()) versions.append("SERVER_POWERPC") return versions def create_urls_collection(): urls = [] # Link hash Ubuntu link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS" urls.append(link) # Link hash derivate ufficiali di Ubuntu for flavour in ubuntu_flavours: link = f"https://cdimage.ubuntu.com/{flavour}/releases/{ubu_version}/release/SHA256SUMS" urls.append(link) # Link hash versioni server alternative, ecc.. link = f"https://cdimage.ubuntu.com/releases/{ubu_version}/release/SHA256SUMS" urls.append(link) return urls async def fetch_page(session, url): async with session.get(url) as response: if response.status == 200: return await response.text() else: return None async def main(): ubu_versions = create_versions_list() urls = create_urls_collection() async with aiohttp.ClientSession() as session: hash_pages = [] for url in urls: hash_pages.append(fetch_page(session, url)) htmls = await asyncio.gather(*hash_pages) for flavour_name, hash_text in zip(ubu_versions, htmls): if hash_text is None: print(f"{flavour_name}\nNon presente!\n") else: print(f"{flavour_name}\n{hash_text}") asyncio.run(main())
Utilizzo
Aprire un editor di testo, incollare il testo dello script riportato nel paragrafo precedente e salvare il file nella propria Home con il nome script.py
Vengono elencati qui i comandi da terminale per ogni versione supportata. Ogni comando creerà nella propria Home un file con all'interno l'elenco delle impronte per una specifica versione di Ubuntu. Ad esempio il file hash_24-04.txt conterrà l'elenco delle hash SHA256Sum della versione 24.04.
25.04: digitare il comando:
python3 script.py 25.04 > hash_25-04.txt
24.10: digitare il comando:
python3 script.py 24.10 > hash_24-10.txt
24.04: digitare il comando:
python3 script.py 24.04 > hash_24-04.txt
22.04: digitare il comando:
python3 script.py 22.04 > hash_22-04.txt
Script alternativo
Lo script è meno veloce del precedente, potrebbe richiedere vari secondi per l'esecuzione, tuttavia non richiede pacchetti aggiuntivi in una installazione standard di Ubuntu.
import urllib.request import requests from sys import argv script, ubu_version = argv ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon") def print_hash(web_page): request = requests.get(web_page) if request.status_code == 200: web = urllib.request.urlopen(web_page) text = web.read().decode('utf_8') print(text) else: print("Non presente!\n") #STAMPA HASH UBUNTU PRESENTI IN https://releases.ubuntu.com/ print("UBUNTU") link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS" print_hash(link) #STAMPA HASH VARIANTI *BUNTU PRESENTI IN http://cdimage.ubuntu.com/ for i in ubuntu_flavours: link = f"https://cdimage.ubuntu.com/{i}/releases/{ubu_version}/release/SHA256SUMS" print(i.upper()) print_hash(link) #STAMPA HASH VERSIONI SERVER PRESENTI IN https://cdimage.ubuntu.com/releases/ print("SERVER_POWERPC") link = f"https://cdimage.ubuntu.com/releases/{ubu_version}/release/SHA256SUMS" print_hash(link)