Ho riletto la guida, anche se l'avevo letta prima di aprire questa discussione. Inoltre la conoscevo già per avere già installato col "curl" la 2.2.0 sul precedente Ubuntu 20.04.
Ricordo di averlo usato ed essere riuscito ad installare Lazarus, ma ora il comando trovato nel blog va subito in errore:
$ curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Scusami se ti chiedo di aiutarmi, ma non capisco cosa non va nel comando.
Il problema è stato identificato, ed è stata trovata la soluzione.
Il certificato radice di "lets encrypt", uno delle organizzazioni di certificazione mondiali, che è installato su Ubuntu 22.04 non è quello usato per generare la mia chiave SSL, non sò se questa cosa è presente anche nelle versioni precedenti di Ubuntu oppure l'ultimo certificato rilasciatomi è diverso dai precedenti.
Sta di fatto che il certificato radice di TRUST non è quello presente di default (almeno in UBUNTU 22.04) ma bisogna scaricarlo direttamente dal provider.
L'installazione del certificato radice è tra l'altro cosa macchinosa in Ubuntu.
Partiamo con ordine:
Innanzitutto scarichiamo il certificato da questo link (è il link del certificatore): https://letsencrypt.org/certs/lets-encrypt-r3.pem (https://letsencrypt.org/certs/lets-encrypt-r3.pem)
Ora bisogna rinominare il file scaricato, in quanto Ubuntu vuole avere l'estensione del file come .crt e non come .pem e copiarlo nella apposita cartella (presuppongo che il download avvenga nella cartella HOME base dell'utente):
cd
mv lets-encrypt-r3.pem lets-encrypt-r3.crt
sudo cp lets-encrypt-r3.crt /usr/local/share/ca-certificates
fino a qui abbiamo copiato il nuovo certificato di trust (certificato intermedio) nella cartella dei certificati.
EDIT: (questa operazione non è necessaria)
Ora editiamo il file "/etc/ca-certificates.conf" e in coda aggiungiamo una riga con "lets-encrypt-r3.crt" (SENZA LE VIRGOLETTE).
Compiliamo l'elenco dei certificati aggiungendo nel contenitore di sistema quello nuovo:
sudo update-ca-certificates
Dovrebbe risultare qualcosa di simile a quanto in allegato, in particolare uguale a quello circoscritto di rosso.
Se è così ora anche quel certificato è ora operativo, potete riusare il curl senza "-k".
Che fatica ...... andate comunque nel blog, verrà mantenuto aggiornato l'articolo con tutte le novità.
Ciao
Purtroppo a me non ha funzionato.
Ho seguito tutto il percorso operativo che hai descritto nel precedente post. Riporto qui sotto gli ultimi passi:
dopo avere modificato il file "sudo gedit /usr/local/share/ca-certificates/lets-encrypt-r3.crt", con l'aggiunta alla fine della riga lets-encrypt-r3.crt, ho eseguito il comando:
petrus@petrusct:~/Scaricati$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Quindi, seguendo le tue indicazioni, secondo come le ho capite,
Se è così ora anche quel certificato è ora operativo, potete riusare il curl senza "-k".
ho lanciato:
petrus@petrusct:~$ curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (77) error setting certificate file: /etc/ssl/certs/ca-certificates.crt
Ho sbagliato?
Purtroppo a me non ha funzionato.
Ho seguito tutto il percorso operativo che hai descritto nel precedente post. Riporto qui sotto gli ultimi passi:
dopo avere modificato il file "sudo gedit /usr/local/share/ca-certificates/lets-encrypt-r3.crt", con l'aggiunta alla fine della riga lets-encrypt-r3.crt, ho eseguito il comando:
......
Non devi ASSOULTAMENTE MODIFICARE QUEL FILE .... dovevi modificare il file /etc/ca-certificates.conf e aggiungere in fondo (nuova riga) lets-encrypt-r3.crt senza altro, ne percorso ne altro.
Ora, probabilmente il "contenitore di sistema" dei certificati è danneggiato, e và ricostruito.
Riesegui la copia del file lets-encrypt-r3.crt in modo da avere quello originale in /usr/local/share/ca-certificates/
Poi esegui il seguente comando, ricostruisce l'archivio dei certificati.(prima ricordati di modificare il file /etc/ca-certificates.conf come indicato.
sudo update-ca-certificates --verbose --fresh
Dovrebbe darti "128 added" come indicazione finale. Però può anche essere che il numero sia diverso.
Ciao
Non devi ASSOULTAMENTE MODIFICARE QUEL FILE .... dovevi modificare il file /etc/ca-certificates.conf e aggiungere in fondo (nuova riga) lets-encrypt-r3.crt senza altro, ne percorso ne altro.
Ora, probabilmente il "contenitore di sistema" dei certificati è danneggiato, e và ricostruito.
Riesegui la copia del file lets-encrypt-r3.crt in modo da avere quello originale in /usr/local/share/ca-certificates/
Poi esegui il seguente comando, ricostruisce l'archivio dei certificati.(prima ricordati di modificare il file /etc/ca-certificates.conf come indicato.
sudo update-ca-certificates --verbose --fresh
Dovrebbe darti "128 added" come indicazione finale. Però può anche essere che il numero sia diverso.
Mi dispiace, ho applicato letto male quanto letto. Dopo quello che ho passato in questi ultimi giorni, ho perso la bussola mentale. :-[
Ho ripercorso la procedura da te indicata sui certificati. Riporto la seintesi dell'ultimo comando:
petrus@petrusct:~$ sudo update-ca-certificates --verbose --fresh
Clearing symlinks in /etc/ssl/certs...
done.
Updating certificates in /etc/ssl/certs...
W: /usr/share/ca-certificates/lets-encrypt-r3.crt not found, but listed in /etc/ca-certificates.conf.
Doing .
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
link D-TRUST_Root_Class_3_CA_2_EV_2009.pem -> d4dae3dd.0
. . .
link certSIGN_ROOT_CA.pem -> 8d86cdd1.0
link Trustwave_Global_Certification_Authority.pem -> f249de83.0
128 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
petrus@petrusct:~$
Ora dovrei avviare curl, però non mi sento di proseguire, perchè non ho capito l'indicazione che hai dato alla fine del post (https://www.lazaruspascal.it/index.php?topic=2652.msg17408#msg17408), quando dici:
potete riusare il curl senza "-k".
Credo che il comando da dare sia:
curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
Chiedo scusa per la mia insicurezza, ma dopo quanto di sbagliato ho fatto ieri, non vorrei generare altre situazioni d'Errore da ricorreggere, non so come!
I contenitore è stato ricreato, quindi non dovresti avere problemi.
I comandi sono stati sdoppiati (vedi il blog aggiornato).
Uno è: curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
L'altro è: curl -k -L https://cloud.dyn-o-saur.com/lazarus-ide-k | bash
La differenza è che il primo istruisce il curl (e i wget che sono usati nello script) a verificare il server, ossia che il certificato del server faccia parte di una catena verificata. Per verificare la catena il tuo PC deve avere il certificato di "TRUST" installato, ossia il certificato pubblico che attesta la correttezza del certificato server.
In poche parole il curl verifica che il SERVER che si identifica come ad esempio PIPPO sia effettivamente PIPPO.
Questo è in realtà una doppio controllo che non servirebbe, essendo la connessione basata su HTTPS (su TLS).
La seconda forma invece istruisce il curl a ignorare la verifica diretta del server, fidandosi solo del protocollo HTTPS.
Se hai ancora problemi puoi usare la seconda forma che non richiede il certificato di TRUST (lets-encrypt-R3.crt)
Ciao
I contenitore è stato ricreato, quindi non dovresti avere problemi.
I comandi sono stati sdoppiati (vedi il blog aggiornato).
Uno è: curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
L'altro è: curl -k -L https://cloud.dyn-o-saur.com/lazarus-ide-k | bash
La differenza è che il primo istruisce il curl (e i wget che sono usati nello script) a verificare il server, ossia che il certificato del server faccia parte di una catena verificata. . . .
La seconda forma invece istruisce il curl a ignorare la verifica diretta del server, fidandosi solo del protocollo HTTPS.
Se hai ancora problemi puoi usare la seconda forma che non richiede il certificato di TRUST (lets-encrypt-R3.crt)
Per sapere se ci sono ancora problemi, l'unica cosa da fare e lanciare curl:
petrus@petrusct:~$ curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 714 100 714 0 0 2084 0 --:--:-- --:--:-- --:--:-- 2081
Downloading Lazarus and FPC packages
--2022-07-22 22:26:46-- https://cloud.dyn-o-saur.com/fpc-laz_3.2.2-210709_amd64.deb
Risoluzione di cloud.dyn-o-saur.com (cloud.dyn-o-saur.com)... 31.14.131.101, 2a00:6d40:40:4565::1
Connessione a cloud.dyn-o-saur.com (cloud.dyn-o-saur.com)|31.14.131.101|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 200 OK
Lunghezza: 39280196 (37M) [text/html]
Salvataggio in: ‘fpc-laz_3.2.2-210709_amd64.deb’
fpc-laz_3.2.2-21070 100%[===================>] 37,46M 4,96MB/s in 8,8s
. . .
Configurazione di libgtk2.0-dev:amd64 (2.24.33-2ubuntu2)...
Configurazione di lazarus-project (2.2.2)...
N: Lo scaricamento è eseguito come root, ma non in una sandbox, poiché l'utente "_apt" non ha accesso al file "/home/petrus/lazarus-project_2.2.2-0_amd64.deb". - pkgAcquire::Run (13: Permesso negato)
petrus@petrusct:~$
Ad installazione conclusa, non ho capito il messaggio finale. Tuttavia, posso dirti che ho provato a lanciare Lazarus e l'IDE si è aperto regolarmente. Se il messaggio finale non desta preoccupazioni, posso procedere a configurare l'IDE a misura mia.
Non sò cosa significhi quel messaggio, è probabilmente relativo ad un setting di sicurezza aggiuntivo presente in Ubuntu 22.04 ... a me non accade in Ubutnu 20.04 ne in Ubuntu 16.04.
Qualcuno del forum più esperto di Linux può eventualmente fare luce sulla situazione, tenendo conto che lo script è questo:
#!/bin/bash
#
# Download and execute with the following:
# curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
#
cd ~
echo "Downloading Lazarus and FPC packages"
wget https://cloud.dyn-o-saur.com/fpc-laz_3.2.2-210709_amd64.deb
wget https://cloud.dyn-o-saur.com/fpc-src_3.2.2-210709_amd64.deb
wget https://cloud.dyn-o-saur.com/lazarus-project_2.2.2-0_amd64.deb
echo "Install packages and dependency ...."
echo ".... FPC and Lazarus binary ...."
sudo apt install ./fpc-laz_3.2.2-210709_amd64.deb
echo ".... FPC and Lazarus source ...."
sudo apt install ./fpc-src_3.2.2-210709_amd64.deb
echo ".... Lazarus enviroment ...."
sudo apt install ./lazarus-project_2.2.2-0_amd64.deb
echo ".... End installation"
exit
Ciao