Pages : 1
#1 Le 06/03/2008, à 08:52
- Zouk
Code source des commandes shell
Bonjour à tous,
Je cherche en ce moment le code source des commandes basiques du shell (genre 'ls' ...).
Et malgré plein de recherches, impossible de mettre la main dessus, savez vous où je peux trouver ca ?
(Apparemment j'ai vu qu'il était sur le site de GNU mais je sais pasou, on peux aussi le trouver sur son ordi mais je sais pas ou ni comment ...)
Edith : Ah oui, en passant une petite question que je me posais hier : le noyau linux est-il opensource et sous quelle license (GPL) ?
Merci d'avance.
Dernière modification par Zouk (Le 06/03/2008, à 08:58)
Hors ligne
#2 Le 06/03/2008, à 09:00
- philpep-tlse
Re : Code source des commandes shell
Linux est sous GPLv2
Et pour ls :
apt-get source ls
A condition d'avoir une ligne deb-src dans ton sources.list
Mais, il te faudra apprendre le C avant...
Dernière modification par philpep-tlse (Le 06/03/2008, à 09:02)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#3 Le 06/03/2008, à 09:26
- Karl_le_rouge
Re : Code source des commandes shell
ls fait partie du paquet GNU coreutils.
Attention, certaines commandes sont internes au shell comme cd ou echo (bien que coreutils fournisse /bin/echo avec un comportement similaire), donc il faudra taper directement dans le source de ton shell.
Pour savoir si une commande est interne ou pas, type -a <ma_commande>.
Hors ligne
#4 Le 06/03/2008, à 09:40
- Zouk
Re : Code source des commandes shell
A condition d'avoir une ligne deb-src dans ton sources.list
Impeccable. Merci, comment on l'ajoute si elle n'y est pas ??
Mais, il te faudra apprendre le C avant...
Ca avance, ca avance ...
Hors ligne
#5 Le 06/03/2008, à 17:53
- philpep-tlse
Re : Code source des commandes shell
Pour ton sources list, il suffit de recopier la ligne avec "deb http://serveur.org version main" Mais en rajoutant deb-src :
deb http://serveur/ version main
deb-src http://serveur version main
Je suppose que coreutils doit être dans la section main (Logiciels libre à dépendances libre)
Les autres section sont universe et multiverse et restricted.
En gros restricted c'est les paquets non libre.
Pour chaque sections si tu rajoute une ligne deb-src tu aura les sources en tapant apt-get source MesSources.
Je ne sais pas ce qu'il se passe si tu fait apt-get source MesSourcesNonFree mais soit elle n'existent pas, soit tu recevra une copie binnaire du programme...
EDIT, je suis en train de dire une connerie... Je modifie le post en conséquence...
Dernière modification par philpep-tlse (Le 06/03/2008, à 18:01)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#6 Le 07/03/2008, à 00:21
- Zouk
Re : Code source des commandes shell
Ok merci beaucoup pour tes conseils, j'essaie ca ce week end.
Sinon, pouvez vous m'apporter quelques précisions sur le noyau linux : toutes les distributions ont-elles le même noyau linux ? Par qui est-il mis à jour ?Existe-t-il plusieurs version ?
Merci
Hors ligne
#7 Le 07/03/2008, à 09:27
- Karl_le_rouge
Re : Code source des commandes shell
Oui, il y a un seul et unique noyau Linux qui est maintenu par Linus Torvalds et ses amis (Alan, Ingo, Greg, Robert, Marcello, John etc ...)
Non, chaque distribution n'empaquete pas le même noyau, ils prennent des versions différentes avec différents patchs. Enfin, un noyau Mandriva pourrait tourner dans une Ubuntu sans trop de problème mais c'est pas recommandé.
ça réponds à ta question ?
Hors ligne
#8 Le 07/03/2008, à 11:24
- Zouk
Re : Code source des commandes shell
Je comprends pas très bien. Il y a un seul noyau linux, mais il n'est pas utilisé de la même facon pour chaque ditribution c'est ca ?
En gros, si je veux me créer un distribution linux, il faut que je parte du noyau linux officiel et sue je voie comment je l'utilise dans mon cas, mais le noyau restera le même c'est ca ?
Merci
Hors ligne
#9 Le 07/03/2008, à 11:50
- philpep-tlse
Re : Code source des commandes shell
Hum, le noyau est sensiblement le même.
En fait il est compilé avec certaines option pour pouvoir tourner sur un maximum de machines, puis il est patché pour qu'il s'intègre bien dans la distribution. (Ces patch sont surement disponibles dans les dépôts).
Un exemple simple, avec les sources de Debian j'ai mon disque qui est reconnu comme /dev/hda, alors qu'avec un vanilla (noyau officiel disponible sur kernel.org) il est reconnu comme /dev/sda ----> impossible d'utiliser les 2 sans avoir recours au UUID...
C'est un exemple simple qui m'est arrivé donc j'imagine qu'il y a d'autres trucs dans le genre. Il est toujours plus simple d'utiliser les sources de sa distribution mais un noyau de kernel.org marchera tout aussi bien.
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne