GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come recuperare in modo sicuro il codice sorgente del kernel di Ubuntu?

Secondo BuildYourOwnKernel ci sono due modi per ottenere il codice sorgente:

apt-get

  • Apt-get è firmato dal team di Ubuntu?
  • Voglio dire, il mio computer verificherà la firma quando la scarico?
  • C'è un modo per verificare me stesso la firma con un metodo alternativo?

git

Il codice sorgente Git non è firmato.

  • C'è un posto dove posso trovare la firma?
  • Vedo che i tag git sono firmati, ma non riesco a ottenere le chiavi pubbliche e nemmeno posso verificare che queste chiavi pubbliche siano sicure (sono firmate dal team di Ubuntu?)

Risposta accettata:

apt-get è firmato dal team di Ubuntu?

Bene, il file dsc è firmato e contiene gli hash dei file da scaricare:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.0
Source: linux
...
Checksums-Sha1:
 180ab617036593212274177eff3a67f437c1b5ea 132860730 linux_4.4.0.orig.tar.gz
 be23819008464f4aa49bed094d19aac086f16572 13880183 linux_4.4.0-112.135.diff.gz
Checksums-Sha256:
 730e75919b5d30a9bc934ccb300eaedfdf44994ca9ee1d07a46901c46c221357 132860730 linux_4.4.0.orig.tar.gz
 b5b6adc87ea98ffa48d31aee2ee5ec301a01c2b4fa64fa20d1564a4e95bdd6ad 13880183 linux_4.4.0-112.135.diff.gz
Files:
 2070b49688e8d7ee7ff4c33590afc698 132860730 linux_4.4.0.orig.tar.gz
 b349ae228d1659789e713b8ff2262eac 13880183 linux_4.4.0-112.135.diff.gz

Quindi un file dsc firmato con i checksum dei tarball al suo interno ~ più vicino al codice sorgente firmato.

Voglio dire, il mio computer verificherà la firma quando la scarico?

Ci prova. apt-get tenta di verificarlo:

$ apt-get source linux-image-4.4.0-87-generic
Reading package lists... Done
Picking 'linux' as source package instead of 'linux-image-4.4.0-87-generic'
NOTICE: 'linux' packaging is maintained in the 'Git' version control system at:
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
Please use:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 147 MB of source archives.
Get:1 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (dsc) [9,712 B]
Get:2 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (tar) [133 MB]
Get:3 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (diff) [13.9 MB]
Fetched 147 MB in 4s (31.8 MB/s)
gpgv: Signature made Fri 19 Jan 2018 17:14:04 IST using RSA key ID CBEECEA3
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./linux_4.4.0-112.135.dsc
dpkg-source: info: extracting linux in linux-4.4.0
dpkg-source: info: unpacking linux_4.4.0.orig.tar.gz
dpkg-source: info: applying linux_4.4.0-112.135.diff.gz
dpkg-source: info: upstream files that have been modified: 

Ma nel mio caso non è andata a buon fine perché non avevo ancora importato la chiave corrispondente. I file dsc sono solitamente firmati dallo sviluppatore che li ha creati e AFAICT non esiste un unico posto in cui siano elencate tutte queste chiavi. I vari sviluppatori Ubuntu sono membri di vari gruppi su Launchpad e i profili Launchpad degli sviluppatori dovrebbero elencare le loro chiavi GPG. Ad esempio, vedi il team di caricamento del kernel di Ubuntu o il team combinato di sviluppatori di Ubuntu (che a sua volta include molti altri team).

Correlati:come usare "chmod" su una partizione NTFS (o FAT32)?

In questo caso specifico, il firmatario è il dipendente canonico Stefan Bader. Puoi recuperare la chiave dal server delle chiavi di Ubuntu, ma potresti volerlo fare usando HKPS.

C'è un modo per verificare me stesso la firma con un metodo alternativo
?

Il dscverify lo strumento può essere utilizzato per questo.

Vedo che i tag git sono firmati, ma non riesco a ottenere le chiavi pubbliche
e nemmeno posso verificare che queste chiavi pubbliche siano sicure (sono firmate
dal team di Ubuntu?)

Bene, in base agli elenchi di server delle chiavi di Stefan Bader o Andy Whitcroft (che sembra aver firmato questo tag, ad esempio), sì.


Ubuntu
  1. Come aggiornare il kernel Linux in Ubuntu

  2. Come rimuovere i vecchi kernel su Ubuntu

  3. Come installare il codice di Visual Studio su Ubuntu 18.04

  4. Rilasciato il kernel Linux 5.13! Come installare in Ubuntu 21.04

  5. Come installare Linux Kernel 4.3 su Ubuntu e LinuxMint

Come installare l'ultimo kernel Linux 4.8 su Ubuntu 16.04

Come installare il kernel Linux 4.7.2 su Ubuntu 16.04 LTS

Come installare facilmente Linux Kernel 4.10 su Ubuntu 16.04, Ubuntu 16.10

Come installare i blocchi di codice su Ubuntu 16.04, Ubuntu 18.04, 19.04

Come ottenere il kernel Linux 5.0 in Ubuntu 18.04 LTS

Come installare il kernel Liquorix su Ubuntu 20.04