Je suis les instructions situées ici pour installer mon serveur. Il indique que je dois appliquer un correctif que j'ai téléchargé sur la machine. Ma question est, l'article dit d'utiliser la commande suivante:
/usr/src/linux # patch -p1 < file.diff //note I replace file.diff w/ routes-2.6.36.16.diff
Cela retourne:
-bash: /usr/src/linux: No such file or directory
Je suppose que /linux #
devrait être remplacé par la version/dir du noyau Linux. J'ai essayé ceci en utilisant la commande suivante:
/usr/src/linux-headers-2.6.35.22 patch -p1 < file.diff
Cela retourne la même chose. Lorsque je consulte le contenu de/usr/src, je ne dispose que de deux répertoires linux-headers-2.6.35.22
et linux-headers-2.6.35.22-generic-pae
. Il me faut des conseils sur la bonne manière d'appliquer un correctif au noyau.
Modifier
Si j'exécute /usr/src/linux-headers-2.6.35.22/ patch -p1 file.diff
je reçois -bash: /usr/src/linux-headers-2.6.35.22: is a directory
. J'ai besoin de savoir comment je vais trouver le fichier spécifique qui doit être corrigé ici ...
Pour éviter les frustrations, vous devriez généralement faire de telles choses à la manière Ubuntu. Les instructions complètes en utilisant les paquets officiels peuvent être trouvées ici:
https://help.ubuntu.com/community/Kernel/Compile
Il fournit des listes de dépendances et des commandes pas à pas pour obtenir un noyau personnalisé opérationnel.
En suivant cette procédure, vous obtiendrez un paquet désinstallable contenant votre noyau personnalisé, ce qui signifie que vous pourrez éventuellement revenir aux noyaux officiels à l'avenir.
Vous devez télécharger la source. Vous pouvez le faire via apt-src mais je voudrais (personnellement) simplement récupérer le dernier en date de kernel.org , l'extraire, le patcher (en utilisant simplement les chemins locaux comme le bureau, il n'est pas nécessaire de le faire.) être caché dans/usr/src du tout!) et suivez les instructions "à l'ancienne" pour le compiler.
Notez que certains correctifs ne concernent que certaines versions du noyau (ceci inclut les versions ponctuelles). Assurez-vous donc que votre correctif fonctionne pour la version source avant de perdre 20 à 30 minutes de compilation.
Mais votre problème spécifique est que vous devez être dans le répertoire auquel vous souhaitez appliquer le correctif. Dans ton cas:
cd /usr/src/linux-headers-2.6.35.22/
patch -p1 < /path/to/file.diff
Évidemment, changez le chemin du patch (ou collez-le dans le même répertoire). Si les fichiers source appartiennent à root, préfixez Sudo
sur la commande de correctif ou exécutez Sudo su
pour devenir root pendant cette opération.
Les instructions que vous suivez vous montrent l'invite de ligne de commande /usr/src/linux #
, qui n'est pas quelque chose que vous tapez en tant que partie de la commande. La commande à appliquer au correctif commence à patch
et continue à partir de là.