En fait, je loue un serveur, et j’ai un copain qui en loue un second. En cas de problème, c’est utile d’avoir ce genre de possibilité. Du multi domain, pouvoir choisir quel est le domaine principal d’une machine. Mais, que ce soit simple à configurer. J’avais essayé Kolab, mais je le trouve trop lourd, et il s’installe avec ses propres logiciels… pas ceux de la distrib.
En ce moment, je teste vhffs qui permet de gérer les mails, mais aussi des dépôts etc. et ce base sur la debian stable, ce qui m’arrange.
Ben justement, personnellement, j’ai une gentoo pour mon PC, et des debian stable sur serveur ovh (perso), machine de ma femme et de mon fils. J’ai plus l’impression que c’est de la paranoïa. En tous cas, je n’ai jamais ressenti ça, et pas sur le commentaire sus-cité. Les usages diffèrent, les attentes aussi.
Ici on prend les fourchettes 0 et 1. semop garanti que ces deux opérations seront faites de manière atomique. Mais, il ne réserve pas. Si la fourchette 1 est prise mais pas la 0, il ne prend rien. Aucun risque d’interblocage ici. J’imagine qu’en interne il doit y avoir une file d’attente des opérations non résolu, et que à chaque libération, il vérifie si une opération est devenue possible, dans ce cas il la fait, et repasse le processus à READY.
Oui, je parlais d’un MX secondaire, pouvant temporisé les mails jusqu’à ce que le MX principal remarche. (fonctionnalité 1)
Voir, en cas de panne matérielle, que tous les mails reçus aient été dupliqué sur le second serveur, et qu’on puisse l’utiliser comme serveur IMAP de secours. (fonctionnalité 2).
il supporte des configurations mouvante (hot plug) : on branche un disque, il lance fsck et le monte proprement
Ça peut déjà être fait avec udev.
on peut connaître l'état du système : systemd connaît l'état de tout les deamons
On peut également savoir quels sont les services actifs sur les init standard. Que le PID1 le sache apporte quoi au juste ? Une manière différente d’interroger ?
c'est modulaire : on peut remplacer des parties par nos propres scripts (et ces parties sont bien documentées), il dit que c'est plus compliqué avec rc.sysinit car les dépendances sont moins claires
Ok. C’est un problème spécifique à Arch.
on peut plus facilement lancer un service à la demande notamment avec udev
On peut le faire aussi, il suffit d’avoir udev.
les sockets activation et dbus activation permettent de simplifier les dépendances
Ok. Je suis d’accord avec ça. Même s’il faut faire confiance à l’outil plutôt que de connaître parfaitement son produit.
on gagne en sécurité via les cgroup
Mouai, c’est déjà possible aussi.
on peut capitaliser les fichiers de descriptions de services (fini les scripts spécifiques à chaque distribution)
C’est vrai, l’uniformisation du system permet d’uniformiser les configs… mais si c’était un argument, il n’y aurait pas 300 distribution GNU/Linux. Quitte à uniformiser, je préfère openrc. En même temps, je suis gentooiste.
c'est plus simple pour eux d'être plus proche de l'upstream
Je ne vois pas en quoi tu es plus proche de l’upstream. Cela veut dire que c’est les développeurs qui vont faire les fichiers de config de systemd ? Ça rejoint l’argument de l’uniformisation.
logind fait le boulot que consolekit devrait faire (suivre les sessions utilisateurs, donner des droits, etc)
À bon. Consolekit ne répond pas aux exigences. Quand je lis devrait je comprends que consolekit ne répond pas au besoin de cette personne d’Arch, mais en quoi c’est-il ce que consolekit _devrait faire_ ? Les dév de consolekit doivent le savoir également, et donc faire la correction, non ?
il est rapide ou pas, mais il s'en fout
La rapidité n’est pas un argument, on est d’accord.
J’avoue que je n’avais lu que les 3 premières raisons. La seule bonne raison, à mes yeux, c’est l’uniformisation. Hélas, j’aurais préféré un truc du genre freedesktop, qui définisse une norme, plutôt que systemd.
Bientôt, ce sera Lennart/Linux qu’il faudra écrire ;-). Je ne suis toujours pas convaincu par les arguments, même si je comprends que beaucoup le soit. La suite sera intéressante.
Si tu relis le post initial, il ne parle pas de debian… ça a été ajouté ensuite. Mais si debian fait l’effort d’avoir des packages : apache2-php… ce n’est pas le cas de toutes les distributions binaires.
En regardant la page des fonctionnalités, je ne vois pas l’utilisation possible d’un second serveur en backup. Pouvant attendre que le serveur principal remonte en temporisant les mail, partager les mails entre les deux serveurs…
Un rajout là dessus, un (ou plusieurs) sémaphore peut aussi être utilisé conjointement à un mutex dans le cadre de synchronisations complexes, où on l'utilise pour gérer un nombre de processus en attente d'un état particulier.
Les sémaphores sysV, rendent justement ce service. Il suffit de déclarer un seul ensemble de sémaphores, et on peut faire diverses opérations conjointes. L’avantage par rapport à une implémentation avec mutex, c’est de limité les cas d’inter blocage. Si on prend le cas des philosophes, en un seul appel à semop, je peux prendre les deux fourchettes, ou attendre que les deux soient disponibles. Là où, avec un mutex, il faut prendre le mutex, essayer de prendre les deux fourchettes :
cas 1 : on peut les prendre ;
cas 2 : on ne prend pas la première, donc on essaye pas de prendre la seconde ;
cas 3 : on prend la première, mais pas la seconde, il faut re-libérer la première ;
Ensuite on rend le mutex. Si on est pas dans le cas 1, il faut réessayer de reprendre les fourchettes. Ce qui complique l’algorithme, mais et plus formateur pour un TP ;-).
Oui et non.
La doc est excellente, et j’ai un ami qui l’a installé alors qu’il n’est pas informaticien. Il est quand Docteur en mécanique des fluides. En suivant la doc, ça s’installe assez facilement. Ensuite, il faut prendre son temps au début, comme expliqué plus haut, mettre des use flag par paquet et pas globalement (sauf pour ipv6 par exemple). Ne mettre aucun paquet qui ne soit pas dans la branche stable. Ensuite, les forums ou la mailing liste fonctionnent, même si la mailing liste est un peu morte… mais je crois que c’est surtout que les gens n’ont pas trop de problèmes.
Si tu es développeur, les symptômes peuvent orienter plus rapidement. Mais ce n’est, à mon avis, pas nécessaire.
S'il y a une quantité de ressources à allouer qui peut varier, alors ce n'est plus un sémaphore,
Pourquoi ? Les opérations sur les sémaphores ne sont pas uniquement des +1, -1. Donc, pour une quantité de ressource je trouve ça adapté. Après, s’il s’agit d’allocation de slot… oui, ce n’est pas adapté.
Si on a besoin d'un mutex, on utilise un mutex, pas un sémaphore.
Mon propos est justement, qu’un mutex est un sémaphore, mais un sémaphore avec une seule ressource et donc un sous ensemble des possibilité d’usage d’un sémaphore. Le mutex est un peu comme un bâton de parole. Je le prends, je peux lire ou/et écrire une variable (ou un ensemble de variable), puis je le rend.
Un mutex assure l'acquisition/libération par le même processus d'une ressource unique.
Pas forcément dans un seul processus. On peut utiliser un mutex pour protéger une mémoire partagée entre deux processus.
Un sémaphore au contraire cible des fonctionnements producteur / consommateur,
On produit quoi et on consomme quoi ? Dans le cas de mon exemple, on produit une ressource qui est : « Je suis initialisé », et le chef d’orchestre, consomme ces ressources, pour être sûr que tout le monde à bien fini. Je ne vois pas en quoi ça ne respecte pas le principe ? Sauf, l’usage de l’opération de synchro qui est possible grâce aux sémaphores sysV.
Tu as raison. Je n’ai pas bien expliqué pourquoi je fais ce post.
Ça fait quelques temps que je voulais écrire un petit journal sur les sémaphores, pour plusieurs raisons. 90% si ce n’est plus de l’usage d’un sémaphore se fait via des mutex, qui ne sont qu’un cas particulier. J’ai l’impression que certains confondent sémaphore et mutex. Donc je voulais faire un post dessus.
Il y a un mois à peu près, quelqu’un a proposé une implémentation de fifo. Ça m’a donné l’idée de faire un journal en utilisant les ipc standard en utilisant un sémaphore comme compteur de place disponible. Mais le temps m’a manqué. Suite à la discussion sur le démarrage des démons, je me suis dis, que c’était un bon exemple de sémaphore non mutex.
Mon journal est peut-être un peu rapide, mais le code est disponible, et est, je crois un bon exemple assez compréhensible. Je ne voulais pas poster tout le code sur le journal car ça l’aurait rendu long et indigeste.
En plus du package.use, il y a le package.keyword qui permet de sélectionner des versions instables de certains paquets seulement. Attention néanmoins, il faut parfois ajouter certaine dépendance, mais portage vous le dira. Il y a aussi package.mask pour masquer un paquet ou une version.
Pour chaque ligne on peut écrire : =app-editors/vim-2.35 >app-editors/vim-2.35
…
Ce qui en fonction du fichier imposera ou interdira l’utilisation de vim en version 2.35. Ou les versions strictement supérieure…
Il faut passer du temps au début, mais après, c’est que du bonheur. Enfin au coup de gueule près.
J’ajouterai, un exemple sur wine. À un moment, il y avait un bug pour jouer à DIII. Et il fallait patcher le source avant installation. La solution est d’une simplicité effrayante, il suffit de copier les patchs dans : /etc/portage/patches/app-emulation/wine/ et emerge se débrouille. Quand les patch sont appliqué dans l’appli, il suffit d’effacer ces fichiers.
Tout fonctionne ainsi de manière simple.
Dans tous les journaux sur des distributions tu trouvais des commentaires pour dire qu'Arch c'est mieux.
[vendredi]
Ça c’est parce que nous, on sait que gentoo c’est mieux. Pas besoin de le dire pour s’en convaincre… ;-)
[/vendredi]
Je conseillerais plutôt testing.
J’avais lu, il y a quelques années, que sid si elle cassait ce n’était jamais pour longtemps. Alors que testing, si un bug est introduit, il faut que la correction passe par sid ce qui peut prendre du temps.
C'est que par rapport à plusieurs années en arrières, je trouve qu'on entend beaucoup parler de Arch et bien moins de Gentoo.
Il n’y a plus de nouveauté, il n’y a pas de version tout les 6 mois, donc peu de news, peu de problème. On entend surtout parler de Arch en ce moment à cause de systemd, sinon, c’est une distrib avec une base installé d’utilisateur qui évolue peu. Ce genre de coup de gueule, ça m’arrive tous les 2 ans, suite à un problème sur xorg… Un flag que je suis le seul à mettre en même temps qu’un autre sur un autre paquet. Il est impossible de tester toute les combinaisons de flag, arch vu le nombre de possibilité. Et c’est d’ailleurs très rare.
J'ai l'impression que la première a séduit pas mal d'adeptes de la seconde, et il faut dire qu'elles partagent une certaine philosophie.
C’est possible qu’une partie soit parti. À l’époque, j’avais voulu tester Arch, et ce n’est pas aussi simple d’être souple. Après il y a ma connaissance de gentoo et ma découverte d’Arch, toujours est-il que je ne peux pas simplement avoir kdevelop avec le support cvs, git mais pas svn sous Arch en utilisant normalement le système de paquet.
Pour les utilisateurs qui cherchent une rolling release, je les oriente plutôt vers debian/sid, qui est pas mal, à part en période de freeze où là, ça bouge plus en rolling ;-)
En cherchant à retrouver le dernier CD d’install je m’aperçois qu’il date du 19 septembre 2012… le précédent c’était 2010 je crois. Pas eu de news.
Salut,
j’ai eu ce constat après 10 ans ensemble, et deux ou trois gros coup de gueule. Mais finalement, est-ce mieux ailleurs ? Et c’est là, que finalement je reste. C’est ça la passion, de temps en temps tu exploses, mais sans ta dose tu es perdu. Et je suis sûr de ne pas retrouver mieux ailleurs. À chaque tentative d’infidélité, je me rends compte que c’était mieux, alors je reviens et elle m’accueille toujours les bras ouverts sans ressentiment.
Pour le mariage, je parle bien sûr de mon mariage avec gentoo, mon autre mariage fonctionne un peu différemment.
Je te prie de m’excuser si je me suis emporté. Je réagissais à cette phrase :
Ce à quoi il va répondre que ce n'est pas parce qu'il écoute la socket qu'il est prêt.
Qui sous entend, de la connivence entre deux personnes qui ont compris et quelqu’un a qui ce n’est même pas la peine d’expliquer. Ce n’était sans doute pas ton propos. Donc je réitère mes excuses pour ma petite phrase mesquine.
Avec des remarques comme ca on serait tous en train de coder en assembleur …
Je te parle de conception logiciel tu me parles langage et implémentation… pas tout à fait la même chose.
Pour illustrer mon propos, je me suis fendu d’une implémentation simple de la bonne façon de faire à mes yeux. Qui ne me semble pas très compliquée.
main.c :
#include <unistd.h>#include <stdio.h>#include <stdlib.h>voiddemon(){sleep(60);}voidfils(){pid_tl_pid;printf("Debut du fils\n");/* Initialisation *//* Bricolage */printf("Debut du bricolage\n");sleep(10);printf("Fin du bricolage\n");/* Pret */printf("Fils %d\n",getpid());l_pid=setsid();/* A partir de la, le process n'est plus associe a un terminal */printf("setsid() = %d\n",l_pid);/* Les printf fonctionnent puisque herite du premier fork */sleep(10);printf("Enfin pret.\n");/* Ferme les flux standard */close(0);close(1);close(2);l_pid=fork();switch(l_pid){case-1:
/* Soyons bourrin */exit(1);case0:
demon();exit(0);default:/* Synchronise le pere */exit(0);}}voidpere(pid_tp_pid){/* Attente du fils */printf("Attente du fils\n");wait(p_pid);printf("Fin de l'attente\n");}intmain(){pid_tl_pid;l_pid=fork();switch(l_pid){case-1:
printf("Fork fail\n");return1;case0:
fils();printf("Fin du deamon\n");return0;default:pere(l_pid);}printf("Fils en demon\n");return0;}
On va utiliser 2 terminaux. Un avec un watch, et l’autre pour avec la commande lancée et la compilation.
Dans le terminal 1, on compile :
$ gcc main.c -o dem
$
Sur le 2 on surveille les processus :
$ watch "(ps -u user | grep dem)"
On démarre le démon sur le terminal 1 :
$ ./dem
Debut du fils
Debut du bricolage
Attente du fils
Pendant ce temps sur le terminal 2 :
5597 pts/7 00:00:00 dem
5598 pts/7 00:00:00 dem
Au bout de 10s : Term 1
$ ./dem
Debut du fils
Debut du bricolage
Attente du fils
Fin du bricolage
Fils 5598
setsid()= 5598
Term 2
5597 pts/7 00:00:00 dem
5598 ? 00:00:00 dem
Enfin, la dernière étape : Term 1
$ ./dem
Debut du fils
Debut du bricolage
Attente du fils
Fin du bricolage
Fils 5598
setsid()= 5598
Enfin pret.
Fin de l'attente
Fils en demon
$
Term 2
5661 ? 00:00:00 dem
Pour résumer, on a un fork, le père attend sont fils. Le fils créé son groupe de session setsid, puis fork. Le nouveau fils est détaché, il ne se terminera pas avec son père. Le premier fils se termine, rendant la main au père initial. On voit ici, que si l’initialisation est faite au bricolage, le dernier fils héritant du contexte de son père. On peut rendre la main quand on a fini de s’initialiser, d’ouvrir ses socket…
[^] # Re: Second serveur en backup ?
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie de Modoboa 0.9.3. Évalué à 1.
En fait, je loue un serveur, et j’ai un copain qui en loue un second. En cas de problème, c’est utile d’avoir ce genre de possibilité. Du multi domain, pouvoir choisir quel est le domaine principal d’une machine. Mais, que ce soit simple à configurer. J’avais essayé Kolab, mais je le trouve trop lourd, et il s’installe avec ses propres logiciels… pas ceux de la distrib.
En ce moment, je teste vhffs qui permet de gérer les mails, mais aussi des dépôts etc. et ce base sur la debian stable, ce qui m’arrange.
[^] # Re: Une version binaire de Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 3.
Ben justement, personnellement, j’ai une gentoo pour mon PC, et des debian stable sur serveur ovh (perso), machine de ma femme et de mon fils. J’ai plus l’impression que c’est de la paranoïa. En tous cas, je n’ai jamais ressenti ça, et pas sur le commentaire sus-cité. Les usages diffèrent, les attentes aussi.
[^] # Re: Hum
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 1.
Je ne sais pas comment c’est implémenté. Mais la lib, défini un comportement et garanti un certain nombre de choses.
Ici on prend les fourchettes 0 et 1. semop garanti que ces deux opérations seront faites de manière atomique. Mais, il ne réserve pas. Si la fourchette 1 est prise mais pas la 0, il ne prend rien. Aucun risque d’interblocage ici. J’imagine qu’en interne il doit y avoir une file d’attente des opérations non résolu, et que à chaque libération, il vérifie si une opération est devenue possible, dans ce cas il la fait, et repasse le processus à READY.
[^] # Re: Second serveur en backup ?
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie de Modoboa 0.9.3. Évalué à 1.
Oui, je parlais d’un MX secondaire, pouvant temporisé les mails jusqu’à ce que le MX principal remarche. (fonctionnalité 1)
Voir, en cas de panne matérielle, que tous les mails reçus aient été dupliqué sur le second serveur, et qu’on puisse l’utiliser comme serveur IMAP de secours. (fonctionnalité 2).
[^] # Re: Pourquoi passer à systemd ?
Posté par Anthony Jaguenaud . En réponse à la dépêche Archlinux utilise désormais systemd par défaut pour les nouvelles installations. Évalué à 1.
En fait, c’est une déformation professionnelle. Je suis obligé de prouver par A + B que le code produit ne peut jamais faire autre chose que ce qui est demandé. Mon propos était que systemd permet de démarrer les systèmes à la demande, donc de ne plus s’intéresser à savoir qui à besoin de quoi. Puisque l’outil s’autodémerdera©. Je trouve que c’est une perte de compétence et de connaissance du système. Ça apportera de la flexibilité par contre. Ai-je été plus clair ?
Mon anglais n’étant pas meilleur que le tien, à mon avis, ta traduction me va.
[^] # Re: Pourquoi passer à systemd ?
Posté par Anthony Jaguenaud . En réponse à la dépêche Archlinux utilise désormais systemd par défaut pour les nouvelles installations. Évalué à 5.
Oui, c’est intéressant :
Ça peut déjà être fait avec udev.
On peut également savoir quels sont les services actifs sur les init standard. Que le PID1 le sache apporte quoi au juste ? Une manière différente d’interroger ?
Ok. C’est un problème spécifique à Arch.
On peut le faire aussi, il suffit d’avoir udev.
Ok. Je suis d’accord avec ça. Même s’il faut faire confiance à l’outil plutôt que de connaître parfaitement son produit.
Mouai, c’est déjà possible aussi.
C’est vrai, l’uniformisation du system permet d’uniformiser les configs… mais si c’était un argument, il n’y aurait pas 300 distribution GNU/Linux. Quitte à uniformiser, je préfère openrc. En même temps, je suis gentooiste.
Je ne vois pas en quoi tu es plus proche de l’upstream. Cela veut dire que c’est les développeurs qui vont faire les fichiers de config de systemd ? Ça rejoint l’argument de l’uniformisation.
À bon. Consolekit ne répond pas aux exigences. Quand je lis devrait je comprends que consolekit ne répond pas au besoin de cette personne d’Arch, mais en quoi c’est-il ce que consolekit _devrait faire_ ? Les dév de consolekit doivent le savoir également, et donc faire la correction, non ?
La rapidité n’est pas un argument, on est d’accord.
J’avoue que je n’avais lu que les 3 premières raisons. La seule bonne raison, à mes yeux, c’est l’uniformisation. Hélas, j’aurais préféré un truc du genre freedesktop, qui définisse une norme, plutôt que systemd.
Bientôt, ce sera Lennart/Linux qu’il faudra écrire ;-). Je ne suis toujours pas convaincu par les arguments, même si je comprends que beaucoup le soit. La suite sera intéressante.
[^] # Re: Une version binaire de Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 1.
Si tu relis le post initial, il ne parle pas de debian… ça a été ajouté ensuite. Mais si debian fait l’effort d’avoir des packages : apache2-php… ce n’est pas le cas de toutes les distributions binaires.
# Second serveur en backup ?
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie de Modoboa 0.9.3. Évalué à 1.
En regardant la page des fonctionnalités, je ne vois pas l’utilisation possible d’un second serveur en backup. Pouvant attendre que le serveur principal remonte en temporisant les mail, partager les mails entre les deux serveurs…
[^] # Re: Hum
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 1.
Les sémaphores sysV, rendent justement ce service. Il suffit de déclarer un seul ensemble de sémaphores, et on peut faire diverses opérations conjointes. L’avantage par rapport à une implémentation avec mutex, c’est de limité les cas d’inter blocage. Si on prend le cas des philosophes, en un seul appel à semop, je peux prendre les deux fourchettes, ou attendre que les deux soient disponibles. Là où, avec un mutex, il faut prendre le mutex, essayer de prendre les deux fourchettes :
Ensuite on rend le mutex. Si on est pas dans le cas 1, il faut réessayer de reprendre les fourchettes. Ce qui complique l’algorithme, mais et plus formateur pour un TP ;-).
Réf : Dîner des philosophes.
[^] # Re: gentoo nécessite t'elle des compétences informatiques pointues ?
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 2.
Oui et non.
La doc est excellente, et j’ai un ami qui l’a installé alors qu’il n’est pas informaticien. Il est quand Docteur en mécanique des fluides. En suivant la doc, ça s’installe assez facilement. Ensuite, il faut prendre son temps au début, comme expliqué plus haut, mettre des use flag par paquet et pas globalement (sauf pour ipv6 par exemple). Ne mettre aucun paquet qui ne soit pas dans la branche stable. Ensuite, les forums ou la mailing liste fonctionnent, même si la mailing liste est un peu morte… mais je crois que c’est surtout que les gens n’ont pas trop de problèmes.
Si tu es développeur, les symptômes peuvent orienter plus rapidement. Mais ce n’est, à mon avis, pas nécessaire.
Espérant avoir répondu à tes interrogations.
[^] # Re: Hum
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 2.
Pourquoi ? Les opérations sur les sémaphores ne sont pas uniquement des +1, -1. Donc, pour une quantité de ressource je trouve ça adapté. Après, s’il s’agit d’allocation de slot… oui, ce n’est pas adapté.
Mon propos est justement, qu’un mutex est un sémaphore, mais un sémaphore avec une seule ressource et donc un sous ensemble des possibilité d’usage d’un sémaphore. Le mutex est un peu comme un bâton de parole. Je le prends, je peux lire ou/et écrire une variable (ou un ensemble de variable), puis je le rend.
Pas forcément dans un seul processus. On peut utiliser un mutex pour protéger une mémoire partagée entre deux processus.
On produit quoi et on consomme quoi ? Dans le cas de mon exemple, on produit une ressource qui est : « Je suis initialisé », et le chef d’orchestre, consomme ces ressources, pour être sûr que tout le monde à bien fini. Je ne vois pas en quoi ça ne respecte pas le principe ? Sauf, l’usage de l’opération de synchro qui est possible grâce aux sémaphores sysV.
[^] # Re: Mauvais lien vers le code
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 3.
Oups, j’ai fait ça vite. J’ai copier/coller la barre d’adresse de firefox. Mais je n’ai pas revérifié sur le journal.
Merci pour la correction.
[^] # Re: Pourquoi ?
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 1.
Très bien, puisque tu maîtrises le sujet, ce journal ne t’est pas destiné.
[^] # Re: Manque de contexte
Posté par Anthony Jaguenaud . En réponse au journal Les sémaphores. Évalué à 5.
Tu as raison. Je n’ai pas bien expliqué pourquoi je fais ce post.
Ça fait quelques temps que je voulais écrire un petit journal sur les sémaphores, pour plusieurs raisons. 90% si ce n’est plus de l’usage d’un sémaphore se fait via des mutex, qui ne sont qu’un cas particulier. J’ai l’impression que certains confondent sémaphore et mutex. Donc je voulais faire un post dessus.
Il y a un mois à peu près, quelqu’un a proposé une implémentation de fifo. Ça m’a donné l’idée de faire un journal en utilisant les ipc standard en utilisant un sémaphore comme compteur de place disponible. Mais le temps m’a manqué. Suite à la discussion sur le démarrage des démons, je me suis dis, que c’était un bon exemple de sémaphore non mutex.
Mon journal est peut-être un peu rapide, mais le code est disponible, et est, je crois un bon exemple assez compréhensible. Je ne voulais pas poster tout le code sur le journal car ça l’aurait rendu long et indigeste.
J’ai peut-être eu tort.
[^] # Re: Entre Debian et Arch/Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 1.
Sauf qu’avec la vieillesse vient la sagesse.
À combien évalue-t-on l’espérance de vie d’une distribution ?
[^] # Re: Bien utiliser les use flags
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 3.
En plus du package.use, il y a le package.keyword qui permet de sélectionner des versions instables de certains paquets seulement. Attention néanmoins, il faut parfois ajouter certaine dépendance, mais
portagevous le dira. Il y a aussi package.mask pour masquer un paquet ou une version.Pour chaque ligne on peut écrire :
=app-editors/vim-2.35
>app-editors/vim-2.35
…
Ce qui en fonction du fichier imposera ou interdira l’utilisation de vim en version 2.35. Ou les versions strictement supérieure…
Il faut passer du temps au début, mais après, c’est que du bonheur. Enfin au coup de gueule près.
[^] # Re: Je ne quitterai pas Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 3.
J’ai a peu prêt le même ressenti.
J’ajouterai, un exemple sur wine. À un moment, il y avait un bug pour jouer à DIII. Et il fallait patcher le source avant installation. La solution est d’une simplicité effrayante, il suffit de copier les patchs dans :
/etc/portage/patches/app-emulation/wine/ et emerge se débrouille. Quand les patch sont appliqué dans l’appli, il suffit d’effacer ces fichiers.
Tout fonctionne ainsi de manière simple.
[^] # Re: Manque de main d'oeuvre comme beaucoup d'autres
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 4.
[vendredi]
Ça c’est parce que nous, on sait que gentoo c’est mieux. Pas besoin de le dire pour s’en convaincre… ;-)
[/vendredi]
J’avais lu, il y a quelques années, que sid si elle cassait ce n’était jamais pour longtemps. Alors que testing, si un bug est introduit, il faut que la correction passe par sid ce qui peut prendre du temps.
[^] # Re: Une version binaire de Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 4.
N’est-on pas vendredi ?
[^] # Re: Manque de main d'oeuvre comme beaucoup d'autres
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 2.
Il n’y a plus de nouveauté, il n’y a pas de version tout les 6 mois, donc peu de news, peu de problème. On entend surtout parler de Arch en ce moment à cause de systemd, sinon, c’est une distrib avec une base installé d’utilisateur qui évolue peu. Ce genre de coup de gueule, ça m’arrive tous les 2 ans, suite à un problème sur xorg… Un flag que je suis le seul à mettre en même temps qu’un autre sur un autre paquet. Il est impossible de tester toute les combinaisons de flag, arch vu le nombre de possibilité. Et c’est d’ailleurs très rare.
C’est possible qu’une partie soit parti. À l’époque, j’avais voulu tester Arch, et ce n’est pas aussi simple d’être souple. Après il y a ma connaissance de gentoo et ma découverte d’Arch, toujours est-il que je ne peux pas simplement avoir kdevelop avec le support cvs, git mais pas svn sous Arch en utilisant normalement le système de paquet.
Pour les utilisateurs qui cherchent une rolling release, je les oriente plutôt vers debian/sid, qui est pas mal, à part en période de freeze où là, ça bouge plus en rolling ;-)
En cherchant à retrouver le dernier CD d’install je m’aperçois qu’il date du 19 septembre 2012… le précédent c’était 2010 je crois. Pas eu de news.
[^] # Re: Une version binaire de Gentoo
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 3.
Non.
Arch, j’ai l’impression d’une distribution bricolée, là ou gentoo à l’air propre. Pour une rolling binaire autant prendre debian/sid.
# Même constat que mon mariage
Posté par Anthony Jaguenaud . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 6.
Salut,
j’ai eu ce constat après 10 ans ensemble, et deux ou trois gros coup de gueule. Mais finalement, est-ce mieux ailleurs ? Et c’est là, que finalement je reste. C’est ça la passion, de temps en temps tu exploses, mais sans ta dose tu es perdu. Et je suis sûr de ne pas retrouver mieux ailleurs. À chaque tentative d’infidélité, je me rends compte que c’était mieux, alors je reviens et elle m’accueille toujours les bras ouverts sans ressentiment.
Pour le mariage, je parle bien sûr de mon mariage avec gentoo, mon autre mariage fonctionne un peu différemment.
[^] # Re: Tu n'es pas le centre du monde
Posté par Anthony Jaguenaud . En réponse au journal Archlinux est morte…. Évalué à 1.
Je te prie de m’excuser si je me suis emporté. Je réagissais à cette phrase :
Qui sous entend, de la connivence entre deux personnes qui ont compris et quelqu’un a qui ce n’est même pas la peine d’expliquer. Ce n’était sans doute pas ton propos. Donc je réitère mes excuses pour ma petite phrase mesquine.
[^] # Re: Tu n'es pas le centre du monde
Posté par Anthony Jaguenaud . En réponse au journal Archlinux est morte…. Évalué à 1.
Je suis incapable de coder une BD, mais synchroniser un démarrage me semble plus simple. Peut-être une question de cœur de métier.
[^] # Re: Tu n'es pas le centre du monde
Posté par Anthony Jaguenaud . En réponse au journal Archlinux est morte…. Évalué à 1. Dernière modification le 11 octobre 2012 à 16:46.
Je te parle de conception logiciel tu me parles langage et implémentation… pas tout à fait la même chose.
Pour illustrer mon propos, je me suis fendu d’une implémentation simple de la bonne façon de faire à mes yeux. Qui ne me semble pas très compliquée.
main.c :
On va utiliser 2 terminaux. Un avec un
watch, et l’autre pour avec la commande lancée et la compilation.Dans le terminal 1, on compile :
Sur le 2 on surveille les processus :
On démarre le démon sur le terminal 1 :
Pendant ce temps sur le terminal 2 :
Au bout de 10s :
Term 1
Term 2
Enfin, la dernière étape :
Term 1
Term 2
Pour résumer, on a un fork, le père attend sont fils. Le fils créé son groupe de session
setsid, puis fork. Le nouveau fils est détaché, il ne se terminera pas avec son père. Le premier fils se termine, rendant la main au père initial. On voit ici, que si l’initialisation est faite au bricolage, le dernier fils héritant du contexte de son père. On peut rendre la main quand on a fini de s’initialiser, d’ouvrir sessocket…Édition: correction mise en page.