
Estoy siguiendo las instrucciones ubicadas.aquípara configurar mi servidor. Dice que tengo que aplicar un parche que descargué en la máquina. Mi pregunta es, el artículo dice que se use el siguiente comando:
/usr/src/linux # patch -p1 < file.diff //note I replace file.diff w/ routes-2.6.36.16.diff
Esto devuelve:
-bash: /usr/src/linux: No such file or directory
Continúo asumiendo que /linux #
debería reemplazarse con la versión/directorio real del kernel de Linux. Intenté esto usando el siguiente comando:
/usr/src/linux-headers-2.6.35.22 patch -p1 < file.diff
Esto devuelve lo mismo. Cuando veo el contenido de /usr/src sólo tengo dos directorios linux-headers-2.6.35.22
y linux-headers-2.6.35.22-generic-pae
necesito orientación sobre la forma correcta de aplicar un parche al kernel.
Editar
Si ejecuto /usr/src/linux-headers-2.6.35.22/ patch -p1 file.diff
obtengo -bash: /usr/src/linux-headers-2.6.35.22: is a directory
. Necesito saber cómo hago para encontrar el archivo específico que necesita ser parcheado aquí...
Respuesta1
Necesitas descargar la fuente. Puedes hacer esto a través de apt-src pero yo (personalmente) simplemente tomaría la última versión dekernel.org, extráigalo, parcheelo (simplemente usando rutas locales como el escritorio, ¡no necesita estar oculto en /usr/src en absoluto!) y siga las instrucciones"de forma anticuada"instrucciones para compilarlo.
Tenga en cuenta que algunos parches son solo para ciertas versiones del kernel (esto incluye versiones puntuales), así que asegúrese de que su parche funcione para la versión fuente antes de perder entre 20 y 30 minutos compilándolo.
Pero su problema específico es que necesita estar en el directorio al que desea aplicar el parche. En tu caso:
cd /usr/src/linux-headers-2.6.35.22/
patch -p1 < /path/to/file.diff
Obviamente cambie la ruta al parche (o péguelo en el mismo directorio). Si los archivos fuente son propiedad de root, agregue el prefijo sudo
al comando de parche o ejecútelo sudo su
para convertirse en root mientras hace esto.
Respuesta2
Para evitar frustraciones, generalmente deberías hacer estas cosas a la manera de Ubuntu. Las instrucciones completas sobre el uso de paquetes oficiales se pueden encontrar aquí:
https://help.ubuntu.com/community/Kernel/Compile
Proporciona listas de dependencias y comandos paso a paso para poner en funcionamiento un kernel personalizado.
Si sigue ese procedimiento, obtendrá un paquete desinstalable que contiene su kernel personalizado, lo que significa que podrá volver a los kernels oficiales en el futuro si es necesario.
Respuesta3
Las instrucciones que estás siguiendo te muestran la línea de comandos /usr/src/linux #
, que no es algo que escribas como parte del comando. El comando a escribir que aplicará el parche comienza en patch
y continúa desde allí.