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 7 e 26 (in 19 versioni)
Versione 7 del 05/04/2019 17.27.55
Dimensione: 3450
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="22.04 20.04 24.04 24.10")>>
Linea 8: Linea 9:
Questo documento fornisce istruzioni e annotazioni sull'avanzamento a '''Ubuntu 19.04''', rilasciato il 18 Aprile 2019. 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:
= Prima di cominciare = 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:
 * È possibile effettuare un avanzamento diretto a '''Ubuntu 19.04''' partendo da '''Ubuntu 18.10'''; per maggiori informazioni consultare le [[Installazione/NoteAvanzamento|note di avanzamento]].
 * Assicurarsi di aver applicato tutti gli aggiornamenti prima di effettuare l'avanzamento.
 * Prima di procede con l'avanzamento è consigliato leggere le [[CosmicNoteDiRilascio|note di rilascio]]; tale documento fornisce avvertimenti e soluzioni per i problemi noti di questa versione.
= Script =
Linea 16: Linea 16:
{{{#!wiki important
Se si dispone di una versione differente da Ubuntu 18.10, consultare le [[Installazione/NoteAvanzamento|note di avanzamento]] per conoscerne le modalità di aggiornamento.
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 20: Linea 88:
<<Anchor(ubuntu-desktop-rete)>>
= Aggiornare alla versione 19.04 =
= Utilizzo =
Linea 23: Linea 90:
== Avanzamento via rete per sistemi Desktop Ubuntu (raccomandato) == 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 25: Linea 92:
L'avanzamento attraverso la rete risulta semplice seguendo la seguente procedura. 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 27: Linea 94:
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Software e aggiornamenti'''.
 0. Nella scheda '''Aggiornamenti''' scegliere '''Per qualsiasi versione''' alla voce '''Notificare nuove versioni di Ubuntu'''.
 0. Fare clic su '''Chiudi'''.
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Aggiornamenti software'''.
 0. Se sono presenti nuovi aggiornamenti, fare clic su '''Installa ora'''. Riavviare se richiesto.
 0. Chiudere e [[AmbienteGrafico/AvviareProgrammi|avviare]] nuovamente '''Aggiornamenti software''' per visualizzare il messaggio che notifica la disponibilità di un nuovo rilascio.
 0. Fare clic su '''Esegui aggiornamento''' e seguire le istruzioni a schermo.
 * '''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
}}}
Linea 35: Linea 107:
== Avanzamento via rete per sistemi Server Ubuntu (raccomandato) == <<Anchor(alternativo)>>
= Script alternativo =
Linea 37: Linea 110:
 0. Installare il pacchetto [[apt://update-manager-core | update-manager-core]], se non è già installato, con il seguente comando: {{{
sudo apt install update-manager-core
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)
Linea 40: Linea 147:
 0. Modificare con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] la riga '''Prompt=''' nel file `/etc/update-manager/release-upgrades` in questo modo:{{{
Prompt=normal
}}}
 0. Avviare lo strumento di avanzamento con il seguente comando: {{{
do-release-upgrade
}}}
 0. Seguire le istruzioni a schermo.

= Piccoli accorgimenti prima dell'avanzamento =

Prima di procedere con l'avanzamento di versione, è consigliabile effettuare queste semplici operazioni ove necessario:

 * [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto ''ubuntu-desktop'' (o ''kubuntu-desktop'', ''xubuntu-desktop'', ''edubuntu-desktop'', ''edubuntu-desktop-kde'', a seconda della versione in uso); nel caso fosse già installato, non è richiesta alcuna operazione aggiuntiva su tale pacchetto.
 * Eliminare dal file `/etc/apt/sources.list` eventuali [[Repository/NonUfficiali#aggiornamento-release|repository di terze parti]] e procedere alla rimozione integrale del software da loro fornito.
 * [[AmministrazioneSistema/PulireUbuntu|Pulire il sistema]] da tutti i file non più utili per liberare ulteriore spazio.
Linea 58: Linea 150:
 * [[https://help.ubuntu.com/community/CosmicUpgrades|Documento originale]]
 * [[Installazione/NoteAvanzamento|Note di avanzamento]]
 * [[Installazione/SHA256Sum|Hash sha256]]
 * [[Installazione/SHA256Sum/Hash|Elenco delle hash sha256]]
Linea 62: Linea 154:
CategoryAmministrazione CategoryInstallazioneSistema CategoryInstallazioneSistema


Guida verificata con Ubuntu: 20.04 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