|
Dimensione: 3397
Commento:
|
← Versione 21 del 01/10/2025 19.02.50 ⇥
Dimensione: 5291
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 1: | Linea 1: |
| #LANGUAGE it #format wiki |
## page was renamed from GruppoDocumentazione/NuovoRilascio/ScriptHashSHA256Sum #page created by wilecoyote <<Indice(depth=2)>> |
| Linea 4: | Linea 5: |
| <<Indice(depth=1)>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=657357";rilasci="24.04 24.10 25.04")>> |
<<Informazioni(forum=http://forum.ubuntu-it.org/viewtopic.php?t=641900; rilasci="22.04 24.04 25.04 25.10")>> |
| Linea 9: | Linea 9: |
| Questa pagina contiene esempi di file `/etc/apt/sources.list.d/ubuntu.sources` per Ubuntu. Sono attivi i [[Repository/Componenti|componenti]] '''main''', '''restricted''', '''universe''', '''multiverse''' e gli aggiornamenti normali e quelli di sicurezza. Per la modifica del file dei repository del sistema consultare la [[Repository|relativa guida]]. | 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: |
| Per quanto riguarda i repository aggiuntivi, esistono anche i cosiddetti '''proposed''' (es: ''focal-proposed'', ecc.), __non__ adatti però agli utenti finali, ma soltanto a chi desidera controllarne il corretto funzionamento, in quanto contenenti pacchetti potenzialmente instabili che potrebbero in alcuni casi anche inficiare il corretto funzionamento di APT. | 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: |
| {{{#!wiki note Guida relativa al nuovo file di configurazione '''ubuntu.sources''' in utilizzo dalla versione '''24.04''' di Ubuntu. Per le versioni precedenti consultare la pagina relativa al vecchio file [[Repository/SourcesList|sources.list]]. |
= Script = 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 17: | Linea 88: |
| <<Anchor(plucky)>> = Ubuntu 25.04 Plucky Puffin = |
= 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.10''': digitare il comando:{{{ python3 script.py 25.10 > hash_25-10.txt }}} * '''25.04''': digitare il comando:{{{ python3 script.py 25.04 > hash_25-04.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. |
| Linea 21: | Linea 113: |
| Types: deb URIs: http://archive.ubuntu.com/ubuntu Suites: plucky plucky-updates noble-backports Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
import urllib.request import requests |
| Linea 27: | Linea 116: |
| Types: deb URIs: http://security.ubuntu.com/ubuntu/ Suites: noble-security Components: multiverse main universe restricted Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg }}} |
from sys import argv script, ubu_version = argv |
| Linea 34: | Linea 119: |
| <<Anchor(oracular)>> = Ubuntu 24.10 Oracular Oriole = |
ubuntu_flavours = ("kubuntu", "ubuntu-mate", "xubuntu", "lubuntu", "ubuntu-unity", "ubuntu-budgie", "ubuntustudio", "ubuntukylin", "ubuntucinnamon") |
| Linea 37: | Linea 121: |
| {{{ Types: deb URIs: http://archive.ubuntu.com/ubuntu/ Suites: oracular oracular-updates oracular-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
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 44: | Linea 130: |
| Types: deb URIs: http://security.ubuntu.com/ubuntu/ Suites: oracular-security Components: multiverse main universe restricted Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg }}} |
#STAMPA HASH UBUNTU PRESENTI IN https://releases.ubuntu.com/ print("UBUNTU") link = f"https://releases.ubuntu.com/{ubu_version}/SHA256SUMS" print_hash(link) |
| Linea 51: | Linea 135: |
| <<Anchor(noble)>> = Ubuntu 24.04 Noble Numbat = |
#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 54: | Linea 141: |
| {{{ Types: deb URIs: http://archive.ubuntu.com/ubuntu Suites: noble noble-updates noble-backports Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
#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 61: | Linea 146: |
| Types: deb URIs: http://security.ubuntu.com/ubuntu/ Suites: noble-security Components: multiverse main universe restricted Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg }}} = Versione in fase di sviluppo = {{{#!wiki tip Leggere la pagina [[Ubuntu+1]] per informazioni sulla versione di sviluppo corrente. }}} == Ubuntu 25.10 Questing Quokka == {{{ Types: deb URIs: http://archive.ubuntu.com/ubuntu/ Suites: questing questing-updates questing-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb URIs: http://security.ubuntu.com/ubuntu/ Suites: questing-security Components: multiverse main universe restricted Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
|
| Linea 92: | Linea 150: |
| * [[Repository|Guida ai repository]] * [[Ubuntu+1|Informazioni sulla versione in fase di sviluppo]] * [[Repository/SourcesList/EOL|File sources.list nelle versioni EOL]] |
* [[Installazione/SHA256Sum|Hash sha256]] * [[Installazione/SHA256Sum/Hash|Elenco delle hash sha256]] |
| Linea 97: | Linea 154: |
| CategoryAmministrazione | CategoryInstallazioneSistema |
Guida verificata con Ubuntu: 22.04 24.04 25.04 25.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.
25.10: digitare il comando:
python3 script.py 25.10 > hash_25-10.txt
25.04: digitare il comando:
python3 script.py 25.04 > hash_25-04.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)
