Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: petrusic - Luglio 19, 2022, 05:35:15 pm

Titolo: [Risolto] Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 19, 2022, 05:35:15 pm
A causa di un imprevedibile cancellazione di 3 partizioni delicate del mio pc, ho perso non solo aree coi miei dati (l'orginale ed una sua copia), ma anche la partizione di Ubuntu.
E siccome le disgrazie si presentano sempre in forma di torta, non potevano mancare le ciliegine sopra, perciò il GRUB che era pure nella partizione di Ubuntu, è stato cancellato con Ubuntu, per cui il pc è morto.

Tralasciando le peripezie vissute per riprendere i dati da un salvataggio fatto su un disco esterno (meno male), dovendo necessariamente installare un S.O. per rigenerare GRUB (forse un utente esperto più di me ne avrebbe potuto fare a meno, ho optato per installare da zero Ubuntu 22.04 LTS.

Bene, ora ho una situazione pulita dove dovrei installare per la prima volta Lazarus. Ho letto da qualche parte che l'ultima versione di Lazarus è la 2.2.2.
Ricordo pure di avere seguito una volta i passi di installazione  riportati qui (http://www.lazaruspascal.it/index.php?topic=2610.msg16983#msg16983)

Tale guida era improntata su Lazarus 2.2.0. La mia domanda è: Vale anche per la 2.2.2 o posso installare lazarus da linea di comando Ubuntu, col classico sudo apt install . . .?
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 19, 2022, 08:14:53 pm
Vai sul ns. Blog:

https://blog.lazaruspascal.it/2022/03/03/installazione-in-linux-risoluzione-problemi/ (https://blog.lazaruspascal.it/2022/03/03/installazione-in-linux-risoluzione-problemi/)

Leggilo e trovi già pronto tutto.
Usa il "curl" che trovi quasi a fondo pagina. I pacchetti sono quelli originali, solo copiati sul su un mio cloud per riuscire a gestire gli script di installazione.

Se cerchi nella sezione "installazione" del blog, trovi anche altri aiuti.

Ciao

P.S.: non rispondo di ulteriori cancellazioni di partizioni ....  ;)
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 20, 2022, 06:53:36 pm
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:
Codice: [Seleziona]
$ 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.
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 20, 2022, 07:59:09 pm
Verifico subito ....
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 20, 2022, 11:52:30 pm
Effettivamente il "curl", così come i "wget" usati dallo script, non riescono a riconoscere come valido il certificato del server (il certificato è valido e operativo). Devo approfondire.

Nel frattempo è stato posto in modalità "insecure" il curl e pure i wget degli script. Questo fà si che i comandi indicati non eseguano la verifica del certificato del server (che viene comunque verificato tramite il protocollo HTTPS ad ogni operazione).

Non appena risolta la situazione verrà ripristinato il funzionamento originale.

Il blog è stato aggiornato sia come comando "curl" che con una nota di spiegazione.

Se ciò può provocarvi un senso di "insicurezza" potete comunque usare lo scarico diretto dei pacchetti e l'installazione manuale come spiegato nel blog oppure potete optare per una delle altre strade indicate in altri articoli sempre presenti nel blog.

Ciao
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 21, 2022, 09:56:10 am
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):

Codice: [Seleziona]
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:

Codice: [Seleziona]
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
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 21, 2022, 10:44:54 pm
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:
Codice: [Seleziona]
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,
Citazione
Se è così ora anche quel certificato è ora operativo, potete riusare il curl senza "-k".
ho lanciato:
Codice: [Seleziona]
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?

Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 21, 2022, 11:41:51 pm
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.

Codice: [Seleziona]
 sudo update-ca-certificates --verbose --fresh 

Dovrebbe darti "128 added" come indicazione finale. Però può anche essere che il  numero sia diverso.

Ciao
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 22, 2022, 05:09:52 pm
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.
Codice: [Seleziona]
 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:
Codice: [Seleziona]
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 (http://www.lazaruspascal.it/index.php?topic=2652.msg17408#msg17408), quando dici:
Citazione
potete riusare il curl senza "-k".

Credo che il comando da dare sia:
Citazione
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!

Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 22, 2022, 06:23:45 pm
I contenitore è stato ricreato, quindi non dovresti avere problemi.

I comandi sono stati sdoppiati (vedi il blog aggiornato).

Uno è:
Codice: [Seleziona]
curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash

L'altro è:
Codice: [Seleziona]
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
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 22, 2022, 10:43:08 pm
I contenitore è stato ricreato, quindi non dovresti avere problemi.
I comandi sono stati sdoppiati (vedi il blog aggiornato).

Uno è:
Codice: [Seleziona]
curl -L https://cloud.dyn-o-saur.com/lazarus-ide | bash
L'altro è:
Codice: [Seleziona]
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:
Codice: [Seleziona]
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.
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: DragoRosso - Luglio 23, 2022, 09:58:16 am
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:

Codice: [Seleziona]
#!/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
Titolo: Re:Installazione di Lazarus in Ubuntu 22.04 LTS
Inserito da: petrusic - Luglio 26, 2022, 04:57:15 pm
Oggi ho finito la nuova installazione di Lazarus  su Ubuntu 22.04 LTS.

Non ho provato molto perchè ho avviato il mio programma, soltanto per verificare che funzionasse tutto come prima e che pertanto non ho dimenticato di aggiungere quei componenti di cui mi ero servito prima del disastro sulle partizioni cancellate.

Ora il pc funziona bene, così anche quello script che mi ha mandato tutto a pallino alcuni giorni fa.

Posso riprendere il mio rapporto con Lazarus.