fd = open ("/dev/ttys0",O_RDWR)
if (fd>=0)
{
write (fd,"Bonjour\n",8);
close (fd);
}
return 0;
}
Tout ce que tu écriras et lira vers les fichiers /dev/ttyS0 et /dev/ttyS1 iront et proviendront en fait du port série. C'est cool UNIX, non ?
Bon après, il te faudra ouvrir le tout en bloquant ou non-bloquant, faire les réglages du ports, etc. Il faudra jouer avec termios, fcntl, ioctl, et toutes ces bizzarrerie mais chaque chose en son temps.
Les bibliothèques partagées en C sont les fichiers "*.so" (Shared Object)
Elles vont la plupart du temps dans /usr/lib.
Regarde le contenu du fichier /etc/ld.so.conf . Il contient la liste des répertoires dont le contenu sera maintenu en cache par le loader dynamique. Tous ces répertoires sont réputés contenir des bibliothèques, mais d'une manière générale, sous UNIX, la variable d'ennvironnement LD_LIBRARY_PATH te donne la liste des répertoires qui seront explorées lors du chargement (de la même façon que PATH te donne la liste des réps qui doivent contenir des exécutables).
Pour ajouter une lib et la rendre disponible, il suffit de la déposer dans un de ces répertoires (et accessoirement de relancer ldconfig pour mettre à jour le cache).
Ca c'est pour les bibliothèques dynamiques (les DLL, quoi). Si c'est pour les utiliser pendant une compilation, tu auras également besoin des *.h qui disent à ton programme comment on les utilise. Habituellement c'est /usr/include
En supposant que ta question n'était pas "comment on crée une DLL sous Linux" ni ne concernait les bibliothèques statiques ...
Pour mémoire i2bp fut une société à vapoware qui promettait (au temps de la bulle internet) de transporter de la vidéo (640x480 25fps) dans un débit de 2Ko/s
Si ta question, c'est "je cherche un crack pour pirater le réseau de ma FAC", alors à priori non , il n'y en a pas. C'est même tout l'intérêt du système. Il faudra à la place exploiter les failles de sécurité.
Maintenant, si tu veux faire de la vraie maintenance, la plupart du temps cela relève des droits d'accès plus que de la structure de l'application.
Par exemple, la gestion des partitions d'un disque, donc tu parlais plus haut, se fait en gérant la table des partitions qui se trouve sur le premier secteur (le MBR) du disque lorsque c'est un IDE. Il suffit de donner les droits d'accès avec un "chmod" sur " /dev/hd* " pour que l'utilisateur lambda ait le droit de le faire. Bon, dans ce cas précis, ce n'est pas tout-à-fait vrai car il faut en plus demander au système de relire la table et ça, cela peut demander les privilèges du super-user.
Mais dans tous les cas, l'objectif à atteindre est de se passer au maximum des droits root.
Un truc vraiment bête, ce serait qu'un utilisateur choisisse consciencieusement un mot de passe avec plein de caractères exotiques, et qu'il tombe par accident sur la somme MD5 de "toto" ! :-)
coûtant ainsi des milliers de dollars à l'administrateur système par les surcoûts en bande passante occasionnés.
En même temps, à chaque fois que l'administrateur en question estime ou prévoit d'atteindre un millier de dollars, il pourrait peut-être envisager de remplacer un de ses modem-routeurs :-)
Une chose est sûre, tu vas perdre quelques données mais probablement pas le disque entier.
Ces messages indiquent des secteurs défectueux au bas niveau sur le disque, si bien que même le contrôleur DMA, l'électronique du disque qui se charge d'aller chercher les secteurs tout seul, comme un grand et sans directive de la part du CPU, ne peut plus les lire. Cela est dû au fait que les informations inter-secteurs qui permettent au contrôleur disque de savoir où il se trouve sur une piste sont devenues incorrectes.
Évidement, on comprend que le meilleur cas de figure pour que cela arrive, c'est une coupure de courant au moment où l'électronique du disque est en train de les mettre à jour.
Vu de l'extérieur, l'IDE ou le SCSI faisant abstraction de ces informations et ne présentant que les secteurs eux-mêmes, les formattages traditionnels s'y cassent les dents puisque ceux-ci ne s'occupent que de remplir les secteurs et pas de les construire. La plupart des gens pensent donc que le disque est physiquement endommagé alors qu'un formattage de bas niveau suffit à leur redonner leur jeunesse d'antan.
Malheureusement, depuis que les disquettes sont tombées en désuétude, beaucoup de gens confondent formattages de bas niveau et de haut niveau avec formattage de haut niveau (remplir les secteurs existants avec des zéros) et reconstruction du système de fichiers (qui suffit à présenter un disque comme vide même s'il reste des infos dans les secteurs).
Donc, pour réparer ton disque, il faut trouver l'utilitaire de formattage de bas niveau de ton disque, qui est propre à chaque constructeur (c'est à ça que sert une couche d'abstraction), et si possible isoler et ne formatter que les pistes défectueuses.
Sinon, il faut trouver de la place quelque part, backuper le contenu du disque avec dd en ignorant les erreurs (enfin il faut vérifier que dd remplace les secteurs défectueux par des 00 00), puis procéder là aussi à un formattage de bas-niveau sur la totalité du disque, puis reconstruire.
Bref, c'est pas forcément TRÈS compliqué en soi, mais c'est assez contraignant et il faut avoir un peu de connaissances. Mais au moins, tu devrais pouvoir conserver ton hardware.
À mon tour de mettre mon grain de sel. Oui, effectivement, je trouve cela un poil agressif.
En fait, en lisant ta première phrase, je comprend la sienne : Par crédibilité, j'imagine qu'elle a voulu dire « bonne foi ». Comme ton message est une réponse directe au sien et pas un commentaire surnuméraire, tu mets en doute la véracité générale de ses mails (qu'elle envoie avec la meilleure volonté du monde) en voulant en fait reconsidérer le message d'origine. Il faut être prudent avec ce genre de réponse : Il y a peut-être même des gens qui ignorent que ton amie n'est pas à l'origine de ce message ...
D'autre part, être spécialisé dans un domaine (ou simplement en avoir l'expérience) est un cadeau empoisonné : Il faut toujours garder le bon équilibre entre respecter l'inexpérience légitime des gens qui ne sont pas dans la même branche que nous, et éviter de les prendre pour des imbéciles (moment où généralement on tombe sur plus expérimenté que soi). C'est une question de dosage, et ce dosage peut parfois être pharmaceutique. Ce n'est pas pour rien que la diplomatie et la médiation sont des métiers à part entière.
Par exemple, il existe encore des gens qui pensent que les virus informatiques sont transmissibles à l'homme. À priori, cela semble sans espoir, mais si ces personnes n'ont jamais été informées de ce qu'est réellement un virus informatique (en réalité, un programme conçu pour se comporter comme tel), il n'y aucune raison d'attendre plus de bon sens, spécialement si l'on tient compte du battage médiatique mené autour de ce problème.
C'est un peu comme si un de tes proches était victime d'une arnaque. Même si celle-ci est flagrante, une fois le forfait commis, j'ose espérer que tu prendras sa défense plutôt que te moquer de lui ...
Enfin, le plus efficace pour faire retenir quelque chose à quelqu'un reste, plus que la morale, la répétition. Tu peux renvoyer un message à tous les destinataires mais, comme on l'a dit, non pas comme une réponse mais comme une info supplémentaire. Au mail suivant, tu refais exactement la même chose, avec une référence discrète à la première affaire. Au troisième, les gens commenceront à avoir d'eux-même la puce à l'oreille.
[^] # Re: Ca existe? -> OS9
Posté par Obsidian . En réponse au message Linux pour Amstrad CPC-6128+. Évalué à 5.
Les premiers tests ont été très prometteurs.
http://os9.forler.ch/
[^] # Re: libs
Posté par Obsidian . En réponse au message ajouter une library. Évalué à 2.
La seule fois où je l'ai fait, ce fut un mauvais présage, donc je me restreins maintenant aux lignes de codes ... :-) Sinon, c'est par ici :
http://www.google.fr/search?hl=fr&q=Chiromancie&btnG(...)
[^] # Re: héhé
Posté par Obsidian . En réponse au journal Une nouvelle méthode de développement révolutionnaire !. Évalué à 2.
« Oublie les vieux travaux et laisse les nouveaux devenir vieux. »
# Commandement numéro un : " Tout est fichier "
Posté par Obsidian . En réponse au message port serie. Évalué à 2.
int main (void)
{
int fd;
fd = open ("/dev/ttys0",O_RDWR)
if (fd>=0)
{
write (fd,"Bonjour\n",8);
close (fd);
}
return 0;
}
Tout ce que tu écriras et lira vers les fichiers /dev/ttyS0 et /dev/ttyS1 iront et proviendront en fait du port série. C'est cool UNIX, non ?
Bon après, il te faudra ouvrir le tout en bloquant ou non-bloquant, faire les réglages du ports, etc. Il faudra jouer avec termios, fcntl, ioctl, et toutes ces bizzarrerie mais chaque chose en son temps.
En attendant : man stty is good for you.
# libs
Posté par Obsidian . En réponse au message ajouter une library. Évalué à 3.
Elles vont la plupart du temps dans /usr/lib.
Regarde le contenu du fichier /etc/ld.so.conf . Il contient la liste des répertoires dont le contenu sera maintenu en cache par le loader dynamique. Tous ces répertoires sont réputés contenir des bibliothèques, mais d'une manière générale, sous UNIX, la variable d'ennvironnement LD_LIBRARY_PATH te donne la liste des répertoires qui seront explorées lors du chargement (de la même façon que PATH te donne la liste des réps qui doivent contenir des exécutables).
Pour ajouter une lib et la rendre disponible, il suffit de la déposer dans un de ces répertoires (et accessoirement de relancer ldconfig pour mettre à jour le cache).
Ca c'est pour les bibliothèques dynamiques (les DLL, quoi). Si c'est pour les utiliser pendant une compilation, tu auras également besoin des *.h qui disent à ton programme comment on les utilise. Habituellement c'est /usr/include
En supposant que ta question n'était pas "comment on crée une DLL sous Linux" ni ne concernait les bibliothèques statiques ...
# C'était en 2001 !
Posté par Obsidian . En réponse au journal Le retour d'I2BP ?. Évalué à 3.
Putain ! 5 ans !
[^] # Re: 50 Mo
Posté par Obsidian . En réponse au journal Le retour d'I2BP ?. Évalué à 5.
Par contre il faut 27Go d'espace libre pour installer le codec :-)
[^] # Re: Dommage...
Posté par Obsidian . En réponse au journal Le retour d'I2BP ?. Évalué à 10.
[^] # Re: meuh
Posté par Obsidian . En réponse au journal Où créer son blog ?. Évalué à 4.
http://www.bide-et-musique.com/song/4076.html
[^] # Re: Méthode de developpement
Posté par Obsidian . En réponse au message Application root. Évalué à 2.
Maintenant, si tu veux faire de la vraie maintenance, la plupart du temps cela relève des droits d'accès plus que de la structure de l'application.
Par exemple, la gestion des partitions d'un disque, donc tu parlais plus haut, se fait en gérant la table des partitions qui se trouve sur le premier secteur (le MBR) du disque lorsque c'est un IDE. Il suffit de donner les droits d'accès avec un "chmod" sur " /dev/hd* " pour que l'utilisateur lambda ait le droit de le faire. Bon, dans ce cas précis, ce n'est pas tout-à-fait vrai car il faut en plus demander au système de relire la table et ça, cela peut demander les privilèges du super-user.
Mais dans tous les cas, l'objectif à atteindre est de se passer au maximum des droits root.
[^] # Re: Explication simple
Posté par Obsidian . En réponse au journal Quelle place pour les OS libres dans les très grandes entreprises ?. Évalué à 2.
Scénario 3 : "Ok on prend Microsoft Windows"
un jour : itou
Réponse "Fermez toutes les applications et redémarrez votre cluster. Si le problème persiste, contactez votre revendeur informatique."
Cela ne l'a jamais empêché de se vendre, même de force, d'ailleurs ...
[^] # Re: Cosmocats
Posté par Obsidian . En réponse au journal Du copyright en cinema - Les brigades du tigre. Évalué à 10.
[^] # Re: Méthodologie ?
Posté par Obsidian . En réponse au journal Combien de temps faut-il pour cracker un mot de passe ?. Évalué à 2.
# En shell ...
Posté par Obsidian . En réponse au message Traiter un fichier sur deux ?. Évalué à 3.
$ ./commande *[13579].png
Sinon
echo *.png | while read i j ; do ./commande $i ; done
Ca devrait suffire.
[^] # Re: Mauvais routeurs, changer routeurs ?
Posté par Obsidian . En réponse au journal D-Link sabote les protocoles de l'Internet. Évalué à 2.
Le pire, c'est que j'avais déjà eu vent de cette histoire et je n'ai même pas fait le rapprochement. 'faut que je me couche plus tôt, moi ...
[^] # Re: meuh
Posté par Obsidian . En réponse au journal Où créer son blog ?. Évalué à 8.
Ben pas sur skyblog en tout cas ! :-)
[^] # Re: Quelle perte de temps...
Posté par Obsidian . En réponse au journal D-Link sabote les protocoles de l'Internet. Évalué à 10.
Merci pour lui parce qu'en ce moment, il doit plutôt être vidé ...
# Mauvais routeurs, changer routeurs ?
Posté par Obsidian . En réponse au journal D-Link sabote les protocoles de l'Internet. Évalué à -5.
En même temps, à chaque fois que l'administrateur en question estime ou prévoit d'atteindre un millier de dollars, il pourrait peut-être envisager de remplacer un de ses modem-routeurs :-)
# Port 25 ?
Posté par Obsidian . En réponse au journal Port 25 - Le site opensource de MS. Évalué à 10.
[^] # Re: Hotline
Posté par Obsidian . En réponse au journal apu google ?. Évalué à 6.
# Peut-être un espoir
Posté par Obsidian . En réponse au message crash hda. Évalué à 4.
Ces messages indiquent des secteurs défectueux au bas niveau sur le disque, si bien que même le contrôleur DMA, l'électronique du disque qui se charge d'aller chercher les secteurs tout seul, comme un grand et sans directive de la part du CPU, ne peut plus les lire. Cela est dû au fait que les informations inter-secteurs qui permettent au contrôleur disque de savoir où il se trouve sur une piste sont devenues incorrectes.
Évidement, on comprend que le meilleur cas de figure pour que cela arrive, c'est une coupure de courant au moment où l'électronique du disque est en train de les mettre à jour.
Vu de l'extérieur, l'IDE ou le SCSI faisant abstraction de ces informations et ne présentant que les secteurs eux-mêmes, les formattages traditionnels s'y cassent les dents puisque ceux-ci ne s'occupent que de remplir les secteurs et pas de les construire. La plupart des gens pensent donc que le disque est physiquement endommagé alors qu'un formattage de bas niveau suffit à leur redonner leur jeunesse d'antan.
Malheureusement, depuis que les disquettes sont tombées en désuétude, beaucoup de gens confondent formattages de bas niveau et de haut niveau avec formattage de haut niveau (remplir les secteurs existants avec des zéros) et reconstruction du système de fichiers (qui suffit à présenter un disque comme vide même s'il reste des infos dans les secteurs).
Donc, pour réparer ton disque, il faut trouver l'utilitaire de formattage de bas niveau de ton disque, qui est propre à chaque constructeur (c'est à ça que sert une couche d'abstraction), et si possible isoler et ne formatter que les pistes défectueuses.
Sinon, il faut trouver de la place quelque part, backuper le contenu du disque avec dd en ignorant les erreurs (enfin il faut vérifier que dd remplace les secteurs défectueux par des 00 00), puis procéder là aussi à un formattage de bas-niveau sur la totalité du disque, puis reconstruire.
Bref, c'est pas forcément TRÈS compliqué en soi, mais c'est assez contraignant et il faut avoir un peu de connaissances. Mais au moins, tu devrais pouvoir conserver ton hardware.
[^] # Re: yeah
Posté par Obsidian . En réponse au journal Boxe contre les pirates. Évalué à 4.
http://tac.bling.fr/
http://tac.bling.fr/indexsemaine.php
http://tac.bling.fr/indextotal.php
D'ailleurs le Ministre est ... disons bien placé :-)
[^] # Re: GASP - INTERNAL INFO... better moderate this one out!!!!
Posté par Obsidian . En réponse au journal Contestation interne chez Microsoft. Évalué à 4.
[^] # Re: Dam
Posté par Obsidian . En réponse au journal Mails et diplomatie...?. Évalué à 5.
En fait, en lisant ta première phrase, je comprend la sienne : Par crédibilité, j'imagine qu'elle a voulu dire « bonne foi ». Comme ton message est une réponse directe au sien et pas un commentaire surnuméraire, tu mets en doute la véracité générale de ses mails (qu'elle envoie avec la meilleure volonté du monde) en voulant en fait reconsidérer le message d'origine. Il faut être prudent avec ce genre de réponse : Il y a peut-être même des gens qui ignorent que ton amie n'est pas à l'origine de ce message ...
D'autre part, être spécialisé dans un domaine (ou simplement en avoir l'expérience) est un cadeau empoisonné : Il faut toujours garder le bon équilibre entre respecter l'inexpérience légitime des gens qui ne sont pas dans la même branche que nous, et éviter de les prendre pour des imbéciles (moment où généralement on tombe sur plus expérimenté que soi). C'est une question de dosage, et ce dosage peut parfois être pharmaceutique. Ce n'est pas pour rien que la diplomatie et la médiation sont des métiers à part entière.
Par exemple, il existe encore des gens qui pensent que les virus informatiques sont transmissibles à l'homme. À priori, cela semble sans espoir, mais si ces personnes n'ont jamais été informées de ce qu'est réellement un virus informatique (en réalité, un programme conçu pour se comporter comme tel), il n'y aucune raison d'attendre plus de bon sens, spécialement si l'on tient compte du battage médiatique mené autour de ce problème.
C'est un peu comme si un de tes proches était victime d'une arnaque. Même si celle-ci est flagrante, une fois le forfait commis, j'ose espérer que tu prendras sa défense plutôt que te moquer de lui ...
Enfin, le plus efficace pour faire retenir quelque chose à quelqu'un reste, plus que la morale, la répétition. Tu peux renvoyer un message à tous les destinataires mais, comme on l'a dit, non pas comme une réponse mais comme une info supplémentaire. Au mail suivant, tu refais exactement la même chose, avec une référence discrète à la première affaire. Au troisième, les gens commenceront à avoir d'eux-même la puce à l'oreille.
# find, grep, cut ... kit de survie sous Unix.
Posté par Obsidian . En réponse au message Recherche de chaine codées en dur .... Évalué à 5.
find ~ -name '*.c' -exec grep -v "Tracer_Message" {} \; | grep "^.*\".*\".*" | sed -e 's/^.*\(".*"\).*$/\1/g'