src sürüm 3 arasındaki fark nedir? * ve 3. * - genel


10

Yerel Linux / Ubuntu'mda, Linux src için iki dizinim var

/usr/src/linux-3.16.0
/usr/src/linux-3.16.0-generic

3.16.0 kodu 3.16.0-jenerik olandan çok daha fazla buldum. Bu iki dizinin neden ve nasıl farklı olduğunu merak ediyorum (ve neyi temsil ediyorlar?)

Yanıtlar:


1

İki dizin, çekirdek için başlık dosyalarını içeren ilgili paketler tarafından sağlanır. dpkgHangi paketin dizin sağladığını bulmak için command komutunu kullanın .

$ dpkg -S /usr/src/linux*
linux-headers-X.XX.X-XX: /usr/src/linux-headers-X.XX.X-XX
linux-headers-X.XX.X-XX-generic: /usr/src/linux-headers-X.XX.X-XX-generic
...

İlk dizin /usr/src/linux-headers-X.X.XX-XX, x86, amd64, powerpc ve diğerleri de dahil olmak üzere birden çok mimarinin başlık dosyalarını içerir ve bu da daha fazla sayıda dosya ve daha büyük paket boyutu sağlar.

Diğer dizin /usr/src/linux-headers-X.X.XX-XX-generic, çoğunlukla yerel kurulum için hedeflenen x86 mimarisiyle ilgili kaynak kodlarını içeriyordu.

İlgili paket açıklamada ipucu vermiştir, örneğin:

$ apt-cache show linux-headers-3.16.0-25 | grep -A3 Description-en
Description-en: Header files related to Linux kernel version 3.16.0
 This package provides kernel header files for version 3.16.0, for sites
 that want the latest kernel headers. Please read
 /usr/share/doc/linux-lts-utopic-headers-3.16.0-25/debian.README.gz for details

Bildiğim kadarıyla, her iki dizin de ikili kodlar değil, sadece kaynak kodları içerir. Her ikisi arasındaki fark esas olarak kaynak kodlarının hedef mimarisidir .

İlgili: Çekirdek kaynak ağacı ne içerir? Bu Linux çekirdek üstbilgileriyle mi ilgili?

Genişletilmiş cevap (2015.07.30)

her ikisi de mağaza x86ile ilgili kod, x86iki dizin kodu btwn farkı nedir? - Richard 29 '15 Temmuz 19:11

İçinde bulunan dizinlerin ve dosyaların çoğu, /usr/src/linux-headers-X.X.XX-XX-genericgerçek dizinlere ve içindeki dosyalara işaret eden sembolik bağlantılardır /usr/src/linux-headers-X.X.XX-XX. Başka bir deyişle, arch/x86bu iki dizinde bulunan, gerçek ve sembolik bağlantıların farkıdır, bazı karşı taraftaki asmbaşlık dosyaları *-generic.

Bu iki paket arasında, bir diğer önemli fark, muadilde dizinlerin configve generateddizinlerin varlığıdır *-generic.

En iyi anladığım kadarıyla, *-genericdizinin x86mimarisiyle ilgili modülleri yapılandırmak ve derlemek için gerekli başlık dosyalarını , kaynak dizininde yanlışlıkla değişiklikler yapmadan tuttuğunu düşünüyorum linux-headers-x.x.xx-xx.

Her şeyden önce, iki dizin muhtemelen ilgili platformlarda paketleme ve derleme için "temiz" yaklaşımdır. Buna rağmen bu konuyu açıklığa kavuşturacak durumda değilim.


Cevaplayıcının notu : Bu cevabı o zaman saf olarak yazdım - neyin doğru ya da yanlış olduğundan emin değilim - ve arasında bazı açıklamalar eksik olabilir. Bu nedenle, bu cevap artık bir topluluk wiki'sidir, böylece minimum itibara sahip olan herkes, farkı tam olarak açıklamak için bu yayını geliştirebilir.


her ikisi de mağaza x86ile ilgili kod, x86iki dizin kodu btwn farkı nedir?
Richard

@Richard Cevabımı mümkün olduğu kadar basit bir şekilde yukarıdaki bilgilerimi en iyi şekilde güncelledim. Cevabım naif görünebilir, bu yüzden başka birinden daha iyi cevap aramak isteyebilirsiniz.
clearkimura
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.