Yönetici Özeti
Muhtemelen adlı paketi yüklemek istiyorsunuz linux-headers-generic
.
Eğer koşu uname -r
size generic
sürüm numarasından sonra başka bir şey verirse , yerine generic
in yerine koyun linux-headers-generic
. (Bu olabilir server
veya generic-pae
bazı Ubuntu sürümlerinde bazı kurulumlarında ve birkaç diğer ara sıra çekirdek vardır "tatlar.")
Bir sürücüyü oluşturabilmeniz için büyük olasılıkla buna ihtiyacınız olduğundan (ki bu otomatikleştirilebilir, "kendiniz inşa edemeyebilirsiniz"), bunu build-essential
yapmak için de kurmak iyi bir fikirdir, böylece gerekli tüm araçlara sahip olursunuz. .
Tam Açıklama
Bildiğim kadarıyla, hiçbir işletim sisteminin adlı bir paketi yoktur Linux-kernel-devel
. Bunun iki nedeni vardır:
- Büyük harflerle başlayan paket adları, Unix benzeri işletim sistemleri için son derece nadirdir.
- GNU / Linux işletim sistemleri genellikle çekirdekle ilgili paketlerini adlandırır, böylece adlar çekirdek kelimesini veya linux kelimesini içerir , ancak her ikisini birden içermez . (Ubuntu'da linux kelimesi .)
Red Hat Package Manager ( rpm
) ve ilgili yardımcı programları kullanan sistemlerde çekirdekle ilişkili paketler için paket kernel
adlarının bulunması yaygındır . Örneğin, Mageia, adları ile başlayan ve biten birkaç pakete sahiptir . Bu paketler hemen hemen her zaman (Mageia ve bunlara sahip herhangi bir işletim sisteminde) , çekirdekli kullanım için sürücüleri kaynaktan oluşturmak için gereken başlık dosyalarını sağlar . Ayrıca kolaylaştırmak için ilgili yardımcı programlar sağlayabilirler. Bu paketler:kernel
devel
- do not çekirdeğin tam kaynak kodu sağlar. Bu diğer paketler tarafından sağlanır.
- do not önceden derlenmiş, kullanışlı çekirdek sağlamak. Bu diğer paketler tarafından sağlanır.
- do not bir derleyici veya diğer birçok amaçlı inşa araçları sağlar. Bunlar da diğer paketler tarafından sağlanır.
Ubuntu'da, buradaki listede görülebileceği gibi, çekirdek üstbilgileri sağlayan paketlerin başlayan adları vardır linux-headers
. Genellikle yüklemek için doğru pakettir linux-headers-generic
. Ancak, şu anda çalışan çekirdeğinize karşılık gelen üstbilgileri almak için hangi paketin yükleneceğinden emin olmak için şunu çalıştırın:
uname -r
Şuna benzer bir çıktı alırsınız:
3.5.0-36-generic
Yani, bir sürüm numarasına ( .
karakterleri ve genellikle en az bir karakteri içerecek -
), ardından a -
ve ardından hangi tür çekirdeği çalıştırdığınızı gösteren bir veya daha fazla kelimeye sahip olacaksınız.
Eğer varsa sadece şimdi çalışıyor olması ne belirli sürümü için başlıkları istiyorum, adı olan paket yükleyebilir tam çıkışı ile değiştirilir . Örneğin, benim sistemimde:linux-headers-*
*
uname -r
sudo apt-get update && sudo apt-get install linux-headers-3.5.0-36-generic
Hatta otomatikleştirebilirim:
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
Bu yaklaşımlar eşdeğerdir, ancak genellikle en iyi yol değildir.
Bunun yerine, genellikle her zaman en yeni çekirdek başlıklarını bir güncelleme olarak sağlayan meta paketi yüklemek isteyeceksiniz (sürekli olarak en yeni başlık paketine bağlı olarak). Bu, derlenmiş, çalışan çekirdeğinizin kurulu ve güncellenme biçimiyle paralellik gösterir. Bunu yapmak için, sürüm numarasından sonrakiuname -r
çıktı kısmına bakın . Yani, eğer verirse , sadece rol alın.uname -r
3.5.0-36-generic
generic
Ardından , bu parça ile değiştirilen linux-headers-*
where adlı paketi kurun *
. Yani, benim sistemimde, olurdu linux-headers-generic
ve yüklemek için bir yolu çalıştırmak olacaktır:
sudo apt-get update && sudo apt-get install linux-headers-generic
Çoğu insan için öyle linux-headers-generic
, ancak yüklü ve nasıl yapılandırıldığını Ubuntu bunu yayınladığınız cihazın hangi mimarisi ve tip, yayınladığınız bırakın ve ne bağlı olarak diğer ihtimaller arasında generic-pae
, highbank
, omap
, server
, ve virtual
.
İlgili Paketler
Başlık dosyaları , başlık dosyaları kullanılan yazılım tarafından sağlanan kolaylıkları kullanan yazılımların geliştirilmesini ve derlenmesini / oluşturulmasını kolaylaştırır. Çekirdek başlıklarına ihtiyaç duymanızın en yaygın nedeni, kaynak koddan bir sürücü (çekirdek modülü) oluşturacak olmanızdır. VMware ve VirtualBox gibi bazı uygulamalar bazen bunu gerektirir ve yapıyı kendiliğinden otomatik hale getirir.
Başlık dosyalarına ek olarak, yazılım oluşturmak için bir derleyici ve diğer araçlara ihtiyaç vardır. Gerekli araçlara sahip olma olasılığınızı en üst düzeye çıkarmak için, build-essential
paketi de yüklemek iyi bir fikirdir .
Gerçek tam çekirdek kaynak koduna ihtiyaç duyan herkes için nadirdir (tabii ki, çekirdeğinizi kaynaktan oluşturmayı planlamıyorsanız). Ancak buna ihtiyacınız varsa, başka bir paket de yüklemeniz gerekir. Ubuntu'da tam çekirdek kaynak kodu paketi çağrılır linux-source
. (Bu, Debian / Ubuntu linux
yerine Linux çekirdeğinin önemli bölümlerini sağlayan paketleri adlandırma kuralına uygundur kernel
.)
Hâlâ Sorun yaşıyorsanız
Bu paketlerden herhangi birini yüklemeye çalışırsanız, ancak sorun yaşarsanız ve yardım istiyorsanız, komutları yazdığınız satırlar dahil olmak üzere Terminal'den tam ve tam metni eklemeniz gerekir. Bunu sağlamanın en iyi yolu, sorunuzu düzenlemektir, ancak çok uzunsa, http://paste.ubuntu.com gibi bir yere yapıştırabilir ve bize erişebileceğimiz URL'yi sağlayabilirsiniz.
Bu soruya yorum yaparsanız bana bildirilir. Sorunuzu düzenleyebilir ve sorunuzda verdiğiniz bilgilere dikkat çekmek için buraya yorum yapabilirsiniz. (Önemli bilgiler en iyi soru ve cevaplarda saklanır.) İyi şanslar!