Podle BuildYourOwnKernel existují dva způsoby, jak získat zdrojový kód:
apt-get
- Je apt-get podepsán týmem Ubuntu?
- Chci říct, ověří můj počítač podpis, když jej stáhnu?
- Existuje způsob, jak si mohu ověřit podpis alternativní metodou?
git
Zdrojový kód Git není podepsaný.
- Existuje místo, kde najdu podpis?
- Vidím, že značky git jsou podepsané, ale nemohu získat veřejné klíče a ani nemohu ověřit, zda jsou tyto veřejné klíče bezpečné (jsou podepsané týmem Ubuntu?)
Přijatá odpověď:
Je apt-get podepsán týmem ubuntu?
Soubor dsc je podepsaný a obsahuje hash souborů ke stažení:
-----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
Takže podepsaný soubor dsc s kontrolními součty tarballů v něm ~ nejblíže se dostanete k podepsanému zdrojovému kódu.
Chci říct, ověří můj počítač podpis, když si ho stáhnu?
Snaží se to. apt-get
pokouší se to ověřit:
$ 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:
Ale v mém případě to neuspělo, protože jsem ještě neimportoval odpovídající klíč. Soubory dsc jsou obvykle podepsány vývojářem, který je vytvořil, a AFAICT neexistuje jediné místo, kde by byly všechny takové klíče uvedeny. Různí vývojáři Ubuntu jsou členy různých skupin na Launchpadu a v profilech Launchpadu vývojářů by měly být uvedeny jejich klíče GPG. Podívejte se například na tým Ubuntu Kernel Uploaders nebo kombinovaný tým Ubuntu Developers (který zase zahrnuje mnoho dalších týmů).
Související:Jak používat „chmod“ na oddílu NTFS (nebo FAT32)?V tomto konkrétním případě je signatářem zaměstnanec Canonical Stefan Bader. Klíč můžete načíst z keyserveru Ubuntu, ale možná budete chtít tak učinit pomocí HKPS.
Existuje způsob, jak si mohu ověřit podpis alternativní
metodou?
dscverify
k tomu lze použít nástroj.
Vidím, že značky git jsou podepsané, ale nemohu získat veřejné klíče
a ani nemohu ověřit, zda jsou tyto veřejné klíče bezpečné (jsou podepsány
týmem Ubuntu?)
Ano, podle výpisů klíčových serverů Stefana Badera nebo Andyho Whitcrofta (který například tuto značku podepsal).