
Estou seguindo as instruções localizadasaquipara configurar meu servidor. Afirma que preciso aplicar um patch que baixei na máquina. Minha pergunta é: o artigo diz para usar o seguinte comando:
/usr/src/linux # patch -p1 < file.diff //note I replace file.diff w/ routes-2.6.36.16.diff
Isso retorna:
-bash: /usr/src/linux: No such file or directory
Eu continuo assumindo que isso /linux #
deve ser substituído pela versão/diretório real do kernel do Linux. Eu tentei isso usando o seguinte comando:
/usr/src/linux-headers-2.6.35.22 patch -p1 < file.diff
Isso retorna o mesmo. Quando visualizo o conteúdo de /usr/src, tenho apenas dois diretórios linux-headers-2.6.35.22
e linux-headers-2.6.35.22-generic-pae
preciso de orientação sobre a maneira correta de aplicar um patch ao kernel.
Editar
Se eu executar /usr/src/linux-headers-2.6.35.22/ patch -p1 file.diff
eu recebo -bash: /usr/src/linux-headers-2.6.35.22: is a directory
. Preciso saber como faço para encontrar o arquivo específico que precisa ser corrigido aqui...
Responder1
Você precisa baixar a fonte. Você pode fazer isso via apt-src, mas eu (pessoalmente) apenas pegaria o mais recente emkernel.org, extraia-o, corrija-o (apenas usando caminhos locais como o desktop, ele não precisa estar oculto em /usr/src!) e siga o"Do modo antigo"instruções para compilá-lo.
Observe que alguns patches são apenas para certas versões do kernel (isso inclui lançamentos pontuais), portanto, certifique-se de que seu patch funcione para a versão fonte antes de perder 20 a 30 minutos compilando-o.
Mas o seu problema específico é que você precisa estar no diretório ao qual deseja aplicar o patch. No seu caso:
cd /usr/src/linux-headers-2.6.35.22/
patch -p1 < /path/to/file.diff
Obviamente, mude o caminho para o patch (ou coloque-o no mesmo diretório). Se os arquivos de origem pertencerem ao root, prefixe sudo
o comando patch ou execute sudo su
para se tornar root enquanto faz isso.
Responder2
Para evitar frustração, você geralmente deve fazer essas coisas do jeito Ubuntu. Instruções completas usando pacotes oficiais podem ser encontradas aqui:
https://help.ubuntu.com/community/Kernel/Compile
Ele fornece listas de dependências e comandos passo a passo para colocar um kernel personalizado em funcionamento.
Seguindo esse procedimento, você terá um pacote desinstalável contendo seu kernel personalizado, o que significa que você poderá voltar para os kernels oficiais no futuro, se necessário.
Responder3
As instruções que você está seguindo mostram o prompt da linha de comando /usr/src/linux #
, que não é algo que você digita como parte do comando. O comando a ser digitado que aplicará o patch começa patch
e continua a partir daí.