Regarde également du coté du sticky bit sur le répertoire en question, typiquement s'il s'appelle " /tmp ".
Sans ça, ce peut quand même être un problème de droit sur le répertoire comme dit plus haut. Ecraser un fichier se fait de deux manières, soit par ouverture/vidage/remplissage du fichier de destination, soit par suppression/recréation, et il fait que le numéro d'inode ne change pas n'est pas probant en soi pour connaître la méthode utilisée ... Je penche quand même pour la première dans le sens où lorsque je fais le test en local, le fichier de destination conserve quand même ses droit et prioriétaire originaux.
Enfin, il se peut très bien qu'il s'agisse d'une facétie de ton FTP, et pas du filesystem. Essaie de faire le test en local ...
Je te conseille de mettre de coté le DOS et Windows pour un moment.
Si tu as fait du Turbo Pascal, du Basic, et des fichiers Bat, certes tes connaissances ont 15 à 20 ans d'âge, mais au moins tu sais faire un peu plus que cliquer sur des icônes.
Dans un premier temps, essaie de te familliariser avec Unix, d'une manière générale. Sa ligne de commande est extrêmement puissante, et te permet la plupart du temps d'arriver à faire ce qui t'aurait nécessité l'écriture d'un programme dans un environnement Microsoft.
Trouve-toi déjà un tutoriel Unix qui te convienne :
Commence par t'entraîner avec le Shell pour être efficace.
---
Ensuite, si tu veux débuter en C++, pas de problème, mais connais-tu déjà le C au moins ? Si ce n'est pas le cas, la plupart des gens te conseillera de commencer d'abord par cela.
Essaie d'explorer gcc et g++ d'un coté, et de lire le cours de Casteyde de l'autre (le meilleur à mon goût) :
La déclaration d'un int dans l'entête de la boucle, oui, est interdit par le C99 (et tant mieux parce que c'est sale). Par contre rien ne t'empêche de créer une locale dans le corps de la boucle, entre les accolades ...
Au début, on trouvait beaucoup de SMTP ouverts parce que c'était l'esprit du réseau : Interconnexion maximum, et service assuré autant que possible, le tout sur des tuyaux beaucoup moins nombreux et au débit beaucoup plus faible.
En suivant cette idée, la plupart des SMTP étaient plus ou moins publics, sur le modèle des boites aux lettres postales du courrier sur papier : Ta boite perso est située à un droit fixe et protégée par un verrou, mais tu peux par contre poster une lettre depuis n'importe quel bled en utilisant une des nombreuses boites jaunes publiques.
Aujourd'hui, la tendance est malheureusement à la paranoïa. Le fait de mettre de se faire passer pour quelqu'un d'autre en changeant le champ "From" d'un e-mail est considéré par la plupart des gens comme du piratage, alors que n'importe qui peut configurer son client de messagerie avec le nom qui lui chante et que dans tous les cas, c'est exactement la même chose que d'envoyer une lettre anonyme par La Poste.
Ce qui fait qu'aujourd'hui, non seulement le Réseau est de plus en plus sécurisé, mais que les connectés d'un fournisseur d'accès ont toutes les chances d'être bannis des autres sites si celui-ci est réputé proposer un serveur en Open Relay.
Le mieux reste donc encore de sécuriser ta propre machine et de t'y connecter, effectivement.
UPDATE : On me signale que quelqu'un aurait déjà réussi à faire ce que tu veux faire dans une boulangerie ....
Essaie déjà, en ligne de commande :
$ cat /dev/lp0 > ton_fichier
C'est l'un des grands avantages d'Unix : Tu peux contrôler la majorité des ressources sans avoir à écrire une ligne de code ni lancer une application dédiée.
Après, comme dit plus haut, ce serait sympa de savoir ce que tu connais déjà, effectivement. Sinon, le meilleur moyen de contrôler le port parallèle en C++ sous Linux est de faire exactement ce que tu ferais en ligne de commande, c'est-à-dire l'ouvrir et le traiter comme s'il s'agissait d'un fichier ordinaire.
Oui c'est un séparateur de mot, et justement j'aime bien l'utiliser pour ca :) Je me rend bien compte qu'il nécessite de taper le caractère '\' en ligne de commande pour qu'il soit considéré comme un espace, mais est-ce une raison suffisante pour le bannir alors que ca quand la plupart des bash proposent la complémention automatique (et donc bien souvent de ne pas taper ce caractère supplémentaire) ?
Surtout que TAB-Complétion roulaize et met les slashs pour nous. Et dans le pire des cas, un guillemet au début, un guillemet à la fin et tout rentre dans l'ordre.
Autant, j'essaie toujours d'éviter les caractères trop exotiques dans mes noms de fichiers, autant j'ai officiellement intégré l'espace dans ma politique de nommage des noms de fichiers longs (fichier musicaux, typiquement).
Par contre, effectivement, j'essaie de les éviter lorsque ce n'est pas nécessaire ou lorsque je destine mon fichier à mon entourage ...
Pour chipouiller encore un peu, declarer des variables (pid_t p) au milieu d'un for(), ça fait pas très c non plus, en général, on les met au debut de la fonction.
En réalité, on les déclare au début d'un bloc délimité par les accolades, car celui-ci ouvre un nouveau cadre de pile. Je n'ai jamais essayé d'en déclarer à l'intérieur d'un switch mais c'est tout-à-fait légal dans une boucle for par exemple ...
Certains précompilateurs (celui de Sybase pour le Embedded C SQL, par exemple) ouvrent carrément des accolades « nues », sans condition initiale. Cela respecte totalement les prérogatives du langage même si c'est assurément dégueulasse et que ça souligne un défaut de conception sous-jacent ...
J'espère que tu n'essaies pas de te logger en root dès le début de ta session, mais s'il te demande le mot de passe pendant que tu travailles pour faire des opérations privilégiées, il s'agit du tien (donc le même qu'à l'entrée de session).
- « cout », c'est du C++ et pas du C.
- Tel que ton programme est écrit, tes breaks sortent de ton switch ... case, mais pas de ta boucle for. Moralité, les fils forquent à leur tour, et tu crées 4! processus en tout, soit 24 processus.
C'est assez révélateur, pour moi, de la perte vertigineuse de savoir-faire en matière d'informatique. Les bugs, ça existe officiellement depuis Grace Hopper, mais ça n'a quand même jamais autant posé problème que depuis la fin des années 1990.
Maintenant, il est intéressant de noter que tous ces désagréments concernent surtout l'informatique grand public, principalement sur PC. Les bonnes vieilles consoles 8 et 16 bits fonctionnaient immédiatement et sans aucun problème, par exemple.
Dans le même esprit, mon lecteur-enregistreur de DVD de salon Phillips est très pratique, mais reste une horreur à utiliser, surtout provenant des usines d'une compagnie notoire dont le crédo est « sense and simplicity ». J'ai réussi à le planter plusieurs fois, et surtout la moindre action nécessite plusieurs secondes, jusqu'à une trentaine dans certains cas, lorsque que j'ai laissé un DVD dans le tiroir avant de mettre l'appareil en service, période durant laquelle le graveur accapare le signal vidéo et affiche son propre fond d'écran. C'est l'école du Zen lorsque l'on s'est rué sur la télécommande pour enregistrer un passage important d'une émission. En comparaison, mon vieux magnétoscope VHS, lui, était assujetti à des opérations mécaniques bien plus complexes et critiques, et a pourtant toujours réagi au doigt et à l'oeil.
Quand je prend un abonnement à TPCanalSat, ca plante pas comme ca.
Et pourtant, la télévision numérique est principalement basée sur l'informatique, comme beaucoup d'autre choses aujourd'hui. Lorsque tu téléphones, tu te doutes que ton GSM est numérique, mais il faut souligner que le téléphone analogique fixe, lui, ne l'est encore que jusqu'à l'autocommutateur le plus proche. Moralité, les systèmes informatiques qui fonctionnent le mieux sont ceux que l'on ne remarque même pas.
C'est là que ca coince ! Ok pour les droits "x" manquants sur les fichiers, mais sachant que pour moi, l'effacement dépend uniquement des droits sur le répertoire "app1", je vois mal comment il est possible de se débrouiller pour qu'un seul des deux fichiers de ce répertoire soit effacable par user1.
Typiquement, certaines cartes comme les NVidia nécessitent un module du noyau, chargé éventuellement par le serveur X, par exemple.
Le serveur X est par nature assez loquace et consigne tout ce qu'il dit à l'écran pendant son démarrage dans /var/log/XFree86.*log. C''est ce même contenu qui t'es proposé par le lanceur de Debian lorsque tu dis "oui".
Cherches-y les lignes qui commencent par "(EE)" , la raison de l'erreur y est généralement donnée en clair. Au pire, reviens nous donner le contenu de ce fichier ici (ou mieux, mets le temporairement en ligne sur ton site web).
Il semble clair que c'est la mise à jour de ton noyau qui est en cause. Le nouveau noyau ne contient plus les modules nécessaires. Vérifies si tu peux booter sur l'ancien noyau depuis lilo.
Pour lilo, en principe tu saisis à la main l'entrée que tu veux lancer, donc il suffit de taper linux single en toutes lettres dans l'invite. Si tu utilises un mode graphique ou un menu interactif, je crois qu'appuyer sur ESC suffit à te rendre l'invite.
Pour le clavier USB, il faut savoir que ton BIOS le reconnaît tout seul par défaut, et heureusement parce que c'est fait pour. Ensuite, c'est Linux qui prend les commandes.
Si toutes tes LEDs s'éteignent, ce n'est pas forcément alarmant. Linux réinitialise le clavier par défaut (le rallumage du NumLock, par exemple, se fait souvent pendant l'init SysV). Si tu ne peux pas les rallumer manuellement derrière, cela signifie peut-être tout simplement que le noyau a mis le port USB hors tension (vérifie l'état d'autres périphériques USB branchés sur ta machine).
Je te conseille également de télécharger-graver une Knoppix ou un autre Live-CD. Knoppix fonctionne généralement très bien, est très fort port la détection automatique du matériel et te sera très utile pour tes dépannages.
J'aurais peut-être du le préciser dès le départ, en effet.
Mais à la base, à moins d'avoir quelque chose de bien précis à faire, quand on utilise les raw sockets, c'est que l'on entre déjà dans le domaine de l'expérimental.
Toutefois, c'est bien dans cette optique que je lui proposais ce module, et pas comme d'une base sur laquelle il devait baser l'architecture de son application ...
[^] # Re: Et moi
Posté par Obsidian . En réponse au journal Mmmmm, c'était bon.. Évalué à 3.
[^] # Re: Et moi
Posté par Obsidian . En réponse au journal Mmmmm, c'était bon.. Évalué à 9.
# Babelfish roulaize
Posté par Obsidian . En réponse au journal [HS] Steve Ballmer est manchot. Évalué à 10.
Comprendre :
" Martin Taylor s'est barré chez Google et j'ai encore refait mon bureau à la batte de base-ball " ?
[^] # Sticky Sticky WWW
Posté par Obsidian . En réponse au message Droits sur fichier. Évalué à 2.
Sans ça, ce peut quand même être un problème de droit sur le répertoire comme dit plus haut. Ecraser un fichier se fait de deux manières, soit par ouverture/vidage/remplissage du fichier de destination, soit par suppression/recréation, et il fait que le numéro d'inode ne change pas n'est pas probant en soi pour connaître la méthode utilisée ... Je penche quand même pour la première dans le sens où lorsque je fais le test en local, le fichier de destination conserve quand même ses droit et prioriétaire originaux.
Enfin, il se peut très bien qu'il s'agisse d'une facétie de ton FTP, et pas du filesystem. Essaie de faire le test en local ...
[^] # Re: doucement
Posté par Obsidian . En réponse au message Base de programmation tres limité. Évalué à 2.
[^] # Re: Les fichiers spéciaux ?
Posté par Obsidian . En réponse au message Conseil pour débuter en c++. Évalué à 3.
Si tu as fait du Turbo Pascal, du Basic, et des fichiers Bat, certes tes connaissances ont 15 à 20 ans d'âge, mais au moins tu sais faire un peu plus que cliquer sur des icônes.
Dans un premier temps, essaie de te familliariser avec Unix, d'une manière générale. Sa ligne de commande est extrêmement puissante, et te permet la plupart du temps d'arriver à faire ce qui t'aurait nécessité l'écriture d'un programme dans un environnement Microsoft.
Trouve-toi déjà un tutoriel Unix qui te convienne :
http://www.google.fr/search?hl=fr&q=Tutoriel+UNIX&bt(...)
Commence par t'entraîner avec le Shell pour être efficace.
---
Ensuite, si tu veux débuter en C++, pas de problème, mais connais-tu déjà le C au moins ? Si ce n'est pas le cas, la plupart des gens te conseillera de commencer d'abord par cela.
Essaie d'explorer gcc et g++ d'un coté, et de lire le cours de Casteyde de l'autre (le meilleur à mon goût) :
http://casteyde.christian.free.fr/cpp/cours/online/book1.htm(...)
[^] # Re: Euh
Posté par Obsidian . En réponse au message Le break dans le fork(). Évalué à 2.
La déclaration d'un int dans l'entête de la boucle, oui, est interdit par le C99 (et tant mieux parce que c'est sale). Par contre rien ne t'empêche de créer une locale dans le corps de la boucle, entre les accolades ...
# Plus maintenant
Posté par Obsidian . En réponse au message SMTP ouvert. Évalué à 3.
En suivant cette idée, la plupart des SMTP étaient plus ou moins publics, sur le modèle des boites aux lettres postales du courrier sur papier : Ta boite perso est située à un droit fixe et protégée par un verrou, mais tu peux par contre poster une lettre depuis n'importe quel bled en utilisant une des nombreuses boites jaunes publiques.
Aujourd'hui, la tendance est malheureusement à la paranoïa. Le fait de mettre de se faire passer pour quelqu'un d'autre en changeant le champ "From" d'un e-mail est considéré par la plupart des gens comme du piratage, alors que n'importe qui peut configurer son client de messagerie avec le nom qui lui chante et que dans tous les cas, c'est exactement la même chose que d'envoyer une lettre anonyme par La Poste.
Ce qui fait qu'aujourd'hui, non seulement le Réseau est de plus en plus sécurisé, mais que les connectés d'un fournisseur d'accès ont toutes les chances d'être bannis des autres sites si celui-ci est réputé proposer un serveur en Open Relay.
Le mieux reste donc encore de sécuriser ta propre machine et de t'y connecter, effectivement.
UPDATE : On me signale que quelqu'un aurait déjà réussi à faire ce que tu veux faire dans une boulangerie ....
[^] # Re: Ben va falloir scripter...
Posté par Obsidian . En réponse au message [Quotas] Avertir par mail. Évalué à 3.
# Les fichiers spéciaux ?
Posté par Obsidian . En réponse au message Conseil pour débuter en c++. Évalué à 3.
Essaie déjà, en ligne de commande :
$ cat /dev/lp0 > ton_fichier
C'est l'un des grands avantages d'Unix : Tu peux contrôler la majorité des ressources sans avoir à écrire une ligne de code ni lancer une application dédiée.
Après, comme dit plus haut, ce serait sympa de savoir ce que tu connais déjà, effectivement. Sinon, le meilleur moyen de contrôler le port parallèle en C++ sous Linux est de faire exactement ce que tu ferais en ligne de commande, c'est-à-dire l'ouvrir et le traiter comme s'il s'agissait d'un fichier ordinaire.
[^] # Re: oui et alors
Posté par Obsidian . En réponse au journal Notepad et réaction louche. Évalué à 2.
Surtout que TAB-Complétion roulaize et met les slashs pour nous. Et dans le pire des cas, un guillemet au début, un guillemet à la fin et tout rentre dans l'ordre.
Autant, j'essaie toujours d'éviter les caractères trop exotiques dans mes noms de fichiers, autant j'ai officiellement intégré l'espace dans ma politique de nommage des noms de fichiers longs (fichier musicaux, typiquement).
Par contre, effectivement, j'essaie de les éviter lorsque ce n'est pas nécessaire ou lorsque je destine mon fichier à mon entourage ...
[^] # Re: Waterloo ?
Posté par Obsidian . En réponse au journal Ma commune offre des emails à tout les habitants. Évalué à 3.
[^] # Re: Euh
Posté par Obsidian . En réponse au message Le break dans le fork(). Évalué à 2.
Non, puisque tu entres dans le bloc et le quitte quatre fois de suite ...
[^] # Re: Euh
Posté par Obsidian . En réponse au message Le break dans le fork(). Évalué à 2.
En réalité, on les déclare au début d'un bloc délimité par les accolades, car celui-ci ouvre un nouveau cadre de pile. Je n'ai jamais essayé d'en déclarer à l'intérieur d'un switch mais c'est tout-à-fait légal dans une boucle for par exemple ...
Certains précompilateurs (celui de Sybase pour le Embedded C SQL, par exemple) ouvrent carrément des accolades « nues », sans condition initiale. Cela respecte totalement les prérogatives du langage même si c'est assurément dégueulasse et que ça souligne un défaut de conception sous-jacent ...
# man sudo
Posté par Obsidian . En réponse au message linux.Ubuntu. Évalué à 2.
[^] # Re: Euh
Posté par Obsidian . En réponse au message Le break dans le fork(). Évalué à 4.
- « cout », c'est du C++ et pas du C.
- Tel que ton programme est écrit, tes breaks sortent de ton switch ... case, mais pas de ta boucle for. Moralité, les fils forquent à leur tour, et tu crées 4! processus en tout, soit 24 processus.
[^] # Re: Rassurez vous...
Posté par Obsidian . En réponse au journal On a perdu RDDV !. Évalué à 2.
Oui, et ici aussi :-) :
http://tac.bling.fr/indextotal.php
Et pour encore un bon moment à mon avis ...
[^] # Re: commentaire inutile hors sujet et mal
Posté par Obsidian . En réponse au journal Ploum rachete planet.ubuntulinux.org. Évalué à 3.
C'est assez révélateur, pour moi, de la perte vertigineuse de savoir-faire en matière d'informatique. Les bugs, ça existe officiellement depuis Grace Hopper, mais ça n'a quand même jamais autant posé problème que depuis la fin des années 1990.
Maintenant, il est intéressant de noter que tous ces désagréments concernent surtout l'informatique grand public, principalement sur PC. Les bonnes vieilles consoles 8 et 16 bits fonctionnaient immédiatement et sans aucun problème, par exemple.
Dans le même esprit, mon lecteur-enregistreur de DVD de salon Phillips est très pratique, mais reste une horreur à utiliser, surtout provenant des usines d'une compagnie notoire dont le crédo est « sense and simplicity ». J'ai réussi à le planter plusieurs fois, et surtout la moindre action nécessite plusieurs secondes, jusqu'à une trentaine dans certains cas, lorsque que j'ai laissé un DVD dans le tiroir avant de mettre l'appareil en service, période durant laquelle le graveur accapare le signal vidéo et affiche son propre fond d'écran. C'est l'école du Zen lorsque l'on s'est rué sur la télécommande pour enregistrer un passage important d'une émission. En comparaison, mon vieux magnétoscope VHS, lui, était assujetti à des opérations mécaniques bien plus complexes et critiques, et a pourtant toujours réagi au doigt et à l'oeil.
Et pourtant, la télévision numérique est principalement basée sur l'informatique, comme beaucoup d'autre choses aujourd'hui. Lorsque tu téléphones, tu te doutes que ton GSM est numérique, mais il faut souligner que le téléphone analogique fixe, lui, ne l'est encore que jusqu'à l'autocommutateur le plus proche. Moralité, les systèmes informatiques qui fonctionnent le mieux sont ceux que l'on ne remarque même pas.
[^] # Re: Et sudo
Posté par Obsidian . En réponse au message Une belle colle !. Évalué à 2.
# Sticky bit
Posté par Obsidian . En réponse au message Une belle colle !. Évalué à 5.
As-tu pensé à regarder du coté du sticky bit ?
chmod +t
# Quelle carte ?
Posté par Obsidian . En réponse au message interface graphique mal configuré: ne se charge pas. Évalué à 3.
De quelle carte graphique s'agit-il ?
Typiquement, certaines cartes comme les NVidia nécessitent un module du noyau, chargé éventuellement par le serveur X, par exemple.
Le serveur X est par nature assez loquace et consigne tout ce qu'il dit à l'écran pendant son démarrage dans /var/log/XFree86.*log. C''est ce même contenu qui t'es proposé par le lanceur de Debian lorsque tu dis "oui".
Cherches-y les lignes qui commencent par "(EE)" , la raison de l'erreur y est généralement donnée en clair. Au pire, reviens nous donner le contenu de ce fichier ici (ou mieux, mets le temporairement en ligne sur ton site web).
# Troll
Posté par Obsidian . En réponse au journal Windows Server 2003 plus fiable que Linux, selon le Yankee Group. Évalué à 3.
666, le chiffre de la bête du troll ...
[^] # Re: Reconfigure X
Posté par Obsidian . En réponse au message Plus de clavier ni souris. Évalué à 2.
Pour lilo, en principe tu saisis à la main l'entrée que tu veux lancer, donc il suffit de taper linux single en toutes lettres dans l'invite. Si tu utilises un mode graphique ou un menu interactif, je crois qu'appuyer sur ESC suffit à te rendre l'invite.
Pour le clavier USB, il faut savoir que ton BIOS le reconnaît tout seul par défaut, et heureusement parce que c'est fait pour. Ensuite, c'est Linux qui prend les commandes.
Si toutes tes LEDs s'éteignent, ce n'est pas forcément alarmant. Linux réinitialise le clavier par défaut (le rallumage du NumLock, par exemple, se fait souvent pendant l'init SysV). Si tu ne peux pas les rallumer manuellement derrière, cela signifie peut-être tout simplement que le noyau a mis le port USB hors tension (vérifie l'état d'autres périphériques USB branchés sur ta machine).
Je te conseille également de télécharger-graver une Knoppix ou un autre Live-CD. Knoppix fonctionne généralement très bien, est très fort port la détection automatique du matériel et te sera très utile pour tes dépannages.
[^] # Re: Re
Posté par Obsidian . En réponse au message Programmation Réseaux - Réalisation d'un mini ethereal. Évalué à 2.
Mais à la base, à moins d'avoir quelque chose de bien précis à faire, quand on utilise les raw sockets, c'est que l'on entre déjà dans le domaine de l'expérimental.
Toutefois, c'est bien dans cette optique que je lui proposais ce module, et pas comme d'une base sur laquelle il devait baser l'architecture de son application ...
[^] # Re: Re
Posté par Obsidian . En réponse au message Programmation Réseaux - Réalisation d'un mini ethereal. Évalué à 1.