Come installare Apache 2.4 su Arch Linux
Prerequisiti Un server Vultr con Arch Linux aggiornato. Vedi questa guida per maggiori informazioni. Accesso al Sudo. I comandi devono essere eseguiti come root ar
Su Arch Linux, i repository ufficiali sono: core, extra e community. Questi pacchetti sono già compilati e vengono installati tramite pacman
. Per la maggior parte, gli utenti generici possono ignorare che questi 3 repository ufficiali sono separati. Core contiene i pacchetti più critici, come kernel, processo di avvio, rete, gestione dei pacchetti, openssh e così via. Ha anche requisiti più severi per test più approfonditi prima che vengano rilasciate nuove versioni. Extra contiene altri pacchetti popolari che non sono così importanti, come un server X, i gestori di finestre o i browser web. La community contiene pacchetti meno popolari. Solo gli utenti fidati (circa 60 utenti attivi che sono stati votati da altri utenti fidati) hanno accesso per apportare modifiche ai repository ufficiali.
Nel 2019, ci sono circa 11.000 pacchetti nei repository ufficiali, su https://www.archlinux.org/packages . Ma ci sono molti altri programmi disponibili su Linux. Quindi, l'AUR (Arch Linux User Repository) esiste in modo tale che qualsiasi utente Arch possa aggiungere un nuovo programma e diventare il suo manutentore, oppure adottare un pacchetto "orfano" senza un manutentore attuale. Ci sono circa 55.000 pacchetti nell'AUR, su https://aur.archlinux.org/ .
Esistono 3 differenze critiche con AUR:
PKGBUILD
, uno script di shell per creare automaticamente il pacchetto, non binari compilati. (A volte contiene anche piccole patch di testo o installa / aggiorna / disinstalla script shell). Questo ha fatto un lavoro straordinario, consentendo a qualsiasi utente di contribuire, riducendo al contempo la possibilità che qualcuno sia in grado di distribuire codice dannoso. La comunità Arch è ancora abbastanza utile per quanto riguarda i problemi con i pacchetti AUR, ma si noti che l'uso di questi è a proprio rischio. Poiché tutto ciò che fornisce è un PKGBUILD
, alla fine è tua responsabilità rivedere un PKGBUILD
che stai per utilizzare. (Certo, molti utenti non lo fanno e si affidano ad altri per tenere d'occhio.)pacman
non interagisce direttamente con AUR, è responsabilità dell'utente aggiornare i pacchetti AUR. Quando esegui periodicamente l'aggiornamento dell'intero sistema pacman
, non scaricherà automaticamente gli aggiornamenti dei PKGBUILD
file AUR , li compili e li installa per te.Sebbene questo articolo si concentri sulla creazione di pacchetti dall'AUR, le stesse tecniche possono essere utilizzate per creare pacchetti dai repository ufficiali da soli.
PKGBUILD
Rispetto a un .spec
file utilizzato da molte altre distribuzioni, a PKGBUILD
è uno script shell breve e semplice. Sebbene alcuni pacchetti siano più complessi, possono semplicemente essere simili ai seguenti:
pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc='DESCRIPTION'
url=http://example.com/
arch=('x86_64')
license=('GPL2')
source=(http://example.com/downloads/${pkgname}-${pkgver}.tar.gz)
sha256sums=('f0a90db8694fb34685ecd645d97d728b880a6c15c95e7d0700596028bd8bc0f9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make install
}
Questo documento fa riferimento a:
PKGNAME
: Il nome di un pacchettoPKGVER
: La versione di un pacchetto (quasi sempre corrispondente al numero di versione di upstream)PKGREL
: La "versione" di Arch PKGBUILD
per una specifica PKGVER
(normalmente 1, ma incrementata se è necessario apportare modifiche a una versione a PKGBUILD
monte)ARCH
: Le architetture su cui il pacchetto può essere costruito (in qualche modo legacy, poiché i repository ufficiali Arch Linux supportano solo "x86_64" (CPU a 64 bit), ma i pacchetti AUR possono ancora supportare "i686" (CPU a 32 bit) o "qualsiasi" designare l'architettura è irrilevante)PKGBUILD/ETC
: Tutti i file effettivamente presenti nel repository AUR; the PKGBUILD
e qualsiasi altra piccola patch di testo o installa / aggiorna / disinstalla gli script della shell. Non include i file upstream source
nell'array.Sebbene l'AUR abbia dimostrato di essere estremamente affidabile, è una buona idea guardare a PKGBUILD/ETC
per assicurarsi che stia ottenendo la fonte da un luogo di cui ti fidi; (ad esempio, una posizione ufficiale a monte, che può provenire da github - ma non solo un repository github di una persona a caso che non è correlato al pacchetto upstream); e che il PKGBUILD/ETC
non contiene alcun codice sospetto.
PKGBUILD/ETC
Se i repository ufficiali non contengono un pacchetto che stai cercando di installare, cercalo su https://aur.archlinux.org/ . Spero che troverai che ciò che stai cercando esiste, è aggiornato e mantenuto.
Il modo migliore per ottenere PKGBUILD/ETC
l'AUR è clonarlo tramite git
.
Installa git
, se non lo è già:
# pacman -S git
Utilizzare "URL clone Git" mostrato sul sito Web AUR per quel pacchetto:
$ git clone https://aur.archlinux.org/fslint.git
Inserisci la directory e guarda il suo contenuto. (Tutto elencato qui, ad eccezione di . .. .git
è il PKGBUILD/ETC
):
$ cd <PKGNAME>
$ ls -a
. .. .git PKGBUILD .SRCINFO
Se si esamina PKGBUILD
, si spera che vedrà che utilizza il codice sorgente upstream ufficiale ed esegue i passaggi tipici per creare un pacchetto, quindi sembra affidabile. Il file .SRCINFO
contiene solo le informazioni mostrate sul pacchetto sul sito Web, quindi non è preoccupante. Se ci sono altri file qui, non sono (direttamente) forniti da upstream, quindi i file e il modo in cui vengono utilizzati PKGBUILD
dovrebbero essere esaminati, per assicurarsi che non contengano nulla di sospetto.
Sebbene sia richiesto molto meno spesso, è possibile compilare un pacchetto già nei repository ufficiali, per includere una nuova patch, creare una versione più recente, ecc.
Ottieni PKGBUILD/ETC
dai repository core e extra:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/packages.git "<PKGNAME>"
Dal repository della comunità:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/community.git "<PKGNAME>"
PKGBUILD/ETC
Se PKGBUILD/ETC
viene rilasciato un aggiornamento , è possibile tornare in questa directory creata utilizzando git clone
e aggiornarli:
$ git pull
Quindi, ricompila e aggiorna il pacchetto utilizzando il metodo di tua scelta, di seguito.
Esistono molti modi per compilare i pacchetti. Alla fine, tutto usa makepkg
. Esistono 2 modi ufficialmente supportati:
makepkg
, consultare https://www.vultr.com/docs/using-makepkg-on-arch-linux .makepkg
in modo pulito chroot
, consultare https://www.vultr.com/docs/using-devtools-on-arch-linux .Ci sono molti programmi AUR helper, (come l' makepkg
involucro), che non sono ufficialmente supportati da Arch, ad esempio aurutils
, yay
e il recentemente sospesi aurman
e yaourt
. Anche se usi uno di questi altri programmi di supporto, si consiglia vivamente di acquisire familiarità con i modi ufficialmente supportati per essere più efficace quando qualcosa va storto.
Il resto di questo documento utilizzerà YOUR BUILDER
per indicare qualunque metodo tu scelga.
È possibile impostare un repository locale in modo che sia un percorso centrale per tutti i pacchetti creati.
Posiziona il repository locale dove desideri:
# mkdir /archLocalRepo
Esegui YOUR BUILDER
senza alcuna opzione di installazione automatica e copia il pacchetto nel tuo repository locale.
# cp <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz /archLocalRepo
Aggiungi il nuovo pacchetto all'indice del repository:
# repo-add /archLocalRepo/archLocalRepo.db.tar.gz /archLocalRepo/<PACKAGE-FILE-NAME>
Per rimuovere un pacchetto dall'indice del repository e dal file del pacchetto stesso:
# repo-remove /archLocalRepo/archLocalRepo.db.tar.gz <PKGNAME>
# rm /archLocalRepo/<PACKAGE-FILE-NAME>
Se è necessario sostituire un file di pacchetto esistente, è necessario rimuovere separatamente quello da sostituire, quindi aggiungere quello nuovo. Non è possibile semplicemente copiare il nuovo file su quello vecchio.
Configurare pacman
per utilizzare il repository locale, modificando /etc/pacman.conf
e aggiungere alla fine quanto segue:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
È necessario pacman
aggiornare le proprie conoscenze sui database (incluso quello locale), sui database; per vedere i pacchetti che hai aggiunto ad esso:
# pacman -Sy
È quindi possibile installare il pacchetto, non diversamente da se fosse in un repository ufficiale:
# pacman -S <PKGNAME>
Nota se il pacchetto è semplicemente una dipendenza di un altro pacchetto che si intende installare, non è necessario installarlo direttamente. Quando installi questo altro pacchetto, pacman
troverà e installerà automaticamente i pacchetti di dipendenza nel tuo repository locale.
Per impostazione predefinita, YOUR BUILDER
compila utilizzando un singolo thread. Su sistemi con più CPU, è possibile consentire l'utilizzo di più thread, ove possibile. Il sistema di compilazione compilerà parti del codice sorgente in parallelo quando può. A volte parti del codice richiedono che altre parti con cui interagisce siano già compilate, quindi non vedrai sempre tutti i thread utilizzati che sono consentiti. Modifica /etc/makepkg.conf
.
Per consentire l'utilizzo di tutti i thread quanti sono i core virtuali, aggiungere quanto segue:
MAKEFLAGS="-j$(nproc)"
Nota: questo eseguirà il comando nproc
ogni volta, quindi utilizzerà sempre il numero corrente di core, nel caso in cui si aggiorni il server Vultr
Per consentire l'utilizzo di più core virtuali, ma non tutti, ad esempio per ridurre l'impatto sulle prestazioni complessive del sistema, aggiungere un numero specifico. Ad esempio, se si dispone di 24 core, è possibile consentire l'utilizzo di 21:
MAKEFLAGS="-j21"
Se si specifica un numero maggiore di thread rispetto al numero di core virtuali disponibili, le prestazioni diminuiranno.
È abbastanza raro, ma i sistemi di compilazione di alcuni pacchetti hanno problemi con la compilazione parallela, dal non definire correttamente le dipendenze tra parti di codice. In genere, i PKGBUILD
file di quei pacchetti gestiranno questo per te invocando make -j1
, che sovrascrive il valore predefinito che hai impostato. Se ne ha bisogno e manca, segnalalo al manutentore del pacchetto Arch.
Un PKGBUILD
array di origine può contenere .asc
o .sig
file. Sono spesso inclusi usando l'espansione bash brace, quindi può essere facile perdere:
source=("http://example.com/downloads/${pkgname}-${pkgver}.tar.gz{,.sig}")
Se uno di questi formati di file di firma è incluso nell'array di origine, YOUR BUILDER
tenta automaticamente di verificare la firma dell'archivio di origine upstream. La chiave PGP della firma deve trovarsi nel portachiavi dell'utente; altrimenti, si interromperà con l'errore:
==> Verifying source file signatures with gpg...
<SOURCE-FILE> ... FAILED (unknown public key 1234567890ABCDEF)
==> ERROR: One or more PGP signatures could not be verified!
È importante capire che una chiave GPG può essere mostrata in diversi modi. L'impronta digitale è di 40 caratteri esadecimali ed è quello che dovresti sempre usare. Un ID chiave lungo è le ultime 16 cifre e un ID chiave breve è le ultime 8 cifre. Sebbene più breve sia conveniente, consente duplicati che annullano l'intero ragionamento dietro la verifica delle firme. Peggio ancora, è noto che gli aggressori generano chiavi false che corrispondono a chiavi di lunghezza inferiore per sviluppatori di alto profilo.
Se non hai già provato a creare il pacchetto, scarica i sorgenti che includeranno il file della firma: (Se hai provato a costruire, sarà già lì)
$ makepkg --nobuild --noextract
Per ottenere l'impronta digitale completa:
$ gpg <ASC-OR-SIG-FILENAME>
...
gpg: using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
...
Idealmente, dovresti verificare questa impronta digitale da monte. Per sicurezza, a monte dovrebbe fornire le chiavi dei suoi manutentori da qualche parte sul suo sito Web o nella fonte. La semplice ricerca della chiave su un key server non sta realmente facendo nulla. Un utente malintenzionato può inviare facilmente una chiave falsa, poiché i server delle chiavi non verificano l'autenticità. Le chiavi possono essere firmate da altre chiavi, quindi se hai già una chiave di cui ti fidi, dovresti essere abbastanza sicuro fidandoti di tutte le chiavi che hanno firmato.
Può essere un bel po 'di lavoro, specialmente quando upstream non pubblica la propria impronta digitale o la posiziona in un posto facile da trovare. Il PKGBUILD
conterrà una validpgpkeys
matrice, che sono stati aggiunti dal manutentore Arch. Se il pacchetto è un repository ufficiale, significa che un utente fidato lo ha inserito lì e dovresti essere abbastanza sicuro di fidarti di tutto ciò che è elencato nell'array. Se il pacchetto si trova nell'AUR, ricorda che significa che è stato inserito da un altro utente Arch. Se sei preoccupato di fidarti, puoi sempre guardare l'utente per vedere cosa hanno fatto in passato con Arch.
Per aggiungere l'impronta digitale al tuo portachiavi:
$ gpg --recv-keys <FINGERPRINT>
Ora puoi eseguire YOUR BUILDER
e si fiderà dell'impronta digitale.
Pacchetti di AUR con nomi che terminano -git
, -svn
, -bzr
o -hg
sono versioni di sviluppo, che utilizzano del monte più recente sistema di controllo della versione impegnano invece a monte è ultima release. Ad esempio, a-git
il pacchetto userebbe l'ultimo commit di upstream nel ramo master (o il loro ramo equivalente). Questo è ottimo per eseguire correzioni di bug a monte e nuove funzionalità che non sono ancora state rilasciate, e quando lavori con upstream su un bug che stai segnalando, incluso se è necessario verificare per loro che non è un bug corretto da un commit non ancora in una versione. Questi pacchetti devono essere considerati potenzialmente instabili. Detto questo, sfortunatamente, a volte non c'è alternativa perché alcuni manutentori a monte non taggano mai le versioni o vanno troppo a lungo tra le versioni di tag e si aspettano che tutti utilizzino il loro commit più recente. A seconda del pacchetto, potresti essere il primo a provare a eseguire quel commit. A seconda degli sviluppatori upstream, il loro ultimo commit potrebbe non essere nemmeno compilato,
È importante capire un errore comune. Non contrassegnare un pacchetto di sviluppo AUR come obsoleto semplicemente perché mostra un vecchio numero di versione! I PKGBUILD
file del pacchetto di sviluppo contengono una funzione aggiuntiva pkgver()
, che viene utilizzata per analizzare automaticamente un PKGVER
codice sorgente upstream aggiornato . Un formato comune per un -git
pacchetto è <TYPICAL-VERSION-NUMBER>.r<COMMITS-SINCE-LAST-RELEASE>.<GIT-COMMIT>-<PKGREL>
. Un pacchetto potrebbe essere elencato in AUR come 5.0.0.r102.8d7b42ac21-1
, perché è quello che PKGBUILD
contiene. Ma, quando crei un pacchetto, YOUR BUILDER
si aggiornerà automaticamente PKGVER
per riflettere il codice sorgente appena scaricato. In effetti, se sono state rilasciate molte nuove versioni, ma nulla è cambiato nel processo di compilazione, tale PKGBUILD
elenco di una versione precedente potrebbe finire con la creazione di qualcosa di molto più nuovo, come9.1.2.r53.2c9a41b723-1
. Per questi pacchetti, la versione elencata sul sito Web è semplicemente l'ultima versione al momento in cui il manutentore AUR ha dovuto aggiornare l'ultima volta PKGBUILD
.
I manutentori di AUR NON devono semplicemente aggiornare PKGVER
per riflettere le nuove versioni. Dovrebbero farlo solo quando i nuovi commit a monte richiedono effettivamente qualcos'altro PKGBUILD
per cambiare.
Contrassegna un pacchetto AUR di sviluppo non aggiornato solo se sai che qualcosa non va. Significato, hai effettivamente provato a usarlo e non riesce a compilare o analizzare un nuovo formattato correttamente PKGVER
. A volte accadono cose che costringono il manutentore di AUR ad aggiornare PKGBUILD
, come cambiano le dipendenze a monte, cambiano le configure
opzioni, le nuove versioni di GCC rilevano errori nel codice sorgente che le precedenti non hanno fatto, cambiano le posizioni dei repository a monte o gli sviluppatori a monte cambieranno dove la loro versione tipica è all'interno del codice sorgente che rompe ilPKGVER
funzione di analisi. Capire che anche se non riesce a compilare o funzionare, ciò potrebbe significare che il manutentore AUR deve apportare modifiche al proprio processo di compilazione, oppure potrebbe essere un problema a monte con il loro codice sorgente di cui il manutentore AUR non ha alcuna responsabilità.
Assicurati di leggere la sezione "Pacchetti di sviluppo AUR" sopra, prima di segnalare che un pacchetto è obsoleto!
Se upstream ha rilasciato una versione più recente per un pacchetto non evolutivo rispetto al pacchetto PKGBUILD
, è possibile fare clic su "Contrassegna pacchetto non aggiornato" e digitare un messaggio per il manutentore. Utilizzare https://packages.archlinux.org per i pacchetti di repository ufficiali e https://aur.archlinux.org per i pacchetti AUR. Un messaggio utile sarebbe il nuovo numero di versione e forse un collegamento all'annuncio di rilascio o al codice sorgente. La funzione di segnalazione invia automaticamente il tuo messaggio al manutentore.
Su un pacchetto AUR, se non ci sono risposte dopo 2 settimane, puoi fare clic su "Invia richiesta" con il tipo "Orphan", se desideri chiedere a un utente fidato di rimuovere l'attuale manutentore e rendere il pacchetto orfano, se il manutentore non risponde alla richiesta orfana. In genere, le persone archiviano richieste orfane solo se sono in grado e sono disposte ad assumere il pacchetto, e preferibilmente solo se hanno già una corrente funzionante PKGBUILD
.
Nel frattempo, puoi spesso aggiornare tu stesso un pacchetto obsoleto. Spesso è sufficiente modificare a PKGBUILD
aggiornando PKGVER
il nuovo numero di versione e le somme di integrità devono essere aggiornate. updpkgsums
Esiste un programma nel pacchetto pacman-contrib
, che calcola automaticamente le somme e le aggiorna al posto PKGBUILD
tuo. Vale la pena controllare le note di rilascio di upstream, per vedere se menzionano che qualcosa deve cambiare durante il processo di installazione della nuova versione. A volte i cambiamenti a monte richiedono più cambiamenti o revisioni PKGBUILD/ETC
. Spesso l' source
array si incorpora PKGVER
in esso, quindi spesso non è nemmeno necessario aggiornarlo.
Prerequisiti Un server Vultr con Arch Linux aggiornato. Vedi questa guida per maggiori informazioni. Accesso al Sudo. I comandi devono essere eseguiti come root ar
Questo tutorial spiega come configurare un server Team Fortress 2 su Arch Linux. Presumo che tu abbia effettuato laccesso con un account utente non root con accesso sudo
Questo tutorial spiega come configurare un server Mumble (Murmur) su Arch Linux. Tutto ciò che viene fatto in questa esercitazione viene eseguito come utente root. Installazione an
Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo. I comandi che devono essere eseguiti come root sono preceduti da # e uno
Questo tutorial spiega come configurare un server Minecraft usando Spigot su Arch Linux. Questo tutorial presuppone che tu sia un utente normale (non root) e hav
Questo tutorial spiega come impostare un server Counter-Strike: Global Offensive su Arch Linux. Questo tutorial presuppone che tu abbia effettuato laccesso con un uso standard
Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo: i comandi richiedono
Vultr ti offre la straordinaria funzionalità di permetterti di usare la tua immagine personalizzata oltre ai loro eccellenti modelli, che ti consentono di eseguire
Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo: i comandi richiedono
Prefazione Arch Linux è una distribuzione per scopi generici nota per la sua tecnologia allavanguardia e la sua configurazione flessibile. Con le istantanee di Btrfs, possiamo scattare
Introduzione Arch Linux ha un seguito più piccolo, ma ancora forte, rispetto alle distribuzioni più popolari. La sua filosofia è piuttosto diversa, con vantaggi e
Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo.) Un server web in esecuzione, Apache o Nginx Sudo Comandi di accesso richiesti t
Il pacchetto Devtools è stato originariamente creato per utenti fidati per creare correttamente pacchetti per i repository ufficiali. Tuttavia, può essere utilizzato da un normale utente
Se usi direttamente makepkg, inquina in qualche modo il tuo sistema. Il gruppo di pacchetti base-devel deve essere installato. In questo modo, per impostazione predefinita, sono necessarie solo le dipendenze
Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo) Accesso Sudo: i comandi che devono essere eseguiti come root sono preceduti da # e uno
Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo. I comandi richiedono
Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo. I comandi che devono essere eseguiti come root sono preceduti da #. th
Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo: i comandi che devono essere eseguiti come root sono preceduti da # e uno
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.