GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Mengambil Kode Sumber Kernel Ubuntu dengan Aman?

Menurut BuildYourOwnKernel ada dua cara untuk mendapatkan kode sumber:

apt-get

  • Apakah apt-get ditandatangani oleh tim Ubuntu?
  • Maksud saya, apakah komputer saya akan memverifikasi tanda tangan saat saya mengunduhnya?
  • Apakah ada cara saya dapat memverifikasi sendiri tanda tangan dengan metode alternatif?

git

Kode sumber Git tidak ditandatangani.

  • Apakah ada tempat di mana saya dapat menemukan tanda tangan?
  • Saya dapat melihat bahwa tag git ditandatangani, tetapi saya tidak dapat memperoleh kunci publik dan saya juga tidak dapat memverifikasi bahwa kunci publik ini aman (apakah ditandatangani oleh tim Ubuntu?)

Jawaban yang Diterima:

Apakah apt-get ditandatangani oleh tim ubuntu?

Nah, file dsc ditandatangani dan berisi hash dari file yang akan diunduh:

-----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

Jadi file dsc yang ditandatangani dengan checksum tarball di dalamnya ~ paling dekat Anda akan mendapatkan kode sumber yang ditandatangani.

Maksud saya, apakah komputer saya akan memverifikasi tanda tangan saat saya mengunduhnya?

Itu memang mencoba. apt-get mencoba memverifikasinya:

$ 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: 

Tetapi dalam kasus saya itu tidak berhasil karena saya belum mengimpor kunci yang sesuai. File dsc biasanya ditandatangani oleh pengembang yang membuatnya, dan AFAICT tidak ada satu tempat pun di mana semua kunci tersebut terdaftar. Berbagai pengembang Ubuntu adalah anggota dari berbagai grup di Launchpad, dan profil Launchpad dari pengembang harus mencantumkan kunci GPG mereka. Misalnya, lihat tim Pengunggah Kernel Ubuntu, atau gabungan tim Pengembang Ubuntu (yang pada gilirannya mencakup banyak tim lain).

Terkait:Bagaimana cara menggunakan 'chmod' pada partisi NTFS (atau FAT32)?

Dalam kasus khusus ini, penandatangannya adalah karyawan Canonical Stefan Bader. Anda dapat mengambil kunci dari server kunci Ubuntu, tetapi Anda mungkin ingin melakukannya menggunakan HKPS.

Apakah ada cara saya dapat memverifikasi sendiri tanda tangan dengan metode
alternatif?

dscverify alat dapat digunakan untuk itu.

Saya dapat melihat bahwa tag git ditandatangani, tetapi saya tidak bisa mendapatkan kunci publik
dan saya juga tidak dapat memverifikasi bahwa kunci publik ini aman (apakah mereka ditandatangani
oleh tim Ubuntu?)

Nah, pergi dengan daftar server kunci Stefan Bader atau Andy Whitcroft (yang tampaknya telah menandatangani tag ini, misalnya) ya.


Ubuntu
  1. Cara Memperbarui Kernel Linux Di Ubuntu

  2. Kernel Linux 5.13 Dirilis! Cara Menginstal di Ubuntu 21.04

  3. Cara Menginstal Kernel Linux 4.3 di Ubuntu &LinuxMint

  1. Cara menghapus kernel lama di Ubuntu

  2. Cara Menginstal Kode Visual Studio di Ubuntu 18.04

  3. Cara Menginstal Kode Visual Studio di Ubuntu 20.04

  1. Cara mengkompilasi ONLYOFFICE Document Server dari kode sumber di Ubuntu

  2. Cara Menginstal Kode Visual Studio di Ubuntu 22.04

  3. Cara menginstal Linux Kernel 4.10.1 di Ubuntu 16.04