disculpas por la pregunta novata, pero cuando trato de
sudo apt-get install Linux-kernel-devel
Me sale lo siguiente:
sudo apt-get install linux-kernel-devel
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-kernel-devel
He probado lo siguiente:
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install build-essentials
sudo apt-get install Linux-headers-generic
sin alegría ... alguna sugerencia?
installation
kernel
package-management
paschwan
fuente
fuente
Respuestas:
Resumen Ejecutivo
Probablemente desee instalar el paquete llamado
linux-headers-generic
.Si correr
uname -r
le da algo más quegeneric
después del número de versión, sustitúyalo porgeneric
inlinux-headers-generic
. (Esto podría serserver
ogeneric-pae
en algunas instalaciones de algunos lanzamientos de Ubuntu, y hay algunos otros "sabores" ocasionales del kernel).Dado que lo más probable es que necesite esto para poder construir un controlador (que podría estar automatizado, es posible que no esté "construyéndolo usted mismo"), es una buena idea instalar
build-essential
también para hacerlo, de modo que probablemente tenga todas las herramientas necesarias .Explicación completa
Que yo sepa, ningún sistema operativo tiene un paquete llamado
Linux-kernel-devel
. Esto es por dos razones:Es común que los paquetes relacionados con el kernel en sistemas que usan Red Hat Package Manager (
rpm
) y utilidades relacionadas tengankernel
en el nombre de sus paquetes. Por ejemplo, Mageia tiene varios paquetes cuyos nombres comienzankernel
y terminan endevel
. Estos paquetes casi siempre (en Mageia y cualquier sistema operativo que los tenga) proporcionan los archivos de encabezado necesarios para construir controladores desde la fuente para usar con el núcleo. También pueden proporcionar utilidades relacionadas para facilitar. Estos paquetes:En Ubuntu, como se puede ver en la lista aquí , los paquetes que proporcionan encabezados de kernel tienen nombres que comienzan con
linux-headers
. Por lo general, el paquete correcto para instalar eslinux-headers-generic
. Sin embargo, para estar seguro de qué paquete instalar para obtener los encabezados que corresponden a su núcleo actualmente en ejecución, ejecute:Obtendrá una salida que se parece a:
Es decir, tendrá un número de versión (que incluirá
.
caracteres y generalmente al menos uno-
), seguido de a-
, seguido de una o más palabras que indican qué tipo de núcleo está ejecutando.Si solo desea los encabezados para la versión específica que está ejecutando ahora, puede instalar el paquete cuyo nombre es
linux-headers-*
donde*
se reemplaza por la salida completa deuname -r
. Por ejemplo, en mi sistema, podría ejecutar:Incluso podría automatizarlo:
Estos enfoques son equivalentes, pero no suelen ser el mejor camino a seguir.
En su lugar, generalmente querrá instalar el metapaquete que siempre proporciona los encabezados de kernel más nuevos como una actualización (dependiendo perpetuamente del paquete de encabezado más nuevo). Esto es paralelo a la forma en que su núcleo compilado y en ejecución se instala y se actualiza. Para hacer eso, mire solo la parte de
uname -r
la salida después del número de versión. Es decir, siuname -r
te da3.5.0-36-generic
, toma solo lageneric
parte.Luego instale el paquete llamado
linux-headers-*
donde*
se reemplaza por esa parte. Entonces, en mi sistema, seríalinux-headers-generic
y una forma en que podría instalarlo sería ejecutar:Para la mayoría de la gente es
linux-headers-generic
, pero dependiendo de lo suelte Ubuntu se está ejecutando, lo que la arquitectura y el tipo de dispositivo que se está ejecutando en, y la forma en que está instalado y configurado, otras posibilidades incluyengeneric-pae
,highbank
,omap
,server
, yvirtual
.Paquetes relacionados
Los archivos de encabezado facilitan el desarrollo y la compilación / creación de software que utiliza las instalaciones proporcionadas por el software cuyos archivos de encabezado se están utilizando. La razón más común por la que puede necesitar encabezados de núcleo es si va a construir un controlador (un módulo de núcleo) a partir del código fuente. Algunas aplicaciones, como VMware y VirtualBox, a veces requerirán esto y automatizarán la compilación ellos mismos.
Además de los archivos de encabezado, para construir software se necesita un compilador y otras herramientas. Para maximizar la probabilidad de que tenga las herramientas necesarias, también es una buena idea instalar el
build-essential
paquete.Es raro que alguien necesite el código fuente completo del núcleo real (a menos, por supuesto, que esté planeando construir su núcleo desde la fuente). Pero si lo necesita, también deberá instalar otro paquete. En Ubuntu se llama el paquete para el código fuente completo del núcleo
linux-source
. (Esto está de acuerdo con la convención Debian / Ubuntu de nombrar paquetes que proporcionan partes sustantivas del kernel de Linux enlinux
lugar dekernel
).Si aún tienes problemas
Si intenta instalar cualquiera de estos paquetes pero experimenta problemas y desea ayuda, deberá incluir el texto completo y exacto del Terminal, incluidas las líneas donde escribió los comandos. La mejor manera de proporcionar esto es editando su pregunta, pero si es demasiado larga, puede pegarla en algún lugar como http://paste.ubuntu.com y proporcionarnos la URL donde podemos acceder a ella.
Si comentas sobre esta pregunta, seré notificado. Puede editar su pregunta y también comentar aquí para llamar la atención sobre la información que ha proporcionado en su pregunta. (La información importante se guarda mejor en preguntas y respuestas). ¡Buena suerte!
fuente
Como decía el informe (E: No se puede localizar el paquete linux-kernel-devel) No hay paquetes como ese. Puede instalar todas las versiones del núcleo que desee descargando los paquetes del núcleo de Debian desde aquí
Por ejemplo; queremos instalar el kernel 3.9.8 (arquitectura i386); Descargue todos los paquetes ** i386.deb Y también el paquete * * * all.deb a una carpeta. Ingrese a la carpeta con el comando cd en la terminal;
Esto instalará la versión del kernel que desee. Puede analizar las versiones de la línea principal del núcleo y las versiones a largo plazo en este sitio
fuente
Tendrá que trazar usted mismo qué deb específicos necesita, pero existen los deb que necesitará en las compilaciones del núcleo de Ubunut .
Honestamente, primero consultaría
sudo apt-get update
y luegosudo apt-get dist-upgrade
para asegurarme de que está ejecutando el kernel más reciente y no necesitaré hacer esto nuevamente en breve.Luego mire a través de la lista de compilación del kernel para su versión que coincida con su
uname -r
. Debe buscar en cada builds build.log para averiguar a qué versión principal están asignando esa build. Tengo 3.5.0-34 # 55 listado como mi núcleo, pero esto realmente se mapea para construir 3.5.7.14-quantal . Instale todas las debs que correspondan con esa versión para obtener sus encabezados y demás, y asegúrese de tener sus herramientas de compilación consudo apt-get install build-essential
Sin embargo, su kilometraje puede variar dependiendo de lo que planee hacer con los archivos de desarrollo.
fuente
linux-kernel-devel es el nombre de un paquete SUSE / Redhat que proporciona cosas como genksyms.
Un Google muy rápido sugiere que linux-headers-generic proporciona genksyms en Debian / Ubuntu.
fuente