Sous linux les choses sont visiblement beaucoup plus simple que sous windows.
Pour démarrer un système il suffit d'exécuter le kernel et de désigner une partition comme racine et un programme de démarrage (par défaut c'est init).
Cette partition n'a pas besoin de choses particulière, pas besoin de fichiers cachés, de base des registres, de signature particulière. Pour la sauvegarder, un tar ou tout autre mécanisme d'archivage qui supporte les attributs (donc pas ZIP je pense) permet de faire une sauvegarde.
Le titre de ton message est un peu méchant. La sémantique de connect(); l'appel fait pour établir une connexion, ne permet pas de distinguer la réception du SYN/ACK du ACK suivant; donc s'il y a un bug à ce niveau, c'est dans le kernel linux et pas dans CUPS
As-tu essayé d'établir toi même une connexion depuis le serveur vers l'imprimante ? Avec "telnet imprimante 9100" par exemple ? Qu'est ce qu'en dit tcpdump ?
Est-ce qu'il y a des règles de Firewall sur le serveur ? Des bits étranges positionnés dans le SYN-ACK de l'imprimante ? Un problème de netmask ?
As-tu essayé de faire un strace sur CUPS ? Est-ce que le connect() est bloqué ? Ou bien quelle valeur de retour a-t-il ?
J'ai installé récemment un postfix sur debian; parce que l'installation du mail est longue et sensible; j'ai pris directement la version dans backport afin d'avoir une version avec une plus longue durée de vie.
Les dernières versions de postfix supportent l'interface milter de sendmail; ça veut dire que les mécanismes de filtrage, antispam, antivirus, se branchent comme des modules dans le logiciel de mail; il n'est plus nécessaire de monter des usines à gaz avec 36 étapes de redirection pour faire le filtrage. Je trouve que c'est beaucoup plus pratique.
En prime, on peut directement refuser les virus et les spams évidents plutôt que les filtrer à postériori.
Ta demande n'est pas très claire; de quelle façon souhaites-tu pouvoir accéder au contenu de l'archive ?
Est-ce que tu veux pouvoir monter l'archive pour pouvoir accéder au contenu avec un shell ou un explorateur ? FUSE peut faire cela avec certains formats; Gnome & KDE viennent avec leurs propres solutions pour faire cela aussi.
Si c'est pour lire depuis un programme; il existe des librairies qui permettent d'accéder au contenu, comme celle que tu cites.
tar est un système prévu pour les archives sur bande. Les fichiers sont présents séquentiellement, et il n'existe aucun index. Il est nécessaire de parcourir tout le fichier pour en retrouver un particulier; ce qui n'est pas génial pour les performances.
zip est un format également très répandu qui contient un index à la fin du fichier; cela permet d'accéder à un fichier en particulier sans avoir à parcourir tout le fichier. A mon avis c'est bien plus adapté.
Il existe encore d'autres formats, cpio, ar... regarde ce que chacun propose, avec quelle facilité on manipule les archives et on accède aux contenus.
Apache est plutôt d'excellente qualité, je n'ai jamais vu ce genre de problème.
Par contre, les boulets applicatifs, on en trouve des milliers partout sur le net: PHP qui n'a pas de contexte d'application ou global, application Java qui consomme des tonnes de mémoire ou qui ont des fuites mémoire, scripts PHP mal fichus...
Donc a vu de nez avec les faibles informations que tu nous donnes, je dirais: application PHP mal fichue qui consomme beaucoup de CPU.
Repérer les pages qui demandent beaucoup de temps à être servies devraient permettre de retrouver le script fautif.
A moins que ça ait beaucoup régressé depuis ma dernière installation, Ubuntu ne permet pas à n'importe qui de faire n'importe quoi.
Il permet aux utilisateurs qui sont dans un certain groupe de faire n'importe quoi. Par défaut, seul le premier utilisateur créé (au moment de l'installation) est dans ce groupe, il est considéré comme l'administrateur de la machine.
Comme il n'y a pas de mot de passe pour root, c'est quasiment le seul moyen d'administrer la machine que l'on vient d'installer.
Une précision pour rendre les choses plus claires:
Avec un simple 'ps' on peut récupérer toutes les commandes lancées avec leurs arguments; quelque soit l'utilisateur. Et ps n'est pas la seule commande qui permet de faire cela.
Ta solution ressemble beaucoup à du bricolage. Rien ne garantie que l'augmentation de la valeur va résoudre le problème. Si une commande bloque la réception pendant plusieurs secondes, tu risques d'avoir toujours le même problème.
1. Lorsqu'on souhaite dialoguer avec un flux, la commande classique sous unix est 'chat', elle permet d'écrire des scripts afin d'automatiser des échanges. Ce n'est pas forcément facile à mettre en oeuvre. Le binaire est généralement fourni avec 'ppp'.
2. Si tes commandes partent plus vite que ne peut le recevoir l'équipement cible, c'est qu'il manque probablement du contrôle de flux. Si tu as un câble série complet avec les lignes RTS et CTS, tu peux essayer d'activer le contrôle de flux matériel; sinon le contrôle de flux logiciel basé sur XON/XOFF (plus capricieux).
3. Enfin si tu n'as toujours pas résolu le problème; une autre solution du pauvre sous forme de bricolage, tu dois pouvoir descendre la vitesse du port série à 1200 bauds ou 300 bauds, ce qui laissera plus de temps à l'équipement récepteur pour traiter les commandes.
Je ne vois pas trop la différence avec la saisie avec le clavier d'origine.
On peut imaginer même de supprimer le bouton. Comme l'USB est hotplug; on peut programmer le contrôleur de la clef pour se déclarer comme Clavier HID, et envoyer la séquence 2 secondes après avoir été branché. Ça évite d'avoir une pièce mécanique qui tombe en panne et qui augmente les coûts.
Activer mod_status et aller sur la page dynamique générée par le module pour voir quels sont les requêtes en cours.
Configurer les logs pour tracer le temps de service de chaque requête, et ensuite faire une petite analyse pour déterminé quels sont les pages qui demandent beaucoup de temps.
Tu as supprimé l'entête qui indique si le disque est connu et sa référence. Tous les indicateurs smart sont au vert, le disque se considère en bonne santé.
Reallocated_Sector_Ct a une valeur brute de 8589934592000; c'est normalement le nombre de secteur réalloué. Les autres valeurs de la ligne (100 et 24) disent que le disque ne considère pas la valeur comme alarmante.
Reallocated_Event_Count a une valeur de 447741952 qui est aussi délirante.
Current_Pending_Sector vaut 0; ce sont les secteurs défectueux en attente de réallocation. Cette valeur est encore plus étonnant. Normalement lorsqu'on a des centaines de secteurs défectueux, il y en a toujours une partie que l'on a essayé de lire et qu'on n'a pas encore écrit, donc qui sont en attente de ré-allocation.
J'ai toujours vu les disques partir de 0 pour Reallocated_Sector_Ct et augmenter doucement, à partir de 3, je change le disque.
Start_Stop_Count, nombre d'allumage du disque, vaut 1744, ce qui n'est pas très élevée, mais le disque est loin d'être neuf.
Power_On_Seconds vaut 6855h+41m+56s, soit 280 jours de fonctionnement.
La commande 'par' permet de faire de la justification en prime, de gérer correctement les citations dans le cas d'emails ou de news. L'usage est plus complexe de fold.
Bonne pioche, je n'avais pas trouvé de réaction de OLPC.
On peut voir dans les citations en bas du message, que visiblement, le projet n'avait pas, jusque là, trop réagi aux critiques : "Some of the criticisms in the paper have been mentioned on the security@ list over a year ago. The reactions were twofold: Some were ridiculed, others were ignored"
Ext2 n'est pas un système obsolète qui risque de perdre tes données. C'est un système de fichier très bien conçus et très mature maintenant.
La journalisation n'est pas une solution miracle; elle ne répare pas tout, elle ne corrige pas toutes les erreurs. Le journal permet de rejouer les dernières actions qui auraient été perdues suite à une coupure sauvage de la machine; cette méthode a un surcout important en nombre d'écritures.
Comparer cela avec un système à FAT montre que l'on n'est pas très conscient des graves défauts de conception de FAT; de sa consommation mémoire délirante sur les grosses partitions pour rester performant, de la quantité débile d'I/O qu'il nécessite pour lire un fichier et de sa fragilité intrinsèque à la moindre altération de zone très sensibles.
Clairement, si BSD t'offre un support ext2 qui n'est pas buggé; c'est une excellente réponse à ta question. Bien plus fiable qu'un système en cours de débuggage dans l'un ou l'autre des kernels.
D'expérience, le KeepAliveTimeout est correctement géré par Apache; mais son paramétrage n'est pas génial.
Sur un serveur qui sert 4 pages par jour; sur la machine d'un développeur, on peut mettre un Timeout à plusieurs secondes; mais le gain est vraiment ridicule.
Sur un serveur web dont c'est le boulot principal et qui travail pas mal; le KeepAliveTimout doit être réduit au strict minimum:
- Si le navigateur est en train d'afficher une page et qu'il a besoin d'une douzaine d'éléments (CSS, javascript, Images...), il doit pouvoir recycler les connexions (normalement il n'en ouvre que deux).
- Si le navigateur a terminé de charger tous les éléments de la page, alors il faut fermer la connexion.
Donc il faudrait pouvoir régler le KeepAliveTimeout à 300 ou 400ms; mais ce n'est pas possible.
Du coup, je règle toujours le KeepAliveTimout à 1; c'est le meilleur compromis que j'ai trouvé entre économiser sur l'établissement de connexions et ne pas trainer des connexions ouvertes pour rien.
Prends un brave et honnête modem externe sur port série. Evite toutes les cochonneries à base de carte PCI, de winModem, de softModem, de softModem USB-que-je-ne-me-déclare-pas-mais-le-driver-sait-ou-me-trouver...
A mon avis, tu peux en acheter une demi-douzaine sur eBay pour quelques euros. Les entreprises les passent à la poubelle par carton de 12.
Si j'utilise Linux, et en particulier Debian; c'est justement parce que je n'ai pas besoin de ré-installer le système à chaque version. On installe une fois; on mets à jours les paquets de temps en temps, et ça fonctionne sans soucis.
Ma plus vieille machine a été installée en 2003, et a suivi les changements de version et un passage en testing sans soucis. Je ne peux pas en dire autant des disques dur. Vive le RAID.
Pour utiliser une partition racine sur LVM, c'est effectivement non trivial; il faut que le kernel dispose de tout ce qui est nécessaire pour assembler les morceaux. Ca passe généralement par une douloureuse mise à jour du ramdisk de démarrage.
En RAID-1, on triche en créant une matrice dégradée sur un seul disque; mais en dehors de ça, effectivement, il n'y a rien pour convertir une partition existante en LVM; c'est techniquement très compliqué.
# Changer d'horloge
Posté par Sébastien Koechlin . En réponse au message émarrage hyper lent. Évalué à 3.
Tu trouveras la documentation dans les sources du kernel dans Documentation/kernel-parameters.txt
[^] # Re: ...
Posté par Sébastien Koechlin . En réponse au journal PulseAudio, réseau, et effet surround. Évalué à 2.
RTP: Real-time Transport Protocol
RTCP: Real-Time Control Protocol
RTCP est un protocole de contrôle des flux RTP permettant entre autre de faire de la qualité de service et de la synchronisation.
Souvent on n'a pas le temps/l'argent/les moyens/l'envie de développer et mettre en place RTCP, et on se contente de RTP.
Je pense que c'est le cas ici.
# Sous Linux
Posté par Sébastien Koechlin . En réponse au message ghost d'un serveur linux. Évalué à 4.
Pour démarrer un système il suffit d'exécuter le kernel et de désigner une partition comme racine et un programme de démarrage (par défaut c'est init).
Cette partition n'a pas besoin de choses particulière, pas besoin de fichiers cachés, de base des registres, de signature particulière. Pour la sauvegarder, un tar ou tout autre mécanisme d'archivage qui supporte les attributs (donc pas ZIP je pense) permet de faire une sauvegarde.
# A mon avis, ce n'est pas CUPS
Posté par Sébastien Koechlin . En réponse au message CUPS a des problèmes réseaux.... Évalué à 2.
As-tu essayé d'établir toi même une connexion depuis le serveur vers l'imprimante ? Avec "telnet imprimante 9100" par exemple ? Qu'est ce qu'en dit tcpdump ?
Est-ce qu'il y a des règles de Firewall sur le serveur ? Des bits étranges positionnés dans le SYN-ACK de l'imprimante ? Un problème de netmask ?
As-tu essayé de faire un strace sur CUPS ? Est-ce que le connect() est bloqué ? Ou bien quelle valeur de retour a-t-il ?
# Requête récurrente
Posté par Sébastien Koechlin . En réponse à la dépêche Entretien avec les développeurs d'Ekiga. Évalué à 9.
# Debian, backport et postfix
Posté par Sébastien Koechlin . En réponse au message Cherche bon tuto pour serveur SMTP + POP , spam et virus. Évalué à 2.
Les dernières versions de postfix supportent l'interface milter de sendmail; ça veut dire que les mécanismes de filtrage, antispam, antivirus, se branchent comme des modules dans le logiciel de mail; il n'est plus nécessaire de monter des usines à gaz avec 36 étapes de redirection pour faire le filtrage. Je trouve que c'est beaucoup plus pratique.
En prime, on peut directement refuser les virus et les spams évidents plutôt que les filtrer à postériori.
# Pas très clair
Posté par Sébastien Koechlin . En réponse au message Comment lire un ficher taré sans "detarer". Évalué à 3.
Est-ce que tu veux pouvoir monter l'archive pour pouvoir accéder au contenu avec un shell ou un explorateur ? FUSE peut faire cela avec certains formats; Gnome & KDE viennent avec leurs propres solutions pour faire cela aussi.
Si c'est pour lire depuis un programme; il existe des librairies qui permettent d'accéder au contenu, comme celle que tu cites.
tar est un système prévu pour les archives sur bande. Les fichiers sont présents séquentiellement, et il n'existe aucun index. Il est nécessaire de parcourir tout le fichier pour en retrouver un particulier; ce qui n'est pas génial pour les performances.
zip est un format également très répandu qui contient un index à la fin du fichier; cela permet d'accéder à un fichier en particulier sans avoir à parcourir tout le fichier. A mon avis c'est bien plus adapté.
Il existe encore d'autres formats, cpio, ar... regarde ce que chacun propose, avec quelle facilité on manipule les archives et on accède aux contenus.
[^] # Re: mod_status
Posté par Sébastien Koechlin . En réponse au message process apache gourmand. Évalué à 2.
http://httpd.apache.org/docs/2.0/mod/mod_log_config.html
%D: The time taken to serve the request, in microseconds.
%T: The time taken to serve the request, in seconds.
Donc je pense que c'est %D et non %T.
%t n'a rien à voir, ça trace la date à laquelle a eu lieu la requête.
[^] # Re: mod_status
Posté par Sébastien Koechlin . En réponse au message process apache gourmand. Évalué à 2.
Par contre, les boulets applicatifs, on en trouve des milliers partout sur le net: PHP qui n'a pas de contexte d'application ou global, application Java qui consomme des tonnes de mémoire ou qui ont des fuites mémoire, scripts PHP mal fichus...
Donc a vu de nez avec les faibles informations que tu nous donnes, je dirais: application PHP mal fichue qui consomme beaucoup de CPU.
Repérer les pages qui demandent beaucoup de temps à être servies devraient permettre de retrouver le script fautif.
[^] # Re: sudo / sshU
Posté par Sébastien Koechlin . En réponse au message intégrer le mot de passe dans une commande. Évalué à 3.
Il permet aux utilisateurs qui sont dans un certain groupe de faire n'importe quoi. Par défaut, seul le premier utilisateur créé (au moment de l'installation) est dans ce groupe, il est considéré comme l'administrateur de la machine.
Comme il n'y a pas de mot de passe pour root, c'est quasiment le seul moyen d'administrer la machine que l'on vient d'installer.
[^] # Re: sudo / ssh
Posté par Sébastien Koechlin . En réponse au message intégrer le mot de passe dans une commande. Évalué à 8.
Avec un simple 'ps' on peut récupérer toutes les commandes lancées avec leurs arguments; quelque soit l'utilisateur. Et ps n'est pas la seule commande qui permet de faire cela.
# Bricolage ?
Posté par Sébastien Koechlin . En réponse au message Minicom, delai saut de ligne. Évalué à 4.
1. Lorsqu'on souhaite dialoguer avec un flux, la commande classique sous unix est 'chat', elle permet d'écrire des scripts afin d'automatiser des échanges. Ce n'est pas forcément facile à mettre en oeuvre. Le binaire est généralement fourni avec 'ppp'.
2. Si tes commandes partent plus vite que ne peut le recevoir l'équipement cible, c'est qu'il manque probablement du contrôle de flux. Si tu as un câble série complet avec les lignes RTS et CTS, tu peux essayer d'activer le contrôle de flux matériel; sinon le contrôle de flux logiciel basé sur XON/XOFF (plus capricieux).
3. Enfin si tu n'as toujours pas résolu le problème; une autre solution du pauvre sous forme de bricolage, tu dois pouvoir descendre la vitesse du port série à 1200 bauds ou 300 bauds, ce qui laissera plus de temps à l'équipement récepteur pour traiter les commandes.
[^] # Re: Comment nous aider
Posté par Sébastien Koechlin . En réponse à la dépêche OpenToken : un projet de token d'authentification matérielle ouvert. Évalué à 3.
On peut imaginer même de supprimer le bouton. Comme l'USB est hotplug; on peut programmer le contrôleur de la clef pour se déclarer comme Clavier HID, et envoyer la séquence 2 secondes après avoir été branché. Ça évite d'avoir une pièce mécanique qui tombe en panne et qui augmente les coûts.
# mod_status
Posté par Sébastien Koechlin . En réponse au message process apache gourmand. Évalué à 2.
Activer mod_status et aller sur la page dynamique générée par le module pour voir quels sont les requêtes en cours.
Configurer les logs pour tracer le temps de service de chaque requête, et ensuite faire une petite analyse pour déterminé quels sont les pages qui demandent beaucoup de temps.
# Smart rigolo
Posté par Sébastien Koechlin . En réponse au message Disque dur défaillant ?. Évalué à 3.
Tu as supprimé l'entête qui indique si le disque est connu et sa référence. Tous les indicateurs smart sont au vert, le disque se considère en bonne santé.
Reallocated_Sector_Ct a une valeur brute de 8589934592000; c'est normalement le nombre de secteur réalloué. Les autres valeurs de la ligne (100 et 24) disent que le disque ne considère pas la valeur comme alarmante.
Reallocated_Event_Count a une valeur de 447741952 qui est aussi délirante.
Current_Pending_Sector vaut 0; ce sont les secteurs défectueux en attente de réallocation. Cette valeur est encore plus étonnant. Normalement lorsqu'on a des centaines de secteurs défectueux, il y en a toujours une partie que l'on a essayé de lire et qu'on n'a pas encore écrit, donc qui sont en attente de ré-allocation.
J'ai toujours vu les disques partir de 0 pour Reallocated_Sector_Ct et augmenter doucement, à partir de 3, je change le disque.
Start_Stop_Count, nombre d'allumage du disque, vaut 1744, ce qui n'est pas très élevée, mais le disque est loin d'être neuf.
Power_On_Seconds vaut 6855h+41m+56s, soit 280 jours de fonctionnement.
[^] # Re: ma vie...
Posté par Sébastien Koechlin . En réponse au message installation sans ecran ni clavier souris. Évalué à 2.
# par
Posté par Sébastien Koechlin . En réponse au message Formattre du text. Évalué à 5.
[^] # Re: ma vie...
Posté par Sébastien Koechlin . En réponse au message installation sans ecran ni clavier souris. Évalué à 2.
T'as des belles photos, et même une ou deux feuilles avec des cases dessinées pour poser chaque vis ou groupe de vis.
[^] # Re: Lecture de la liste olpc et BitFrost publication à USENIX UPSEC
Posté par Sébastien Koechlin . En réponse à la dépêche Effets pervers du modèle de sécurité BitFrost de OLPC. Évalué à 2.
On peut voir dans les citations en bas du message, que visiblement, le projet n'avait pas, jusque là, trop réagi aux critiques : "Some of the criticisms in the paper have been mentioned on the security@ list over a year ago. The reactions were twofold: Some were ridiculed, others were ignored"
On peut donc espérer que les choses s'améliorent.
[^] # Re: ext2?
Posté par Sébastien Koechlin . En réponse au message un système de fichier à partager entre linux et freebsd. Évalué à 4.
La journalisation n'est pas une solution miracle; elle ne répare pas tout, elle ne corrige pas toutes les erreurs. Le journal permet de rejouer les dernières actions qui auraient été perdues suite à une coupure sauvage de la machine; cette méthode a un surcout important en nombre d'écritures.
Comparer cela avec un système à FAT montre que l'on n'est pas très conscient des graves défauts de conception de FAT; de sa consommation mémoire délirante sur les grosses partitions pour rester performant, de la quantité débile d'I/O qu'il nécessite pour lire un fichier et de sa fragilité intrinsèque à la moindre altération de zone très sensibles.
Clairement, si BSD t'offre un support ext2 qui n'est pas buggé; c'est une excellente réponse à ta question. Bien plus fiable qu'un système en cours de débuggage dans l'un ou l'autre des kernels.
# KeepAliveTimeout
Posté par Sébastien Koechlin . En réponse au message directive KeepAlive. Évalué à 4.
Sur un serveur qui sert 4 pages par jour; sur la machine d'un développeur, on peut mettre un Timeout à plusieurs secondes; mais le gain est vraiment ridicule.
Sur un serveur web dont c'est le boulot principal et qui travail pas mal; le KeepAliveTimout doit être réduit au strict minimum:
- Si le navigateur est en train d'afficher une page et qu'il a besoin d'une douzaine d'éléments (CSS, javascript, Images...), il doit pouvoir recycler les connexions (normalement il n'en ouvre que deux).
- Si le navigateur a terminé de charger tous les éléments de la page, alors il faut fermer la connexion.
Donc il faudrait pouvoir régler le KeepAliveTimeout à 300 ou 400ms; mais ce n'est pas possible.
Du coup, je règle toujours le KeepAliveTimout à 1; c'est le meilleur compromis que j'ai trouvé entre économiser sur l'établissement de connexions et ne pas trainer des connexions ouvertes pour rien.
# Port série
Posté par Sébastien Koechlin . En réponse au message je recherche modem rtc. Évalué à 4.
A mon avis, tu peux en acheter une demi-douzaine sur eBay pour quelques euros. Les entreprises les passent à la poubelle par carton de 12.
[^] # Re: Lenny?
Posté par Sébastien Koechlin . En réponse au message Installer proprement quelques paquets de testing ?. Évalué à 2.
Ma plus vieille machine a été installée en 2003, et a suivi les changements de version et un passage en testing sans soucis. Je ne peux pas en dire autant des disques dur. Vive le RAID.
[^] # Re: Howto ?
Posté par Sébastien Koechlin . En réponse au message Migrer une machine debian vers LVM2. Évalué à 2.
Pour ça, je n'ai pas de méthode.
[^] # Re: Howto ?
Posté par Sébastien Koechlin . En réponse au message Migrer une machine debian vers LVM2. Évalué à 2.