Comment installer les outils de développement pour 12.10?


14

J'ai un tarball source: ap-kernelmodule-1.0.14-13.tar.gz je dois en compiler un module noyau et j'ai été invité à installer des outils de développement pour ma version Ubuntu (qui est 12.10). Le format est:sudo apt-get install linux-headers-$(uname -r) build-essential

Question # 1: qu'est-ce que c'est uname?

(Lorsque j'ai installé Ubuntu, je saisis sharon comme mon nom et qui est aussi le nom de mon compte. Chaque fois que j'ouvre une fenêtre de terminal, les mots sharon@sharon:apparaissent) En fonction du format, je dois saisir:

sudo apt-get install linux-headers-$(sharon -r) build-essential

ou

sudo apt-get install linux-headers-$sharon -r build-essential

Question # 2: Laquelle des réponses ci-dessus est correcte?

(Je suis nouveau sur Linux et Ubuntu; par conséquent, des instructions détaillées sont appréciées)


Vous feriez mieux de mettre les détails de cette question à l'autre question similaire que vous avez posée. askubuntu.com/questions/232195/how-do-i-compile-kernel-modules
gertvdijk

Désolé, je ne voulais pas spam. Je pensais que faire un article pour chaque sous-sujet serait plus clair. Pourriez-vous me montrer comment fusionner ce sujet avec l'autre que vous avez signalé? Merci.
n00b

Réponses:


15

Ne copiez pas mes commandes, vous devez les taper et utiliser votre touche de tabulation car mon noyau peut être différent du vôtre. J'explique jeu par jeu:

Ouvrez un terminal et saisissez:

sudo apt-get update

Cette mise à jour donne à votre ordinateur une liste des fichiers dont vous pourriez avoir besoin. Mais aucun téléchargement de fichiers, seulement des informations sur ce qui peut être téléchargé. Si vous ne l'avez pas fait en premier, vous ne disposez peut-être pas du dernier lien vers les mises à jour de sécurité ou les dernières versions du logiciel.

Pendant que vous tapez, appuyez sur la touche de tabulation pour terminer votre commande. Commencez à taper la commande qui va installer build-essential. Une fois que vous avez atteint cet arrêt lointain:

sudo apt-get install linux-headers-

La prochaine partie qui devrait apparaître sera votre noyau Linux. Alors ouvrez un autre terminal et tapez ceci:

uname -r

Vous devriez voir quelque chose comme ceci:

3.2.0-23-generic

Revenez maintenant à l'autre terminal et appuyez sur tab comme type. Vous devriez voir apparaître votre noyau. Choisissez celui-là.

sudo apt-get install linux-headers-3.2.0-23-generic

Tapez maintenant un espace et ajoutez build-essential (n'oubliez pas d'utiliser votre onglet pour terminer).

sudo apt-get install linux-headers-3.2.0-23-generic build-essential

Maintenant, appuyez sur Entrée et les fichiers seront téléchargés pour vous aider à compiler le code.


@ cxx6xxc: Merci d'être un ange. J'apprécie vraiment que vous ayez pris le temps de saisir ces instructions détaillées. Puissiez-vous et vos proches passer un joyeux Noël.
n00b

@ cxx6xxc: Désolé mais je ne comprends pas très bien ce que vous vouliez dire par "En tapant, appuyez sur la touche de tabulation pour terminer votre commande". Vous voyez, dans des circonstances normales, lorsque je tape, le curseur clignotant se déplace automatiquement vers la droite (mon clavier de langue est l'anglais américain, donc le curseur se déplace de gauche à droite).
n00b

@ cxx6xx: est-il OK d'ouvrir plus d'une fenêtre de terminal en même temps? L'ouverture de plusieurs fenêtres de terminal en même temps entraînera-t-elle la confusion dans Ubuntu ou entraînera-t-elle un plantage?
n00b


Ubuntu ne se confondra pas. Ubuntu n'est qu'un tas de fichiers et de répertoires sur un disque de stockage. Quand on accède à un pour être écrit, il est verrouillé, donc aucune confusion ne peut se produire. Plusieurs personnes lisant la même chose ne peuvent pas faire de mal, tout le monde à tour de rôle. Tout le reste est constitué d'applications qui remplissent la mémoire en direct. Cela ne peut pas créer de confusion car ils ne peuvent pas entrer dans l'espace de l'autre en mémoire vive. Les choses pourraient ralentir, car tout le monde a besoin d'un petit coup de pouce par le processeur et il n'y a que tant de poussée par seconde, mais c'est tout.
cxx6xxc

8

unameest une commande qui doit être entrée sur la ligne de commande. Donc, si vous ouvrez un terminal et le tapez, unameil génère le mot Linux. Dans la commande que vous avez mentionnée, vous trouvez -r. C'est une option pour uname. Il demande unamed'imprimer le numéro de version du noyau. Donc, il imprimera essentiellement certains chiffres (comme 3.2.0-41-amd64).

Vous devez entrer la commande

sudo apt-get install linux-headers-$(uname -r) build-essential

comme il est écrit. Le $(something)dit à votre ligne de commande (le meilleur mot serait shell) d'exécuter la commande somethinget d'insérer la sortie de cette commande.

Donc, dans votre unamecas (en supposant que le nombre que j'ai écrit est correct, ce qui pourrait ne pas être le cas), la commande qui est exécutée est sudo apt-get install linux-headers-3.2.0-41-amd64 build-essential. Fondamentalement, vous pouvez simplement rechercher la version de votre noyau et l'insérer manuellement.

Comme vous le voyez maintenant, aucune de vos versions n'est correcte. La solution semble un peu différente.


J'espère que cela a aidé à obtenir une réponse à votre question. Si oui, veuillez l'accepter comme solution. ;-)
qbi

Merci, je crois que vous avez répondu à ma question. Alors, sur quel bouton dois-je cliquer pour dire au forum que ma question a été répondue? D'où je suis en ce moment, il n'y a que 2 boutons: "Ajouter un commentaire" et "Répondre à votre question".
n00b

Sur le côté gauche, il y a une flèche vers le haut et vers le bas et en dessous vous trouvez une coche (✓). Si vous cliquez dessus, vous acceptez une réponse telle qu'acceptée. Veuillez également consulter la description sur askubuntu.com/faq#howtoask
qbi

@ qbi: Merci beaucoup. Et un joyeux Noël à vous et à vos proches.
n00b
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.