Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "jeremie2/Prove14"
Differenze tra le versioni 12 e 26 (in 14 versioni)
Versione 12 del 11/10/2020 23.06.47
Dimensione: 9293
Autore: jeremie2
Commento:
Versione 26 del 29/09/2024 20.22.32
Dimensione: 5291
Autore: jeremie2
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)>>
Linea 4: Linea 5:
<<Indice>>
<<Informazioni(forum=http://forum.ubuntu-it.org/viewtopic.php?t=641900; rilasci="20.04 18.04 16.04")>>
<<Informazioni(forum=http://forum.ubuntu-it.org/viewtopic.php?t=641900; rilasci="22.04 20.04 24.04 24.10")>>
Linea 9: Linea 9:
Quando si effettua il download di Ubuntu da internet, c'è la possibilità che il file non venga scaricato nel modo corretto e presenti degli errori. Questi errori possono compromettere la stabilità e/o il funzionamento di Ubuntu. 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 11: Linea 11:
Il programma '''sha256sum''' è progettato per verificare l'integrità e l'autenticità dei dati usando l'hash crittografica a 256 bit [[http://it.wikipedia.org/wiki/Secure_Hash_Algorithm|SHA256Sum]]. 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 13: Linea 14:
In questa pagina viene mostrato come confrontare l'impronta '''SHA256Sum''' dei [[http://www.ubuntu-it.org/download|file .iso]] di installazione, in modo da verificare che le hash dei file risultino identiche a quelle riportate nella [[Installazione/SHA256Sum/Hash|lista completa]]. In questo modo è possibile assicurarsi che durante la fase di download non sia stata compromessa l'integrità del file, evitando eventuali problemi durante l'installazione del sistema. = Script =
Linea 15: Linea 16:
{{{#!wiki important
È altamente consigliato, in caso di divergenza fra le due SHA256SUM di scaricare nuovamente il file e di non procedere alla [[Hardware/DispositiviPartizioni/MasterizzareIso|masterizzazione]] o alla scrittura su [[Installazione/CreazioneLiveUsb|supporto USB]] dell'immagine.
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]].

{{{
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())
Linea 19: Linea 88:
Il file `SHA256SUM` è disponibile allo stesso indirizzo di download delle immagini `.iso` di Ubuntu. Ad esempio, gli indirizzi: = Utilizzo =
Linea 21: Linea 90:
 * '''Ubuntu 20.04.1''': http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/
 * '''Kubuntu 18.04.5''': http://cdimage.ubuntu.com/kubuntu/releases/18.04/release/
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`
Linea 24: Linea 92:
contengono sia i file `.iso` che i relativi file `SHA256SUM`. 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'''.
Linea 26: Linea 94:
Per il nuovo download può essere consigliabile un mirror differente se si sospetta un errore nel server. Qualora si riceva continuamente un file errato da un server è opportuno e gradito segnalare tale problema al webmaster, in modo che si possa investigare.

= Verifica da terminale (universale) =

Il seguente metodo consente di verificare l'impronta '''sha256sum''' sia su '''Ubuntu''' che su qualsiasi altra sua [[https://www.ubuntu-it.org/derivate|variante]]. Per metodi tramite interfacce grafiche, vedere il [[#grafica|capitolo successivo]].

 0. Scaricare nella propria '''Home''' il file `.iso` (in questo esempio l'immagine `ubuntu-20.04.1-desktop-amd64.iso`) e il file `SHA256SUM`.
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] il [[AmministrazioneSistema/Terminale|terminale]] e digitare il comando:{{{
sha256sum ubuntu-20.04.1-desktop-amd64.iso
}}}che restituirà un risultato del tipo:{{{
b45165ed3cd437b9ffad02a2aad22a4ddc69162470e2622982889ce5826f6e3d ubuntu-20.04.1-desktop-amd64.iso
 * '''24.10''': digitare il comando:{{{
python3 script.py 24.10 > hash_24-10.txt
Linea 38: Linea 97:
 0. Copiare l'impronta, in questo caso:{{{
b45165ed3cd437b9ffad02a2aad22a4ddc69162470e2622982889ce5826f6e3d
 * '''24.04''': digitare il comando:{{{
python3 script.py 24.04 > hash_24-04.txt
Linea 41: Linea 100:
 0. Aprire il file `SHA256SUM`, premere la combinazione dei tasti '''CTRL+F''' per accedere al campo di ricerca e incollare il codice copiato al passo precedente.
 0. Se non ci sono errori, il codice verrà evidenziato all'interno del file di testo.

{{{#!wiki tip
Se non si è in possesso del file `SHA256SUM`, in alternativa è possibile procedere nel medesimo modo recandosi con il browser alla [[Installazione/SHA256Sum/Hash|seguente pagina]], nella quale sono elencate tutte le impronte delle versioni di Ubuntu.<<BR>>Anche nel browser la combinazione di tasti '''CTRL+F''' permette di accedere al campo di ricerca nel quale incollare l'impronta del file `iso`.
 * '''22.04''': digitare il comando:{{{
python3 script.py 22.04 > hash_22-04.txt
}}}
 * '''20.04''': digitare il comando:{{{
python3 script.py 20.04 > hash_20-04.txt
Linea 48: Linea 107:
<<Anchor(grafica)>>
= Verifica da file manager =
<<Anchor(alternativo)>>
= Script alternativo =
Linea 51: Linea 110:
La verifica dell'impronta '''SHA256Sum''' delle immagini `iso`, può essere effettuata anche da interfaccia grafica. Vengono qui elencati i metodi attraverso i principali [[AmbienteGrafico/FileManager|file manager]]. Lo script è meno veloce del precedente, potrebbe richiedere vari secondi per l'esecuzione, tuttavia non richiede pacchetti aggiuntivi in una installazione standard di Ubuntu.
Linea 53: Linea 112:
{{{
import urllib.request
import requests
Linea 54: Linea 116:
== Tramite Nautilus == from sys import argv
script, ubu_version = argv
Linea 56: Linea 119:
'''Nautilus''' è il file manager predefinito di '''Gnome''', usato in '''Ubuntu'''. ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon")
Linea 58: Linea 121:
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://nautilus-gtkhash|nautilus-gtkhash]]
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Nautilus'''.
 0. Fare clic col destro sull'immagine `.iso` da verificare, selezionare '''''Proprietà → Impronte (Digest)''''' e mettere la spunta su '''SHA256''' .
 0. Digitare la somma '''SHA256''' contenuta nel file `SHA256SUM` relativo all'immagine `.iso` di cui si vuole controllare l'integrità nella casella '''Check'''.
 0. Fare clic su '''Hash''' e attendere il responso.
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")
Linea 64: Linea 130:
Il comparire del segno (./) conferma la congruità del file `.iso`. #STAMPA HASH UBUNTU PRESENTI IN https://releases.ubuntu.com/
print("UBUNTU")
link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS"
print_hash(link)
Linea 66: Linea 135:
== Tramite Nemo == #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)
Linea 68: Linea 141:
'''Nemo''' è il file manager predefinito di '''Cinnamon''', spesso installato come rimpiazzo del file manager '''Nautilus''' usato in '''Ubuntu'''. #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)
Linea 70: Linea 146:
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://nemo-gtkhash|nemo-gtkhash]]
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Nemo'''.
 0. Fare clic col destro sull'immagine `.iso` da verificare, selezionare '''''Proprietà → Impronte (Digest)''''' e mettere la spunta su '''SHA256''' .
 0. Digitare la somma '''SHA256''' contenuta nel file `SHA256SUM` relativo all'immagine `.iso` di cui si vuole controllare l'integrità nella casella '''Check'''.
 0. Fare clic su '''Hash''' e attendere il responso.
}}}
Linea 76: Linea 148:
Il comparire del segno (./) conferma la congruità del file `.iso`. = Ulteriori risorse =
Linea 78: Linea 150:
== Tramite Dolphin ==

'''Dolphin''' è il file manager predefinito di '''KDE''', usato in '''Kubuntu'''.

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Dolphin'''.
 0. Spostarsi nella cartella dove è stato salvato il file immagine con estensione `.iso`.
 0. Fare clic con il pulsante destro del mouse sull'immagine `.iso` e selezionare '''''Proprietà → Codici di controllo'''''.
 0. Digitare la somma '''SHA256''' contenuta nel file `SHA256SUM` relativo all'immagine `.iso` di cui si vuole controllare l'integrità.
 0. Fare clic su '''Calcola''' a fianco del '''SHA256:''' ed attendere il responso.

== Tramite Thunar ==

'''Thunar''' è il file manager predefinito di '''Xfce''', usato in '''Xubuntu'''.

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://thunar-gtkhash|thunar-gtkhash]]
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Thunar'''.
 0. Fare clic col destro sull'immagine `.iso` da verificare, selezionare '''''Proprietà → Impronte (Digest)''''' e mettere la spunta su '''SHA256''' .
 0. Digitare la somma '''SHA256''' contenuta nel file `SHA256SUM` relativo all'immagine `.iso` di cui si vuole controllare l'integrità nella casella '''Check'''.
 0. Fare clic su '''Hash''' e attendere il responso.

Il comparire del segno (./) conferma la congruità del file `.iso`.

##= Su Window =

##Alternativamente è possibile utilizzare '''sha256sum''':

## 0. Scaricare e installare [[http://www.labtestproject.com/files/win/sha256sum/sha256sum.exe||sha256sum]] nella stessa cartella ove salvato il file immagine `.iso`.
## 0. Selezionare '''''Esegui...''''' dal menu avvio e inserire '''cmd''' col nome del programma per aprire la finestra di '''''Command Prompt'''''.
## 0. Spostarsi nella cartella ove salvato il file immagine `.iso`.
## 0. Eseguire il sha256sum sul file immagine `.iso` digitando il seguente comando:{{{
##cd "C:\Documents and Settings\Owner\My Documents\My Downloads\Ubuntu"
##sha256sum.exe ubuntu-20.04-desktop-amd64.iso
##}}}
## 0. Una volta completato il checksum del programma aprire [[Installazione/SHA256Sum/Hash|questa pagina]], con l'elenco di tutte le '''hash''' dei sistemi Ubuntu.
## 0. Digitare Ctrl+F per aprire la casella di ricerca del browser.
## 0. Fare copia/incolla della '''hash''' nel campo di ricerca ed eseguire la ricerca.
## 0. Se non ci sono errori verrà evidenziato il medesimo codice all'interno della lista.

##= Su Window =

##Alternativamente è possibile utilizzare '''md5sum''':

## 0. Scaricare e installare [[http://etree.org/software.html|md5sum]] nella stessa cartella ove salvato il file immagine `.iso`.
## 0. Selezionare '''''Esegui...''''' dal menu avvio e inserire '''cmd''' col nome del programma per aprire la finestra di '''''Command Prompt'''''.
## 0. Spostarsi nella cartella ove salvato il file immagine `.iso`.
## 0. Eseguire il sha256sum sul file immagine `.iso` digitando il seguente comando:{{{
##cd "C:\Documents and Settings\Owner\My Documents\My Downloads\Ubuntu"
##md5sum.exe ubuntu-20.04-desktop-amd64.iso
##}}}
## 0. Una volta completato il checksum del programma aprire [[Installazione/MD5Sum/Hash|questa pagina]], con l'elenco di tutte le '''hash''' dei sistemi Ubuntu.
## 0. Digitare Ctrl+F per aprire la casella di ricerca del browser.
## 0. Fare copia/incolla della '''hash''' nel campo di ricerca ed eseguire la ricerca.
## 0. Se non ci sono errori verrà evidenziato il medesimo codice all'interno della lista.

= Collegamenti esterni =

 * [[http://it.wikipedia.org/wiki/Secure_Hash_Algorithm|Voce enciclopedica suSHA256Sum]]
 * [[https://help.ubuntu.com/community/HowToSHA256SUM|Documento originale]]
 * [[http://en.wikipedia.org/wiki/SHA-2|Voce enciclopedica in inglese]]
 * [[Installazione/SHA256Sum/Hash|Pagina wiki con tutte le impronte di Ubuntu]]
 * [[Installazione/SHA256Sum|Hash sha256]]
 * [[Installazione/SHA256Sum/Hash|Elenco delle hash sha256]]


Guida verificata con Ubuntu: 22.04 24.04 24.10

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.

  • 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
  • 20.04: digitare il comando:

    python3 script.py 20.04 > hash_20-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)

Ulteriori risorse


CategoryInstallazioneSistema