Le blog de Patrick Vergain

"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive de la catégorie «GNU/Linux»

Le nouveau cahier de l’administrateur Debian GNU/Linux “Lenny” de Raphaël Hertzog et Roland Mas est sorti

Posté par patrick le mars 22, 2009

Debian GNU/Linux lenny administration

Debian GNU/Linux lenny administration

Références :

Sources:

- http://www.ouaza.com/livre/admin-debian/(‘Ce livre a été rédigé par deux développeurs Debian de longue date (Raphaël contribue depuis 1997, Roland depuis 2000). Nous avons essayé de vous faire découvrir toutes les facettes de cette distribution fascinante, autant d’un point de vue technique qu’organisationnel. Jugez-en par vous même ! ‘)

- http://roland.entierement.nu/blog/2009/03/02/debian-lenny-le-livre-le-jeu.html (‘Si vous n’avez pas passé les trois dernières semaines sous un caillou ou dans un monastère, vous savez déjà que la version 5.0 de Debian GNU/Linux, nom de code « Lenny », est sortie le 14 février dernier. Pour accompagner la publication de cette nouvelle version majeure de Debian, Raphaël Hertzog et moi-même avons également mis à jour le Cahier de l’admin Debian. L’édition portant sur Lenny est déjà disponible en version électronique sur Izibook, et la version papier sera chez les libraires le 19 mars. Elle ne constitue pas une révolution (on ne change pas une formule qui est devenue au fil des ans la référence en français), mais principalement une mise à jour, avec des ajouts pour combler quelques vides (par exemple, de nouvelles sections sur OpenVPN et les partitions chiffrées. Pour certaines des précédentes éditions, il avait été lancé un concours où les personnes faisant la meilleure promotion étaient récompensées par des exemplaires du livre. Pour cette édition, nous avons gardé l’idée, mais l’objet du concours est différent : il s’agit non plus de faire la promotion du livre, mais de participer à la communauté Debian. Pas besoin d’être un super-développeur, il suffit d’apporter une contribution qui va faire progresser Debian d’une manière ou d’une autre, à condition que ce soit tangible. Raphaël écrit une série d’articles sur le sujet, vous pouvez donc aller y piocher des idées. J’en ajouterai deux, complémentaires :

  • Publier un blog qui donne une visibilité aux évolutions récentes, en cours ou prévues de Debian unstable et/ou testing, voire experimental. Quelques exemples de ce qu’on pourrait y voir serait l’arrivée d’une nouvelle version majeure du noyau ou de Gnome, la disparition d’un paquet au profit d’un autre, l’arrivée de nouveaux paquets intéressants, leur migration vers testing, etc. Pas une liste de tous les changements de chaque bibliothèque mineure, mais juste une vue macroscopique de ce qui se passe de visible pour les utilisateurs.
  • Dans un registre un peu différent, il serait intéressant de publier (peut-être aussi sous forme de blog) un baromètre de l’état actuel d’unstable, avec les migrations en cours, les paquets importants connus pour être cassés, etc. Le but est de faciliter l’usage d’unstable par des utilisateurs courageux-mais-pas-téméraires. Un exemple de ce que j’y verrais bien est une mention du bug 511009, assorti d’une mention que c’est pas une bonne idée d’upgrader CUPS pour l’instant (ça m’aurait évité quelques heures d’interrogations) ; et un autre billet quand c’est résolu. Là encore, trop de débit ne servirait à rien, il suffirait d’une vision macroscopique de l’état des différents sous-systèmes.

Bien entendu, ce ne sont que des idées, et les plus originales seront peut-être les meilleures, puisqu’elles seront celles que nous n’aurons pas prévues et apporteront donc une réelle nouveauté.’  voir http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/ )

- http://www.eyrolles.com/Informatique/Livre/debian-lenny-9782212124439 (‘Debian GNU/Linux, distribution Linux non commerciale extrêmement populaire, est réputée pour sa fiabilité et sa richesse. Créée et maintenue par un impressionnant réseau de plusieurs milliers de développeurs dans le monde, elle a pour principes l’engagement vis-à-vis de ses utilisateurs et la qualité. Ses technologies concernent un nombre toujours croissant d’administrateurs, notamment par le biais de la distribution dérivée Ubuntu.

Ce cahier de l’Admin entièrement revu pour Debian Lenny perpétue le succès des premières éditions : accessible à tous, il fournit les connaissances indispensables pour qui souhaite devenir un administrateur Debian GNU/Linux efficace et indépendant. Il traite des méthodes que tout administrateur Linux compétent maîtrise, depuis l’installation et la mise à jour du système jusqu’à la création de paquetages et la compilation d’un noyau Linux, en passant par la supervision, la sauvegarde et les migrations, sans oublier des techniques avancées telles que la mise en place de SELinux pour sécuriser des services, l’automatisation des installations ou encore la virtualisation avec Xen.

Au sommaire

  • Le projet GNU/Debian
  • Présentation de l’étude de cas
  • Prise en compte de l’existant et migration
  • Installation
  • Système de paquetage, outils et principes fondamentaux
  • Maintenance et mise à jour : les outils APT
  • Résolution de problèmes et sources d’information
  • Configuration de base : réseau, comptes, impression
  • Services Unix
  • Infrastructure réseau
  • Services réseau : Postfix, Apache, NFS, Samba, Squid, LDAP
  • Administration avancée
  • Station de travail
  • Sécurité
  • Conception d’un paquet Debian
  • Conclusion : l’avenir de Debian
  • A. Distributions dérivées
  • B. Petit cours de rattrapage

Extraits du livre

  • Table des matières – Fichier PDF (248.8 Ko)
  • Avant-propos – Fichier PDF (255 Ko), “Linux commence à bénéficier d’une couverture médiatique non négligeable, profitant essentiellement aux distributions commerciales (RedHat, SuSE, Mandriva…). Debian, souvent placée par les sondages dans le trio de tête des distributions les plus populaires, est pourtant loin d’être marginale, surtout si l’on y inclut les distributions dérivées dont certaines — comme Ubuntu — connaissent un succès très important.
    Ce n’est pas un hasard si Hewlett-Packard a vu ses ventes de matériel augmenter de 25 millions de dollars en 2006 après avoir proposé du sup-
    port pour Debian. Ce livre a ainsi pour vocation de faire découvrir cette distribution. Nous espérons vous faire profiter de toute l’expérience acquise depuis que nous avons rejoint le projet en tant que développeurs-contributeurs, en 1998 pour Raphaël et en 2000 pour Roland. Peut-être parviendrons-nous à
    vous communiquer notre enthousiasme, et vous donner l’envie de rejoindre nos rangs d’ici quelque temps, qui sait..
    .”
  • Préface – Fichier PDF (169.2 Ko)
  • Chapitre 1 : Le projet Debian – Fichier PDF (599.3 Ko)
  • Chapitre 6 : Maintenance et mise à jour : les outils APT – Fichier PDF (553.9 Ko), (“Ce qui rend Debian si populaire auprès des administrateurs,
    c’est la facilité avec laquelle il est possible d’y installer des logiciels et de mettre à jour le système complet. Cet avantage unique est dû en grande partie au programme APT, outil dont les administrateurs de Falcot SA se sont empressés d’étudier les possibilités.”)
Voir aussi:
  • http://www.debian.org/News/2009/20090214 (‘Le projet Debian est heureux d’annoncer la publication officielle de la version 5.0 de Debian GNU/Linux, surnommée Lenny, après 22 mois de développement constant. Debian GNU/Linux est un système d’exploitation libre qui prend en charge au total douze architectures de processeurs et contient les environnements de bureau KDE, GNOME, Xfce et LXDE. C’est un système compatible avec la version 2.3 du FHS (« Filesystem Hierarchy Standard », ou standard sur l’organisation des systèmes de fichiers) et les logiciels développés pour la version 3.2 de la LSB (« Linux Standard Base », ou base standard de Linux). Debian GNU/Linux fonctionne sur de nombreux ordinateurs, depuis les assistants personnels (« palmtops ») jusqu’aux superordinateurs y compris quasiment tous les systèmes intermédiaires. Au total, douze architectures sont prises en charge : Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386) et IA-64 (ia64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm, armel), IBM S/390 (s390) et AMD64 et Intel EM64T (amd64). Debian GNU/Linux 5.0 Lenny gère également la plateforme Orion de Marvell qui est utilisée dans de nombreux équipements de stockage, parmi lesquels on trouve la série QNAP Turbo Station, HP Media Vault mv2120, et Buffalo Kurobox Pro. De plus, Lenny gère maintenant plusieurs ordinateurs ultra-portables comme le Eee PC d’Asus. Debian GNU/Linux 5.0 Lenny inclut aussi les outils de construction pour Emdebian, qui permet de construire et les paquets source de Debian sur une autre architecture et de les réduire afin qu’ils conviennent aux systèmes embarqués ARM. Debian GNU/Linux 5.0 Lenny comporte le nouveau portage ARM EABI, Armel qui utilise plus efficacement les processeurs ARM actuels. L’ancien portage d’ARM (arm) est maintenant déconseillé.’)
  • http://fr.wikipedia.org/wiki/Debian (”Debian est un système d’exploitation reposant sur les principes du logiciel libre et développé de façon bénévole par l’intermédiaire d’Internet. Ce système permet un mode d’unification des nombreux éléments pouvant être développés indépendamment les uns des autres. Ils sont associés sous forme de « paquets » modulables en fonction des besoins (on en dénombre plus de 23 000 en 2009). On l’assimile généralement à Debian GNU/Linux (la distribution GNU/Linux de Debian), car c’est la seule branche parfaitement fonctionnelle. Toutefois, d’autres versions du système Debian sont possibles comme le prouve le projet Debian GNU/Hurd[1] ou Debian GNU/kFreeBSD[2]. Debian a été utilisée comme base de nombreuses autres distributions comme Knoppix ou Ubuntu qui rencontrent un grand succès..”)
  • http://en.wikipedia.org/wiki/Debian#Debian_releases (” As of February 2009, the latest stable release is version 5.0, code name lenny.[41] When a new version is released, the previous stable is labeled oldstable; currently, this is version 4.0, code name etch. In addition, a stable release gets minor updates (called point releases). The numbering scheme up for the point releases to Debian 4.0 was to include the letter r (for release) after the main version number (eg 4.0) and then the number of the point release; for example, the latest point release of version 4.0 (etch) as of 15 February 2009 is 4.0r7.[42] From Debian 5.0 (lenny) and the numbering scheme of point releases has been changed and conforms to the GNU version numbering standard; so, for example, the first point release of Debian 5.0 is going to be 5.0.1 (instead of 5.0r1).[43].“)
  • http://fr.wikipedia.org/wiki/Debian#Historique_des_versions (”Les différentes versions de la distribution empruntent leurs noms aux personnages du film d’animation Toy Story des studios Pixar “)
  • http://fr.wikipedia.org/wiki/Logiciel_libre (”Un logiciel libre est un logiciel dont la licence dite libre donne à chacun le droit d’utiliser, d’étudier, de modifier, de dupliquer, de donner et de vendre le logiciel. Richard Stallman a formalisé la notion de logiciel libre dans la première moitié des années 1980 puis l’a popularisée avec le projet GNU et la Free Software Foundation (FSF). Depuis la fin des années 1990, le succès des logiciels libres, notamment de Linux, suscite un vif intérêt dans l’industrie informatique et les médias. Les logiciels libres constituent une option face à ceux qui ne le sont pas, qualifiés de « propriétaires ». La notion de logiciel libre ne se confond ni avec celle de logiciel gratuit (freewares), ni avec celle de sharewares, ni avec celle de domaine public. De même, les libertés définies par un logiciel libre sont beaucoup plus étendues que le simple accès aux sources, ce qu’on appelle souvent logiciel Open Source telle qu’elle est définie par l’Open source initiative. Toutefois, la notion formelle de logiciel Open Source est reconnue comme techniquement comparable au logiciel libre.“)
  • Flux RSS:

Publié dans 2009, Administration système, Debian, Distribution de logiciel, GNU/Linux, Ultra-portables, logiciel libre, système embarqué | Taggé: , , , , | Laisser un commentaire »

Code source, gestionnaire de versions/code: mercurial, bazaar, git

Posté par patrick le juillet 7, 2008

Quelques informations concernant la gestion des programmes source sous GNU/Debian Ubuntu.

Comment obtenir les sources d’un programme sous Debian/Ubuntu ?
=========================================

Quand on installe une distribution Debian/Ubuntu nous avons un ensemble de logiciels sous forme de fichiers (ou paquets) binaires, la liste de ces “paquets” étant donné dans le fichier /etc/apt/sources.list. Si l’on veut consulter le code source correspondant à ces  programmes, il faudra:

  • modifier le fichier /etc/apt/sources.list (sudo gtkedit /etc/apt/sources.list) en rajoutant pour chaque ligne commençant par “deb http://xxxx…” une ligne “deb-src http://xxx…”.
  • lancer commande “sudo apt-get update” pour mettre à jour la liste des paquets.

Si l’on veut voir à quoi ressemble les sources de l’interpréteur python on se crée un répertoire ~/src/python par exemple et un simple “apt-get source python2.5” suffira pour télécharger les sources. A cette occasion, on aura le message suivant:

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
NOTE : l'empaquetage de 'python2.5' est maintenu dans le système de contrôle de version 'Bzr' à:

http://bazaar.launchpad.net/~doko/python/pkg2.5

Veuillez utiliser:
bzr get http://bazaar.launchpad.net/~doko/python/pkg2.5
pour télécharger les dernières mises à jours (probablement non publiées) de ce module.

On apprend donc que ce paquet Ubuntu est géré avec un logiciel de gestion de version distribué appelé ‘bazaar’ (petit nom :’ bzr’) ce logiciel étant écrit en python (faire un apt-get source bzr pour voir le code python).

Pourquoi vouloir obtenir le code source  d’un programme ?
==================================

  • les logiciels libres/open source étant des logiciels de très bonne qualité, il est très intéressant de voir comment tel programme a été implémenté
  • cela permet de contrôler le contenu d’un programme (absence de spywares par exemple) et/ou de faire une revue de code (http://en.wikipedia.org/wiki/Code_review)
  • si on est très motivé, cela permet de participer au développement d’un logiciel ou si l’on n’est pas développeur de participer à sa documentation.

Les gestionnaires de versions
================

La participation à un projet open source implique l’utilisation d’un gestionnaire de versions. Depuis 2003 environ, CVS  est progressivement remplacé par subversion. Et depuis quelques moi, subversion est remplacé par des systèmes de gestion distribué tels que Mercurial (ou hg, écrit lui aussi en python), git (écrit par Linus Torwals), et bazaar.

Ainsi le langage python actuellement géré avec subversion pourrait passer sous bazaar ou mercurial:  http://www.python.org/dev/bazaar/ (“Python’s source code is maintained under the Subversion revision control system. We are experimenting with distributed revision control systems (dvcs) because of their greatly improved workflow, accessibility and merging facilities over Subversion. While there are several serious dvcs contenders in the open source world, this page describes the experimental Bazaar mirrors of the Python Subversion tree that we are making available to developers“)

A voir:

  • http://en.wikipedia.org/wiki/Bazaar_(software) (“Bazaar (formerly Bazaar-NG) is a distributed revision control system sponsored by Canonical Ltd., designed to make it easier for anyone to contribute to free and open source software projectsBazaar is written in the Python programming language, with packages for major LinuxMac OS X and Windows. Bazaar is free software and part of the distributions, GNU projectBazaar has support for working with some other revision control systems.[3] This allows users to branch from another system (such as Subversion), make local changes and commit them into a Bazaar branch, and then later merge them back into the other system. Bazaar has basic support for Subversion with the bzr-svn plugin.[4] There is also beginnings of support for both Mercurial[5] and Git.[6] Currently these are not feature complete, but are complete enough to show a graphical history.”)
  • http://bazaar-vcs.org/WhoUsesBzr
  • http://wiki.list.org/display/DEV/MailmanOnLaunchpad (“The Mailman source code was originally maintained using CVS, and only a few people had write access to the code. Later, development was moved to SourceForge and then the CVS repository was converted to Subversion. This proved to be a successful transition, as Subversion provided many benefits over CVS.Now however, it’s become clear that even Subversion has its limitations, and better options exist. Specifically, we are now using the distributed (or decentralized) revision control system (dvcs) called Bazaar. Bazaar has many beneficial features, both for the core developers and for casual, third party developers.”)

Publié dans 2008, Développement logiciel, GNU/Linux, Gestion de version, Génie logiciel, Revue de code, logiciel libre, python, ubuntu | Laisser un commentaire »

Une cuvée exeptionnelle: la sortie du noyau Linux 2.6.24

Posté par patrick le janvier 28, 2008

Un excellent article sur la sortie du noyau Linux 2.6.24 par http://linuxfr.org/~patrick_g/ dont le travail a été très apprécié.

voir l’article ici: http://linuxfr.org/2008/01/25/23529.html

Quelques extraits:

————————————————8<———————————————————

Après un cycle de développement inhabituellement long la sortie de la vingt-cinquième version stable de la branche 2.6 du noyau Linux vient d’être annoncée. Le code source du noyau est maintenant téléchargeable sur les serveurs du site kernel.org.

  • Cette version 2.6.24 se caractérise essentiellement par l’ampleur des changements, en terme de lignes de codes, avec la version précédente. Le 23 octobre, dans son mail d’annonce de la RC-1, Linus écrit :

    Cela doit être l’une des plus grosses versions candidates de tous les temps. C’est monstrueux. D’habitude, pour la RC-1, la taille du fichier compressé des différences est de l’ordre de 3 à 5 Mo. Certains sont plus petits que ça et on a occasionnellement des pointes à 6 Mo. Celle-ci fait *onze* méga-octets.
    En bref nous avons juste eu un grand nombre de merges, et pas seulement pour x86 mais aussi des tonnes de nouveaux pilotes (surtout pour le wifi mais pas seulement – dvb, réseau classique, mmc..etc) ainsi qu’une bonne quantité de travail sur les diverses architectures, les systèmes de fichiers, le réseau etc.
    Donc il y a juste beaucoup de nouvelles choses.


Vous trouverez plus de détails sur les nouveautés dans la suite de cette dépêche.

  • La fonction d’ordonnancement de groupe, qui a été évoquée lors de la sortie du précédent noyau, est maintenant intégrée dans cette version. Cela permet à l’ordonnanceur de nouvelle génération CFS de gérer plus finement l’allocation des ressources de calcul aux différents processus s’exécutant sur la machine. Avec l’ordonnancement de groupe on peut diviser à volonté le temps processeur selon deux politiques : Soit entre les utilisateurs soit entre les groupes de tâches.
    • La première option (sélectionnable avec CONFIG_FAIR_USER_SCHED) divise le temps processeur entre les différents utilisateurs d’une machine. Celui qui lance 30 processus ne sera plus avantagé par rapport à celui qui n’en lance qu’un seul et chacun des deux utilisateurs aura équitablement la moitié du temps de calcul. Un avantage additionnel relevé par Ingo Molnar est que cela limite drastiquement les risques de Fork Bomb.
    • La seconde option (sélectionnable avec CONFIG_FAIR_CGROUP_SCHED) divise le temps processeur entre différents groupes de tâches. La documentation décrit très bien cette nouvelle fonction : on peut par exemple créer le groupe “multimédia” et le groupe “bureautique” et décider que le premier groupe aura 75 % du temps de calcul alors que le second n’aura que 25 %. L’administrateur a ainsi a sa disposition un outil très souple pour créer tous les groupes qu’il désire et y rattacher les processus à volonté.

    En plus de cet enrichissement fonctionnel apporté par l’ordonnancement de groupe, CFS a également été amélioré sur le plan de la taille du code et de la rapidité. L’empreinte mémoire du code compilé a été réduite puisqu’on passe de 29 145 octets à 26 666 octets (-8,5 %) sur un système multiprocesseur et de 15 633 octets à 13 379 (-14,4 %) sur un système mono-processeur. Cette réduction de taille est cruciale pour le monde de l’embarqué ou Linux est devenu un système incontournable. Diverses micro-optimisations ont également permis de réduire les latences de l’ordonnanceur. Ingo Molnar a mesuré ces latences à l’aide de l’outil lmbench : le noyau 2.6.22 (ne contenant pas CFS) atteignait 0,64 microsecondes. Le noyau 2.6.23 (contenant la première version de CFS) avait régressé à 0,72 microsecondes (+12 %). Le nouveau noyau 2.6.24 et son code optimisé permet de redescendre à 0,62 microsecondes (soit -3 % par rapport à l’ordonnanceur non équitable d’ancienne génération). On voit donc que le caractère complètement équitable et extrêmement robuste du nouvel ordonnanceur CFS n’aura rien coûté en performances.

  • Pour permettre, entre autre, l’ordonnancement de groupe le noyau 2.6.24 propose l’infrastructure Control Group. Elle permet de définir de façon très générique des groupes de contrôle (ou cgroups) afin de gérer les ressources disponibles de la machine et de définir des quotas d’utilisation. L’administrateur utilise les cgroups pour créer des hiérarchies de processus au travers, comme c’est l’habitude sous Linux, d’un système de fichier virtuel se trouvant dans /dev/cgroup. Ces cgroups associent des listes de tâches avec des listes de paramètres pour les divers gestionnaires des ressources (les processeurs, les utilisateurs, les disques, le réseau, etc.).
    Pour simplifier évoquons un exemple (tiré directement de la documentation) : l’administrateur du serveur d’une université désire gérer finement les ressources de sa machine. Il crée donc deux cgroups, l’un pour les professeurs et l’autre pour les étudiants. Une fois que c’est fait l’administrateur peut utiliser la nouvelle infrastructure Control Group afin de définir des quotas et des limites pour chaque groupe. Par exemple, 50 % de la mémoire pour les professeurs, 30 % pour les étudiants et le reste pour le système. Observez sur le schéma ci-dessous l’application d’une hiérarchie des quotas pour les ressources réseau. La navigation web a une allocation de 20 % de la bande passante qui est elle-même divisée inégalement entre professeurs et étudiants.

               /         \
    
        cgroup1    cgroup2
    
           |              |
    
       (Profs)         (Etudiants)
    
    Mémoire : Profs (50%), étudiants (30%), système (20%)
    
    Disques : Profs (50%), étudiants (30%), système (20%)
    
    Réseau : navigation web (20%), accès par NFS (60%), autre (20%)
    
                       /        \
    
            Prof (15%) étudiants (5%)

    Cette nouvelle infrastructure de quotas et de groupes de contrôle est utilisée par CFS pour l’ordonnancement de groupe des processus évoqué plus haut. Ainsi CFS évite de dupliquer du code et profite du mécanisme générique se trouvant dans le nouveau noyau.

  • L’unification des architectures i386 et x86-64 est réalisée pour la première fois au sein du noyau 2.6.24. Quand on regarde le code source de Linux on constate que le répertoire arch contient le code spécifique aux divers processeurs qui sont supportés par le noyau (PowerPC, i386, ARM, SPARC, etc.). Ce nombre de sous-répertoires est important (plus de 25 architectures différentes) et les développeurs ont intérêt à essayer de fusionner au maximum ce qui peut l’être afin de partager le plus de code possible. Comme il existe de nombreuses ressemblances entre les i386 et les x86-64 (essentiellement l’architecture passe de 8 à 16 registres et ces registres passent de 32 à 64 bits) un projet de fusion a vu le jour. Actuellement une correction de bug sur l’une des branches doit être dupliquée sur l’autre. Quand une nouveauté est introduite, il faut l’incorporer à l’autre branche, etc. Ce processus de double maintenance est très lourd et provoque de nombreuses erreurs. La décision a donc été prise de faire comme pour l’architecture PowerPC : les variantes 32 et 64 bits ont fusionné à l’occasion de la sortie du noyau 2.6.15 et, avec le recul, cela s’est avéré être une très bonne décision.
    Thomas Gleixner et Ingo Molnar, dans un mail très argumenté, ont donc proposé un méga patch (près de 2 000 fichiers sont impactés) qui renomme tous les fichiers spécifiques avec le suffixe _32 ou _64 et les déplace dans le nouveau répertoire unifié x86. C’est une sorte de “Big Bang” au niveau des répertoires de arch mais cela ne change rien au niveau du code lui-même. De cette façon le travail d’unification, qui a déjà commencé, peut se faire progressivement (en fusionnant les fichiers toto_32.C et toto_64.c en un unique toto.c) avec chaque nouvelle version du noyau.
    Cette décision a néanmoins provoqué une controverse car Andi Kleen, le mainteneur de la branche x86-64, n’était pas d’accord avec l’unification. Il a défendu son point de vue sur la liste de diffusion :

    Vous connaissez ma position à ce sujet. Je pense que c’est une mauvaise idée car cela signifie que nous ne pourrons jamais plus nous débarrasser des vieilleries. La branche arch/x86_64 est significativement plus propre et plus simple que arch/i386 et je voudrais préserver cela. [...] Ce n’est pas vraiment la même plate-forme : l’une est une architecture PC remontant à la nuit des temps et contenant des zillions de bugs, l’autre est une plate-forme PC moderne avec bien moins de bugs et de bizarreries.

    Linus n’était pas de cet avis:

    Je pense qu’il est *bien* plus difficile de gérer ce genre d’héritage dans un vieux répertoire que presque personne n’utilise (ce n’est probablement pas vrai à l’heure actuelle mais, pour la plupart des développeurs, je parie que cela sera vrai dans un an). Spécialement si ce vieux répertoire se contente de dupliquer 99% du boulot. Il n’y a pas tant de vieilleries que ça. Il y a certes des choses bizarres ici et là, mais chaque fois que j’entends l’argument (théorique) selon lequel nous économiserions du temps et des efforts en ayant ce code dupliqué ailleurs je pense à tout le temps que nous perdons réellement en corrigeant le même bug deux fois (et je m’inquiète pour les fois ou nous ne le faisons pas).

    Andi n’a pas été convaincu par Linus et il a décidé de ne pas assurer la maintenance de la nouvelle branche fusionnée x86. Les nouveaux mainteneurs sont donc Thomas Gleixner, Ingo Molnar, et H. Peter Anvin.

  • Un changement concernant les entrées/sorties de type scatter/gather a provoqué quelques soucis dans le nouveau noyau. La technique de scatter/gather permet d’utiliser un seul appel système pour écrire séquentiellement des données depuis plusieurs tampons mémoires ou pour lire des données dans plusieurs tampons mémoires. Ce mécanisme, qu’on pourrait traduire imparfaitement par Rassemblement/Dispersion, élimine l’obligation de copier les données dans un seul gros buffer et permet d’utiliser beaucoup de petits tampons dispersés. Cela permet d’augmenter les performances et d’éviter d’avoir à créer un gros buffer d’une seule pièce (ce qui est parfois difficile). La technique scatter/gather est très efficace et pratique puisqu’une seule instruction permet de faire plusieurs choses simultanément. Cela explique pourquoi cette technique est aussi connue sous le nom d’entrées/sorties vectorielles. La liste des multiples tampons est présente dans un tableau mais celui-ci ne peut pas excéder la taille d’une page mémoire. Afin de faire sauter cette limitation contraignante le noyau 2.6.24 a introduit la possibilité de chaîner ces listes. Le but est d’augmenter encore les performances d’entrées/sorties mais ce changement a été douloureux et a provoqué le dysfonctionnement de plusieurs pilotes. Jonathan Corbet a même indiqué que

    le chaînage des listes scatter/gather a sans doute été le changement le plus problématique du noyau 2.6.24, en dépit du fait qu’il s’agit d’un nombre réduit de lignes de code

    L’API scatter/gather doit aussi encore être améliorée afin de simplifier son utilisation. Deux directions sont envisagées pour inclusion dans le noyau 2.6.25 afin d’avoir une API qui permette d’écrire plus facilement à l’avenir du code haute-performance.

  • Le support de l’espace de noms pour les processus fait son entrée dans le nouveau noyau….De même ce support de l’espace de noms pour les processus est pour l’instant encore marqué comme “expérimental” afin de prévenir les développeurs que l’interface de programmation est susceptible de changer. La finalisation définitive de l’API est prévue pour la version 2.6.25 et elle pourrait bien annoncer le début de la fin pour les patchs externes du type Vserver. Quand tous ces mécanismes de gestion de conteneurs seront inclus dans la branche principale, Linux possédera une solution plus puissante et plus générique que ses concurrents. On peut noter à titre d’exemple que les Zones de Solaris ne possèdent pas d’espace de noms pour le réseau.
  • L’interface Virtio qui permet de proposer aux différentes solutions de virtualisation une couche commune pour gérer les entrées/sorties a été développée par Rusty Russell et le patch a été inclus dans le nouveau noyau Linux. Comme il existe plusieurs solutions de virtualisation utilisables avec Linux (Xen, Lguest, KVM, etc.) il est apparu nécessaire de chercher à mutualiser une partie du code et à proposer une couche d’abstraction pour éviter une divergence des outils. Virtio est une interface virtuelle qui permet de gérer les entrées/sorties et évite ainsi la prolifération anarchique des pilotes virtuels. Interrogé sur l’utilité réelle de Virtio, Rusty a répondu que :

    personne ne veut maintenir cinq pilotes virtuels différents pour le réseau, cinq pilotes virtuels différents en mode bloc, etc. En fait à un moment la communauté du noyau va se rebeller [...] Nous pouvons donc au moins simplifier pour chaque technologie de virtualisation le fait d’implémenter le nouveau périphérique XYZZY.

    Virtio reste volontairement simple car la technique de virtualisation des entrées/sorties change rapidement et il ne faut pas que cette nouvelle interface devienne un facteur limitant par la suite…ou comme le dit plus brutalement Rusty:

    Of course, the new interface must not suck.

  • La gestion dynamique des tranches de temps pour l’architecture x86-64 et pour l’architecture PPC fait maintenant partie du code du noyau Linux. Cette technologie est apparue dans le noyau 2.6.21 mais elle était jusqu’à présent réservée aux processeurs i386 et aux SPARC64. Elle permet (quand on utilise l’option CONFIG_NO_HZ) d’éviter d’avoir une fréquence fixe de “réveil” du processeur et donc de le laisser plus longtemps dans des modes d’économie d’énergie. Cela se traduit par moins de chaleur dissipée et plus de durée d’utilisation pour les ordinateurs portables (c’est également intéressant pour la gestion des machines virtuelles). Les nombreux utilisateurs de distributions x86-64 peuvent donc maintenant découvrir les bienfaits d’un noyau “tickless“.
  • le support de la norme Secure Digital Input Output fait son entrée au sein du code permettant de gérer les cartes mémoires MMC et SD. Cette modification autorise le branchement sur un port SD de divers gadgets: Récepteurs GPS, adaptateurs Wi-Fi ou Bluetooth ou Ethernet, Lecteurs de code-barre, Tuners FM ou TV, Appareils photos, etc.
    Pierre Ossman, qui est le mainteneur officiel du sous-système MMC/SD, a annoncé que trois pilotes SDIO étaient déjà inclus dans le noyau et que le travail continue pour inclure de nombreux autres pilotes. Néanmoins il tient à avertir les développeurs que son implémentation de SDIO force à écrire proprement le code des pilotes :

    Cette implémentation oblige à une stricte séparation des couches et masque tous les détails du protocole. Cela pourra en ennuyer certains qui voulaient porter plus facilement les pilotes entre différentes implémentations mais je crois que le résultat final sera un système bien plus robuste au lieu de n’être qu’une collection de hacks et de bidouilles.

  • L’infrastructure Kernel Markers est maintenant en place dans le noyau 2.6.24. Depuis plusieurs mois les développeurs ont entrepris d’améliorer les fonctions de tracing, c’est à dire d’enregistrement d’informations lors de l’exécution de la machinerie interne de Linux. Ce “tracing” est très important pour diagnostiquer d’éventuels problèmes et pour régler finement les performances du noyau. La société Sun propose l’outil Dtrace dans son système d’exploitation Solaris et la sophistication de cet outil a provoqué un très grand intérêt dans le monde informatique au point que le projet FreeBSD a décidé de porter Dtrace vers son propre environnement. La puissance du logiciel de Sun a provoqué un sentiment d’envie chez les développeurs Linux qui, pour revenir à parité, ont accéléré leurs efforts. Le premier résultat est Kernel Markers qui permet d’insérer des points de contrôles statiques dans le noyau. Le fait que ces points soient statiques est important car cela leur permet d’être insensibles aux modifications de code qui les rendraient obsolètes à très court terme et cela rend négligeable leur impact sur les performances. Maintenant que cette infrastructure est en place les outils concurrents de Dtrace (comme SystemTap ou LTTng) vont pouvoir s’appuyer dessus pour devenir compétitifs.
  • Une autre nouveauté de ce noyau est le mécanisme d’autorisation des périphériques USB. Dans un futur proche la nouvelle norme Wireless USB (c’est à dire le branchement des périphériques par ondes radio) va faire son apparition. Cela pose évidemment un problème de sécurité nouveau qu’il faut résoudre dès maintenant. Actuellement quand un utilisateur branche par exemple un disque dur USB le noyau suppose que ce périphérique est autorisé et il est automatiquement configuré et rendu disponible. Avec le WUSB et ses connexions sans fil à distance il faut mettre en place un mécanisme d’authentification similaire au WPA qui existe pour les réseaux Wi-Fi. La spécification WUSB a pris en compte ce problème et le noyau 2.6.24 implémente maintenant ce mécanisme qui permettra d’éviter que votre voisin puisse se connecter sur votre disque dur WUSB tout neuf. Pour entrer un peu plus dans les détails la partie authentification est laissée à un programme en espace utilisateur alors que la partie autorisation relève du noyau. Cela permet de bien séparer les fonctions et d’éviter de faire entrer dans le noyau un grand nombre de lignes de code qui peuvent tout aussi bien rester à l’extérieur. Maintenant chaque périphérique USB a trois flags supplémentaires: wusb, authorized, et authenticated et l’administrateur de la machine peut changer librement la valeur de ces flags. On voit immédiatement le profit pour la gestion des périphériques USB classiques qui peut être tiré de cette infrastructure introduite pour accueillir le Wireless USB. Par exemple maintenant un administrateur peut décider que les souris et les claviers sont autorisés (en leur passant le flag authorized à 1) alors que les imprimantes et les périphériques de stockage sont interdits (valeur 0 dans leur flag). Ce mécanisme d’autorisation introduit donc beaucoup de souplesse dans la gestion fine des périphériques sous Linux.
  • Le patch permettant le réglage intelligent de la vitesse d’écriture a été intégré au noyau. Avant ce patch l’écriture sur un disque se passait de la façon suivante: Une application voulant écrire des données utilise la fonction write() et le noyau copie ces données dans la mémoire vive en mettant un flag “dirty”. Ce flag signifie que ces pages mémoire ne doivent pas être réutilisées tant que le disque dur n’aura pas effectivement écrit toutes les données. Le danger c’est que l’application continue d’écrire dans la mémoire plus rapidement que le disque ne peut absorber. La conséquence c’est que de plus en plus de pages mémoires deviennent “dirty” ce qui peut, dans des cas extrêmes, mettre en danger la stabilité de la machine qui n’aurait plus assez de mémoire vive. Pour éviter cette fâcheuse situation le noyau contrôle en permanence la quantité totale de pages “dirty” et, en cas de besoin, il force le processus à écrire directement sur le disque (ce qui est lent) au lieu d’écrire dans la mémoire. Jusqu’à présent ce mécanisme de contrôle n’était pas intelligent et il forçait tous les processus à ralentir ! Ainsi une clé USB très lente, ne pouvant donc pas absorber assez vite les pages “dirty”, va entraîner le déclenchement par le noyau du processus de contrôle ce qui va ralentir tous les processus écrivant sur des périphériques.
    Peter Zijlstra a donc proposé un patch qui permet un contrôle pour chaque disque (et non plus global). Ainsi quand le contrôle de vitesse se déclenche pour le processus écrivant sur la clé USB, les autres processus, ceux qui écrivent sur des disques rapides, peuvent continuer à remplir des pages “dirty” dans la mémoire vive. Bien entendu la partie difficile de cette solution est d’arriver à déterminer le moment exact où doit se déclencher le contrôle autoritaire. Pour bien faire les choses un processus écrivant sur un disque rapide devrait avoir droit à plus de pages “dirty” qu’un autre écrivant sur un périphérique lent et le contrôle ne devrait pas se déclencher avec le même seuil. Pour prendre ces décisions délicates Peter Zijlstra a introduit la bibliothèque “Floating Proportions“. Cette dernière permet de suivre le nombre d’écritures effectives sur chaque disque et d’accorder des quotas de pages “dirty” en fonction de ces résultats. Ce réglage intelligent de la vitesse d’écriture permet ainsi d’améliorer les performances et la robustesse des entrées/sorties sous Linux.
  • Outre les nouveautés décrites ci-dessus, une multitude d’autres nouveautés sont présentes dans ce noyau.
    • De très nombreux pilotes Wi-Fi utilisant la nouvelle pile mac80211 (introduite dans le 2.6.22) entrent enfin dans la branche principale. Cela représente 2,3 Mo de code source ce qui donne une indication du nombre de pilotes. On trouve notamment celui de la carte Intel PRO/Wireless 3945ABG/BG ou encore de la carte Broadcom BCM43xx.
    • Après la correction de quelques problèmes de jeunesse le nouvel allocateur de mémoire SLUB, inclus dans le noyau 2.6.22, a été optimisé par Christoph Lemeter. On observe un gain de 10 à 20% quand l’allocation est de la même taille que la page mémoire et de 50% quand la libération est de la même taille que la page mémoire.
    • Pour des raisons de sécurité il n’est plus possible de charger des modules à chaud par l’intermédiaire de l’interface LSM. Les modules de sécurité devront donc être inclus lors de la compilation du noyau (ce qui va évidemment poser des problèmes aux firmes diaboliques qui utilisaient LSM pour brancher leurs modules propriétaires).
    • Toujours dans le domaine de la sécurité l’algorithme de chiffrement symétrique SEED, très répandu en Corée, est inclus dans le noyau.
    • L’allocation de port pour les protocoles UDP et SCTP se fait maintenant de façon non prévisible comme c’était déjà le cas avec TCP et ce afin de renforcer la sécurité.
    • Les disques SATA utilisent désormais par défaut la gestion de l’économie d’énergie par ACPI (même si le commentaire lapidaire et humoristique du commit laisse craindre le pire ;-)
    • Le patch LRO (Large receive offload) permet d’agréger les multiples paquets TCP reçus en un seul gros paquet ce qui permet de réduire le travail de la pile réseau et donc d’augmenter les performances de la machine. Les pilotes réseau seront modifiés progressivement pour tirer partie de cette nouvelle fonction.
    • L’API de la couche d’abstraction des systèmes de fichiers (VFS) a été modifiée afin d’éviter un risque d’interblocage. Les mainteneurs de systèmes de fichiers qui ne sont pas dans la branche principale de Linux vont devoir, à moyen terme, adapter leur code.
    • Le système de fichiers CIFS inclus dans le noyau devient compatible avec les listes de contrôle d’accès (ACL).
    • Il est maintenant possible d’utiliser la fonction de multiplicateurs de ports de la norme SATA. Cela permet à plusieurs disques d’utiliser simultanément le même port SATA.

    La liste détaillant toutes les nouveautés (réseaux, systèmes de fichier, pilotes disques, cartes son, vidéo, Bluetooth, etc.) est disponible sur le site de Kernelnewbies.

Comme c’est devenu l’usage le site Linux Weekly News propose un article résumant les multiples contributions durant ce cycle. On apprend ainsi que le plafond des 10000 patchs a été dépassé (seulement 6200 patchs pour le 2.6.23) et que le nombre de contributeurs a été de 950 contre 860 pour le noyau précédent. Si on regarde le bilan global de l’année 2007 ce sont plus de 1900 développeurs qui sont intervenus sur le noyau en produisant plus de 30000 patchs (ce qui représente 5000 modifications de lignes de code par jour).
De nombreuses autres statistiques très intéressantes sont également présentes dans cet article et la conclusion est rassurante à lire :

L’image qui résulte de tous ces chiffres est celle d’une communauté de développement saine et diversifiée. Le noyau est vraiment une ressource commune avec littéralement des milliers de personnes qui travaillent pour l’améliorer. Et il ne montre aucun signe de ralentissement de sitôt.

Most active 2.6.24 employers
By changesets
(None) 1417 14.1%
(Unknown) 1108 11.1%
Red Hat 1045 10.4%
IBM 819 8.2%
Novell 680 6.8%
Intel 446 4.5%
linutronix 369 3.7%
Oracle 240 2.4%
SWsoft 212 2.1%
CERN 205 2.0%
Movial 190 1.9%
Linux Foundation 190 1.9%
MIPS Technologies 176 1.8%
Renesas Technology 140 1.4%
(Academia) 132 1.3%
Freescale 126 1.3%
MontaVista 122 1.2%
Analog Devices 115 1.1%
(Consultant) 112 1.1%
NetApp 101 1.0%
By lines changed
(None) 140730 18.0%
(Unknown) 121511 15.5%
Intel 114990 14.7%
Red Hat 58858 7.5%
IBM 51777 6.6%
linutronix 47968 6.1%
Novell 29856 3.8%
Movial 19093 2.4%
Freescale 15262 1.9%
Analog Devices 14971 1.9%
MIPS Technologies 11726 1.5%
SWsoft 8331 1.1%
Linux Foundation 7917 1.0%
Oracle 7777 1.0%
Atmel 7125 0.9%
CERN 6618 0.8%
Renesas Technology 6414 0.8%
Google 6373 0.8%
MontaVista 6026 0.8%
NetApp 5620 0.7%
Top contributors in 2007
By developer
Ralf Baechle 507 1.7%
Thomas Gleixner 485 1.6%
David S. Miller 468 1.6%
Adrian Bunk 439 1.5%
Tejun Heo 394 1.3%
Ingo Molnar 351 1.2%
Paul Mundt 351 1.2%
Al Viro 337 1.1%
Bartlomiej Zolnierkiewicz 330 1.1%
Andrew Morton 319 1.1%
Stephen Hemminger 302 1.0%
Patrick McHardy 277 0.9%
Alan Cox 270 0.9%
Takashi Iwai 269 0.9%
Trond Myklebust 256 0.9%
David Brownell 254 0.8%
Avi Kivity 229 0.8%
Jeff Dike 227 0.8%
Jeff Garzik 216 0.7%
Jean Delvare 215 0.7%
By employer
(None) 4881 16.2%
Red Hat 3441 11.4%
(Unknown) 2933 9.7%
IBM 2379 7.9%
Novell 2054 6.8%
Intel 1060 3.5%
Linux Foundation 784 2.6%
Oracle 677 2.2%
(Consultant) 631 2.1%
MIPS Technologies 507 1.7%
linutronix 507 1.7%
Renesas Technology 394 1.3%
(Academia) 392 1.3%
SWsoft 384 1.3%
SGI 368 1.2%
MontaVista 342 1.1%
CERN 330 1.1%
Freescale 291 1.0%
NetApp 279 0.9%
Astaro 277 0.9%

Pour la suite…
En ce qui concerne le futur du noyau Linux on peut se tourner vers la page spécifique maintenue par Jonathan Corbet.

  • L’outil de tracing utrace, qui était pressenti pour faire son entrée dans le 2.6.24, a été retardé mais il devrait être présent dès la prochaine mouture de Linux.
  • Le module de sécurité SMACK (Simplified Mandatory Access Control Kernel), qui est développé par Casey Schaufler, pourrait entrer en mainline et faire concurrence à SELinux en proposant moins de fonctions mais une configuration bien plus simple. Casey propose régulièrement des mises à jour de version qui intègrent la branche de test -mm sans problèmes ce qui est de bon augure pour le futur de ce module.
  • Le système de fichier de nouvelle génération ext4 continue sa phase de développement et il incorpore de nouvelles fonctions. Cette fois-ci c’est UBG (uninitialized block groups) qui est annoncé. Cela consiste à contrôler si un bloc disque a été initialisé ou pas. Si le bloc n’a jamais été utilisé alors le programme fsck n’aura pas besoin de le vérifier lors de son passage suivant. Cela permet potentiellement de gagner beaucoup de temps lors du boot (entre 2 et 20 fois plus rapide) quand on doit procéder à l’examen d’un disque.
  • Le support des bus de données de type CAN (Controller Area Network) est en cours de développement par des ingénieurs de la société Volkswagen. Cette nouvelle infrastructure PF_CAN devrait faire son entrée dans le noyau 2.6.25 ou 2.6.26 et faciliter ainsi l’utilisation de Linux au sein de l’industrie automobile .
  • Enfin le vieux serpent de mer du débogueur interactif intégré au noyau refait surface. Selon les prévisions de Jon Corbet il y a une chance non nulle qu’en dépit de la mauvaise volonté de Linus, qui n’aime pas les débogueurs intégrés (voir le fameux post “because i’m a bastard“), le patch KGDB puisse faire partie du prochain noyau 2.6.25

Autres sites d’informations sur le noyau Linux:

- http://kernelnewbies.org/LinuxChanges (“A comprehensible changelog of the Linux kernel, this page shows a summary of the important changes being added in each Linux kernel release – support for new devices, features, filesystems, and subsystems as well as important internal changes. While this text is aimed to be readable (unlike the full changelog), its primary audience is those who know a fair amount about how a kernel operates. Other places to get news about the Linux kernel are LWN kernel status, LWN driver porting guide, LWN list of API changes in 2.6, or www.lkml.org. If you’re going to add something here look first at LinuxChangesRules!“)

- http://lwn.net/Kernel/ (“LWN.net’s coverage of Linux kernel development is detailed, technical, and timely.”)

-

Publié dans Authentification, Réseau, Sécurité informatique, Temps réel, linux, machines virtuelles, open source, système embarqué, virtualisation | Taggé: , , , , , , | Laisser un commentaire »

Ce qui caractérise les utilisateurs de logiciels libres

Posté par patrick le janvier 24, 2008

Source: http://framablog.org/index.php/post/2008/01/22/Ce-qui-caracterise-un-utilisateur-de-logiciels-libres (“Alors voilà. Nous y sommes. Le logiciel libre est clairement en train de gagner la bataille du desktop. Quelque soit son système d’exploitation, on trouve désormais des logiciels libres de grande qualité répondant à tous les usages de base (web, bureautique, graphisme, multimédia…). Dans le même temps des distributions GNU/Linux toujours plus conviviales arrivent à maturité et les revendeurs ne s’y trompent pas puisqu’ils commencent à en proposer au grand public dans leurs offres d’ordinateurs neufs. Cependant n’oublions pas la phrase en exergue de ce blog : « …mais ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code ». En effet, utiliser des logiciels libres c’est non seulement faire des économies, c’est non seulement se retrouver avec plein d’applications qui nous comblent au quotidien mais c’est aussi et surtout adopter certains comportements (et rompre avec d’autres), participer à un mouvement et, osons le mot, faire partie d’une culture. Une culture qui favorise l’écoute, l’indépendance et l’autonomie. Une culture de coopération et non de compétition. Une culture aux antipodes de certaines logiques et structures politico-économiques qui nous demandent avant tout d’être des consommateurs passifs. Il serait non seulement dommage mais fort dommageable que la nouvelle génération d’utilisateurs fraîchement débarqués du monde Windows, et dont Framasoft se réclame, perde cela de vue… La traduction que nous vous proposons aujourd’hui brosse le portrait d’un utilisateur de logiciels libres en soulignant neuf caractéristiques qui le distinguent justement de l’utilisateur de logiciels propriétaires.Parce qu’il en va de la responsabilité de tous que cette précieuse culture ne se dilue pas avec sa démocratisation…“)

Lire la suite sur le blog de Framasoft:  http://framablog.org/index.php/post/2008/01/22/Ce-qui-caracterise-un-utilisateur-de-logiciels-libres

 Voir:

- http://fr.wikipedia.org/wiki/Framasoft (“Framasoft est un réseau de sites web collaboratif à géométrie variable dont le dénominateur commun est le logiciel libre et son état d’esprit. Il vise à faire connaître et diffuser le logiciel libre au plus large public. Lieu d’informations, d’actualités, d’échanges et de projets, Framasoft, de par la diversité et le dynamisme de son réseau, est aujourd’hui l’une des portes d’entrée francophones du logiciel libre. Sa communauté accompagne ceux qui souhaitent substituer leurs logiciels propriétaires par des logiciels libres. Elle attache une attention toute particulière au processus de migration du système d’exploitation Microsoft Windows vers GNU/Linux. Framasoft a été créé en novembre 2001 par Alexis Kauffmann, professeur de mathématiques. Le nom dérive de Framanet (pour FRAnçais et MAthématiques en intraNET), projet éducatif dont Framasoft a d’abord été une rubrique logicielle avant de devenir indépendante“)

- http://framablog.org/ (“Framablog.org est le blog du réseau Framasoft. Il évoque aussi bien l’actualité du logiciel libre en général que celle du réseau Framasoft en particulier. Il propose souvent des traductions originales d’articles anglophones via le groupe de travail Framalang.”)

Publié dans GNU/Linux, culture, logiciel libre, migration vers le libre, open source | Taggé: , | Laisser un commentaire »

GUILDE: Conférence le mercredi 13 février 2008 sur “Cryptographie : protéger sa vie privée avec des logiciels libres”

Posté par patrick le janvier 20, 2008

La guilde
Source: http://www.guilde.asso.fr/rencontres/20080213/

Cryptographie : protéger sa vie privée avec des logiciels libres
Mercredi 13 février de 19:30 à 21:45,
par Xavier Belanger, administrateur système
à l’ENSIMAG, campus de Saint Martin d’Hères, Amphi E (accès).

Sujets abordés

  • Principe du chiffrage à deux clés (publique/privée)
  • Les différents types de clé
  • Les logiciels PGP et GPG
  • Les interfaces graphiques
  • Signer ses courriers : Thunderbird et Enigmail
  • Réseaux de confiance et key-signing parties

Communication

N’hésitez pas à relayer l’annonce ou à mettre un lien vers cette page.

Vous pouvez également imprimer et diffuser les affiches (PDF) : normale ou paysage. Dans ce cas, vous pouvez vous inscrire sur la page wiki pour coordonner les efforts des “colleurs d’affiche”.

Publié dans 2008, Guilde, cryptographie, logiciel libre | Taggé: , , , , | Laisser un commentaire »

Quelques articles de Linux-Fr: Ruby On Rails, Logiciel libre, Temps réel

Posté par patrick le décembre 18, 2007

Quelques brèves qui m’intéressent:

  1. la sortie de Ruby On Rails 2. On rappelle qu’une conférence a lieu le mercredi 19 décembre à l’ENSIMAG à 19h30 (voir plus bas).
  2. le logiciel libre, le problème des DRM
  3. le temps réel sous GNU/Linux
  • Ruby/ Ruby On Rails

===============================================
o Développeur: Sortie de Ruby on Rails 2.0
—————————————————————————
Auteur: EppO ( http://www.darox.net ) @ 19:00
Thème: Ruby

Ruby on Rails ( http://fr.wikipedia.org/wiki/Ruby_on_Rails ), le
célèbre framework basé sur le langage Ruby, permettant le développement rapide d’applications web selon le modèle MVC (Modèle, Vue, Contrôleur (
http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur )) sort en version 2.0.

Le développement qui a duré une année a permis l’ajout de nombreuses fonctionnalités, la résolution de beaucoup de bugs, une orientation tournée vers le REST ( http://fr.wikipedia.org/wiki/REST ), et pas mal d’allégements au niveau du core (externalisation de fonctionnalités en greffons).

DHH, le créateur du framework Ruby on Rails, a commenté ces nouveautés lors de Paris on Rails ( http://paris.onrails.info/ ). Pour les absents, des slides et/ou des podcasts des présentations devraient être mis en ligne prochainement.

[en] – Ruby on Rails ( http://linuxfr.org/redirect/54864.html )
[fr] – Architecture REST ( http://linuxfr.org/redirect/54865.html )
[en] – Blog de Ruby on Rails ( http://linuxfr.org/redirect/54866.html )
[en] – Rails 2 Upgrade Notes ( http://linuxfr.org/redirect/54867.html )
[en] – Summary of Major Rails 2 Features ( http://linuxfr.org/redirect/54868.html )
[fr] – Ruby on Rails sur dmoz ( http://linuxfr.org/redirect/54869.html )

===========================================

- Conférence: Ruby et Ruby on Rails Mercredi 19 décembre de 19:30 à 21:45, par Laurent Julliard, à l’ENSIMAG, campus de Saint Martin d’Hères, Amphi E

Résumé: La présentation couvrivra dans un premier temps le langage Ruby. Dans un second temps la conférence s’attardera sur Ruby on Rails, un framework de développement Web 2.0 qui a beaucoup fait parler de lui au cours des deux dernières années. ainsi que les diférents outils et bibliothèques qui l’entourent.

Communication: Merci de nous aider en relayant largement l’annonce de cette conférence. Vous pouvez également imprimer et diffuser l’affiche (PDF). Dans ce cas, vous pouvez vous inscrire sur la page wiki pour coordonner les efforts des “colleurs d’affiche”.

============================================

  • Logiciel Libre/DRM

=============================================
Infos Locales : Le consortium QualiPSo organise la première conférence internationale sur la qualité des Logiciels Libres

 

 

Posté par jcspilmont (display_envoyermessageperso(‘jcspilmont’);). Modéré le vendredi 14 décembre. isadmin (‘23461′)

 

Le consortium QualiPSo organise les 16 et 17 janvier 2008 sa première conférence internationale sur le thème: “Développer la confiance dans les Logiciels Libres”.
Organisée à Rome, la conférence QualiPSo 2008 rassemblera des autorités internationales et des experts de l’Open Source. Elle dévoilera les premiers résultats des recherches menées par le consortium et sera un lieu de débat et d’échange sur les moyens d’accroître et de garantir la confiance dans les Logiciels Libres.

Les défis de l’Open Source seront traités au travers de trois angles complémentaires: politique, économique et technologique :

  • Les stratégies et les modèles de business dans l’Open Source
  • Les questions légales et de propriété intellectuelle
  • La confiance dans les Logiciels Libres et leurs processus de développement
  • L’interopérabilité des Logiciels Libres
  • Les réseaux de compétence sur les Logiciels Libres
  • Les forges logicielles de nouvelle génération.

> Lire la dépêche (2 commentaires, moyenne: 2).

============================================

Livre: Le guide pratique d’usage des logiciels libres dans les administrations
—————————————————————————
Auteur: Nÿco ( https://linuxfr.org/~Nyco/ ) @ 07:47
Thème: Communaute

La DGME publie à destination des administrations « Le guide
pratique d’usage des logiciels libres dans les administrations ». Rédigé
par Thierry Aimé, le document de 18 pages prend la forme d’une FAQ (
http://fr.wikipedia.org/wiki/Foire_aux_questions ) et est publié sous
licence Creative commons « paternité – partage à l’identique » (CC by-sa).

Il répond à diverses questions – notamment juridiques – que les
administrations peuvent se poser lorsqu’il s’agit de mettre en place des
Logiciels Libres :

Le document commence par rappeler ce qu’est un logiciel,
comment fonctionne le mécanisme du droit d’auteur, ce qu’est une licence de
logiciel en général et une licence de logiciel libre en particulier.
Des aspects plus pratiques sont ensuite abordés, comme la façon de trouver
un Logiciel Libre, comment vérifier qu’il s’agit bien d’un Logiciel Libre
en fonction de sa licence, etc.
Par la suite, les problématiques spécifiques aux administrations sont
discutées : le passage de marché public pour une mutualisation sous licence
libre (le principe de payer le développement du logiciel qu’une fois pour
qu’il soit libre), la rédaction de cahier de charges pour demander
l’utilisation de composants libres ou de standards ouverts (
http://fr.wikipedia.org/wiki/Format_ouvert ), le procédé pour reverser un
développement, etc.

[fr] – Le guide pratique d’usage des logiciels libres dans les administrations ( http://linuxfr.org/redirect/54882.html )

|> http://linuxfr.org/2007/12/13/23452.html
=====================================================

o Humeur: Un DVD enDRMerdant, prélude aux ennuis numériques au pied du sapin
—————————————————————————
Auteur: Benoît Sibaud ( http://oumph.free.fr ) @ 11:49
Thème: Audiovisuel

Il y a quelques jours, on m’a offert un DVD de courts-métrages (…)
pour mon anniversaire. (…) Donc je mets ma galette de polycarbonate
recouvert d’une fine couche d’aluminium dans mon lecteur de DVD. (…) Et
là le lecteur multimédia Videolan se lance et… rien.
Ainsi commencent les mésaventures d’un utilisateur de « DVD embrouillé »,
l’occasion de rappeler comment lire un tel support emDRMerdé avec du
logiciel libre via libdvdcss, de rappeler que la loi DADVSI est inappliquée
et inapplicable, de montrer que les DRM sont une stupidité technique, de
regrouper quelques témoignages d’utilisateurs légitimes en colère contre
les industries du cinéma et de la musique…

Bref en cette période d’achats de Noël où un boutiquier du numérique veut
développer le flicage et le filtrage sur internet sans réellement supprimer les verrous numériques, où l’on évoque un projet de loi DADVSI 2 pour 2008 et de nouvelles dispositions en préparation sur la responsabilité des hébergeurs, un petit article d’humeur qui regroupe divers liens et informations pour mieux guider les « consommateurs » (parfois connus sous le nom de citoyens ou spectateurs).

[fr] – Texte « Un DVD enDRMerdant » ( http://linuxfr.org/redirect/54854.html )
[fr] – RMS : Le droit de lire ( http://linuxfr.org/redirect/54855.html )
[fr] – April : DADVSI m’était conté ( http://linuxfr.org/redirect/54856.html )
[fr] – StopDRM : On veut un procès : compte-rendu de l’opération des ( http://linuxfr.org/redirect/54857.html )
[fr] – DLFP : concours contre les DRM ( http://linuxfr.org/redirect/54858.html )
[fr] – DLFP : EUCD/DADVSI : des contrefacteurs partout ? ( http://linuxfr.org/redirect/54859.html )

===============================================

Internet : Quelles libertés défend laCommission Nationale Informatique et Libertés ?

Posté par Nicolas Limare (Jabber id, page perso, display_envoyermessageperso(‘nilamer’);). Modéré le lundi 17 décembre à 12:00. isadmin(‘23462′)

Justice

Alors que les annonces se succèdent dans l’actualité à propos de filtrage d’Internet et de surveillance des communications électroniques, il peut être légitime de s’interroger sur la place de la Commission Nationale Informatique et Libertés dans tout cela.

Crée en 1978 par la loi du 6 janvier 1978, cette instance a été crée après le scandale du premier grand projet de fichage informatique par l’État (SAFARI) en 1974. Financée par l’État, avec des commissaires issus en grande partie du gouvernement, son rôle déjà souvent limité à celui de consultation a été encore plus limité par la récente modification de la Loi Informatique et Liberté.

En effet, en 2004, Alex Türk, actuel président de la CNIL, a rendu cette dernière impuissante face aux fichiers concernant la sûreté d’État (Défense, Sécurité Publique) — ce pour quoi elle avait été initialement créée. Depuis cette légalisation de tous les fichiers de police jusque-là hors la loi, la CNIL a par ailleurs déclaré « compatible avec la liberté » des projets comme les fichiers de prescription des assurés médicaux (AXA en 2004, Groupama et SwissLife en 2005), le passeport biométrique, la biométrie faciale « à des fins de recherche » (février 2007), la pose de mouchards éléctroniques par les compagnie d’assurance dans les véhicules des assurés (septembre 2007).

En plus de ses « avis », la CNIL est censé nous permettre de faire respecter nos droits à la connaissance et à la rectification des données personnelles. Mais avec des délais de consultation allant jusqu’à 2 ans pour les 4,7 millions de fiches du fichier de police STIC et l’explosion générale du nombre de fichiers informatiques nominatifs, ce droit n’existe quasiment plus que sur le papier.

Afin de relancer un nouveau débat, plusieurs collectifs ont décidés de prononcer le matin du 14 décembre la dissolution de la CNIL et ont appelé toute personne souhaitant discuter informatique et liberté à venir au 8 rue Vivienne, à Paris (métro Bourse ou Pyramides).

> Lire la dépêche (12 commentaires, moyenne: 1,7).  

===============================================
o Infos Locales: Les logiciels libres dans le Vercors
—————————————————————————
Auteur: Frederic Ollivier @ 12:44
Thème: Lug

Le Parc Naturel Régional du Vercors organise dans la Salle Communale de
SAINT JULIEN EN QUINT, le 15 Décembre 2007 à 14H avec la participation de la Guilde des Utilisateurs d’Informatique Libre, une séance d’information
sur les Logiciels Libres ainsi que des travaux pratiques.

Participeront également à cette séance qui est gratuite la Commission du
Haut Débit de Saint Julien en Quint et l’Association E-mage. Après un
exposé sur l’intérêt de ces logiciels, il sera répondu aux questions de
l’assistance.

L’accent sera mis Sur les moyens d’ouvrir sous Linux les documents
existants sous d’autres logiciels ;
Sur l’utilisation de passerelles entre les systèmes PC, MAC, LINUX.
Des travaux pratiques auront lieu sur quelques ordinateurs. Il sera
également présenté une solution de virtualisation, virtualbox, pour faire fonctionner sous Linux des logiciels techniques conçus pour fonctionner sous Windows
.

[fr] – GUILDE ( http://linuxfr.org/redirect/54870.html )
[en] – Virtualbox ( http://linuxfr.org/redirect/54871.html )
[fr] – Saint Julien en Quint ( http://linuxfr.org/redirect/54872.html )
[fr] – Annonce sur l’AdL ( http://linuxfr.org/redirect/54877.html )

============================================

  • Le temps réel sous Linux

o Articles: La guerre du temps réel
—————————————————————————
Auteur: patrick_g ( http://patrickguignot.free.fr/ ) @ 10:33
Thème: Linux

Les deux grandes distributions commerciales, Novell et Red Hat, ont
récemment annoncé la sortie d’une version dédiée spécialement au temps réel
( http://en.wikipedia.org/wiki/Real-time_operating_system ) et la
compétition s’annonce âpre dans ce secteur stratégique. Novell a ouvert le
feu le 27 novembre avec SUSE Linux Enterprise Real Time 10 (
http://www.novell.com/news/press/novell-ships-suse-linux-enterprise-real-time-10 ) et Red Hat a immédiatement répliqué le 4 décembre avec Red Hat
Enterprise MRG ( http://www.redhat.com/about/news/prarchive/2007/mrg.html (Messaging, Realtime et Grid Technologies).
)

Cette volonté de ne pas laisser un concurrent en position de monopole sur
ce secteur, même pour une durée infime, s’explique aisément. En effet de
plus en plus les entreprises reposent sur l’automatisation poussée de leurs
processus afin de gagner en réactivité. On se rappelle, lors du sommet
Linux 2007 ( /2007/09/20/23087.html ), le témoignage du représentant du
Crédit Suisse qui indiquait qu’un noyau patché pour le temps réel aidait à
maintenir les profits lors d’une transaction financière.

La prédictibilité des temps de réponse est donc un enjeu crucial et les
distributeurs commerciaux de Linux sont en compétition pour couvrir ce
marché au point, comme nous allons le voir, de déclencher une véritable
guerre des communiqués.

[en] – LWN : La compétition autour du temps réel (http://linuxfr.org/redirect/54860.html )
[en] – Description de la solution Novell ( http://linuxfr.org/redirect/54861.html )
[en] – Description de la solution Red Hat ( http://linuxfr.org/redirect/54862.html
[en] – Les patchs RT du noyau ( http://linuxfr.org/redirect/54863.html )
)

|> http://linuxfr.org/2007/12/13/23447.html

Publié dans 2007, GNU/Linux, Guilde, Temps réel, Web Frameworks, linux, logiciel libre, migration vers le libre, open source, ruby, web2.0 | Taggé: , , | Laisser un commentaire »

Développement système du noyau et des pilotes GNU/Linux

Posté par patrick le décembre 11, 2007

Pour le développement système sous GNU/Linux la référence pour moi reste le livre de Pierre Ficheux “Linux Embarqué”. Il a écrit un certain nombre d’articles dans GNU/Linux magazine concernant le développement système sous GNU/Linux. Attention cependant: certains articles sont relativement anciens et méritent d’être largement réactualisés. Ils peuvent néanmoins servir de base pour une introduction et sont intéressants à titre historique.

  • Création d’un serveur PPP sous LINUX (“Septembre 1998. Cet article décrit la mise en place d’un serveur PPP sous LINUX. Ce serveur pourra être accessible depuis n’importe quel système équipé d’un modem et d’un logiciel d’accès à un réseau distant supportant le protocole PPP. Ceci permettra par exemple de créer simplement un BBS (Bulletin Board System) accessible depuis un navigateur standard. Ce type d’accès est très interessant pour donner la possibilité à des utilisateur éloignés d’accèder à un Intranet d’entreprise“)
  • Présentation du protocole UUCP(“Cet article présente l’utilisation et la configuration du protocole UUCP (Unix to Unix CoPy) sur LINUX. UUCP permet de manière très efficace de transférer des fichiers, du courrier électronique ou bien des news.“)
  • Ports séries sous LINUX (“Le but de cet article est la compréhension du fonctionnement des ports séries sous LINUX. L’article abordera également la configuration des ports séries depuis le shell sh ainsi qu’en langage C.“)
  • Multi-threading sous LINUX (“article d’avril 1999 à mettre à jour bien sûr: Cet article est une introduction à la programmation multi-threads sous LINUX. Les exemples de programmation utilisent la bibliothèque LinuxThreads disponible en standard sur la majorité des distributions LINUX…“)
  • Un systeme de transmission vidéo sur TCP/IP(“décembre 1998. Cet article décrit un système de transmission vidéo sur TCP/IP développé sous LINUX à partir d’un boiter de compression vidéo autonome appelé ViewCOM et développé par la société COM One à Bordeaux“)
  • Pilotes de périphériques sous LINUX (“mars 2000 : Cet article est une initiation à l’écriture de pilotes de périphériques (device drivers) sous LINUX. Les concepts généraux présentés dans l’article sont illustrés d’un petit exemple de pilote en mode caractère (char driver). La lecture de l’article demande quelques connaissances en langage C.“)
  • Programmation audio sous LINUX (“janvier 2000: Cet article est une introduction à la réalisation d’applications audios sous LINUX. Nous présenterons successivement la configuration du noyau LINUX pour le support audio, l’utilisation des fichiers spéciaux (devices) utilisés par le noyau et une introduction à la programmation en C de l’API audio de LINUX. Dans une dernière partie, nous présenterons un petit exemple d’application réalisant du streaming audio“)
  • Construction d’un système LINUX embarqué (“septembre 2000 : Le but de cet article est de présenter les différentes étapes de la réalisation d’un système LINUX embarqué (embeddable LINUX). L’article détaille les différents éléments majeurs du système ainsi que les étape de la réduction de l’occupation mémoire et disque. Nous aborderons également quelques techniques pratiques propres à la réalisation de systèmes embarqués. L’article s’appuie sur une réalisation personnelle de l’auteur. Il ne s’agit pas de la présentation de la revue d’un système embarqué de plus mais plutot d’une démarche pédagogique“)
  • Pilotes de périphériques PCI (“juin 2002: Cet article est un introduction à la gestion du bus PCI sous LINUX ainsi qu’à l’écriture de pilotes dédiés aux cartes PCI. C’est également une suite et une mise à jour de l’article Introduction à l’écriture de pilotes de périphériques LINUX paru en mai 2000 dans ce même journal. Même si certains concepts généraux liés aux pilotes et aux modules du noyau sont rappelés dans cet article, sa compréhension nécessite quelques connaissances préalables ou bien la lecture de documents cités dans la bibliographie en fin d’article“)
  • Temps réel sous LINUX (mai 2003, “Cet article a pour but de réaliser un tour d’horizon des solutions temps réel dans l’environnement LINUX. Après une définition du concept de système temps réel, les auteurs
    s’attacheront à décrire les solutions logicielles disponibles ainsi que quelques exemples de résultats obtenus…
    “)
  • Embarquez Linux! (ou Linux everywhere) (septembre 2004, “Le but de cet article est de décrire quelques techniques utilisables pour embarquer une distribution Linux réduite sur divers supports de faible capacité (CompactFlash, Disk On Module ou DoM, clé USB, Disk On Chip ou DoC). Après avoir présenté les différents supports étudiés, nous détaillerons
    une structure de système permettant de garantir une sécurité maximale de l’installation tout en minimisant l’empreinte mémoire
    .”)
  • Programmation de l’API Video4Linux (mars 2005, “Cet article décrit l’interface de programmation Video for Linux (plus communément appelée V4L) destinée à l’utilisation de périphériques de capture vidéo comme les cartes d’acquisition ou les caméras. Outre l’utilisation des pilotes existants, l’article décrit également les bases de l’écriture d’un
    pilote de périphériques V4L (caméra virtuelle) dans le cas des noyaux 2.4 et 2.6.
    ..Le problème du pilotage des périphériques vidéos est assez complexe car il existe une multitude de possibilités tant au niveau du type de périphérique (caméra, carte d’acquisition), des caractéristiques
    de ces périphériques (couleur ou noir et blanc, taille d’image, résolution) de l’architecture matérielle (type de circuit d’acquisition utilisé) ou des modes de connexion (bus PCI, USB, parallèle). Pour simplifier les choses, les développeurs du noyau Linux ont défini une interface appelée Video for Linux (Video4Linux ou V4L
    ).”)
  • Compilation croisée sous Linux et Windows (mars 2005, “Cet article décrit la mis en place d’une chaîne de compilation croisée utilisable dans l’environnement Linux x86 ou bien Windows 2000 et XP. Au cours de ce document nous décrirons des tests réels sur une cible Linux ARM mais les concepts décrits restent valable pour une autre architecture type
    PowerPC ou MIPS.
    ..Dans la série d’articles consacrés aux aspects industriels et embarqués de Linux publiés précédemment, nous avons toujours utilisé un environnement Linux x86. Même si cet environnement est très répandu, il est loin d’être le seul utilisé dans ce type d’application. En effet, d’autres processeurs comme l’ARM ou le PowerPC sont parfois mieux adaptés que l’architecture x86.
    Cependant, la plupart des développeurs utiliseront un PC x86 (Linux ou Windows) comme poste de travail et il est donc nécessaire de mettre en place un chaîne de développement croisée permettant de développer du code non-x86 sur un PC. Dans cet article, nous allons décrire plusieurs solutions open sources disponibles utilisables sur Linux x86. Ne expliquerons également comment mettre en oeuvre certains de ces outils sur plate-forme Windows en utilisant l’environnement d’émulation
    CYGWIN. A titre d’exemple, nous mettrons en place et testerons une chaîne de développement pour cible Linux ARM.
    “)
  • Quelles solutions pour Linux embarqué (décembre 2005, “Le but de cet article est de replacer Linux dans le contexte des systèmes industriels et embarqués. Le précédent article « Introduction aux systèmes embarqués » a permis de définir la terminologie et le champ d’application de cette technologie. De notre côté, nous nous attacherons à expliquer
    brièvement quels sont les avantages de Linux dans cet environnement ainsi que les composants logiciels disponibles (compilateurs, débogueurs, extensions temps-réel, etc.) Nous effectuerons également un tour d’horizon des autres solutions disponibles tout en positionnant
    Linux parmi cette liste et ce en s’aidant de quelques données statistiques. Les références à différents articles, site web ou ouvrages traitant plus précisément des sujets cités sont données en bibliographie.
    La qualification de logiciels libre nécessite de satisfaire à un certain nombre de critères. La liste complète est disponible auprès du site http://www.opensource.org mais nous pouvons retenir trois critères fondamentaux pour le logiciel embarqué:
    • La disponibilité du code source
    • La possibilité de réaliser des travaux dérivés
    • La redistribution sans royalties
    La disponibilité du code source est un critère fondamental car contrairement au logiciel classique (comme le logiciel bureautique), la durée de vie d’un logiciel embarqué est particulièrement longue
    car elle est liée à la durée de vie de l’équipement matériel qui l’héberge. Des contraintes économiques et légales font que certain
    s biens de consommation doivent être maintenus au moins 10 ans. Cette durée est parfois beaucoup plus longue dans le cas de matériel militaire ou
    scientifique. De ce fait il sera nécessaire de faire évoluer ce logiciel sur un matériel considéré comme obsolète et ce indépendamment des aléas économiques comme par exemple la disparition d’un éditeur de logiciel. Certaines licences associés aux logiciels libres (comme la GPL ou la LGPL) imposent la disponibilité du code source « ad vitam aeternam » et ce dernier ne pourra donc être séquestré même pour de sombres raisons légales ou financières.
    La réalisation de travaux dérivés est un avantage compétitif certain. Il paraît absurde de nos jours de développer une bibliothèque de traitement JPEG ou XML. Ce n’était pas forcément le cas il y a encore quelques années, ou bon nombre de petites entreprises , par ignorance ou par obstination, se lançaient dans de coûteux développements sans considérer l’existant déjà disponible à l’époque au travers du logiciel libre (je parle malheureusement en connaissance de cause !). Le problème des

    licences est à considérer avec soin dans le cas du travail dérivé mais cela n’a rien d’insurmontable et des règles simples découlant du bon sens suffisent largement au respect de licences comme la GPL ou la LGPL. La redistribution sans royalties est un atout économique évident dans le cas de la diffusion en masse d’un équipement. Avec le critère de disponibilité du code source (lui-même inspiré par des contraintes économiques) c’est certainement un des principaux arguments motivant l’adoption des logiciels libres en remplacement de solutions propriétaires.”)
  • Busybox “in a nutshell” (novembre 2005, PDF. “Cet article décrit la mise en place rapide d’un système Linux embarqué autour
    d’un noyau 2.6 et du composant libre Busybox (http://www.busybox.net ). Il fait suite aux diverses publications de l’auteur sur ce sujet dont les références sont citées en annexe bibliographique. L’article décrira l’exemple d’un PC x86 mais les concepts sont bien entendu adaptables à d’autres architectures. Le projet buildroot utilisant BusyBox et uClibc sera brièvement présenté en fin d’article sous forme d’un exemple sur architecture ARM9.
    “)
  • Temps réel sous Linux (reloaded) (mars 2006, PDF. Cet article est une mise à jour du dossier Temps réel sous Linux paru en juillet 2003
    dans le numéro 52 de Linux Magazine. Après une définition des concepts liés au temps réel, nous nous attacherons à décrire les solutions Linux disponibles en insistant particulièrement sur le composant XENOMAI 2. La lecture et la mise en application des exemples décrits nécessite une
    bonne connaissance « système » de Linux en particulier sur la compilation du noyau. Les codes source des programmes présentés sont disponibles sur http://pficheux.free.fr/articles/lmf/hs24/realtime/hs24_test.tgz
    )
  • Routeur Wifi sous Linux (mars 2006, PDF. “Cet article décrit la mise en oeuvre d’un routeur WIFI sous Linux et utilisant une architecture
    compatible x86 (VIA C3). Le projet fut démarré en 2003 ce qui explique les choix techniques qui peuvent aujourd’hui paraître quelque peu désuets (noyau 2.4.20, pas de Busybox, etc.). Il est bien évident qu’une architecture plus récente conduirait au même résultat sans pour cela changer réellement la démonstration. Le projet est totalement viable puisque qu’il a conduit à un système utilisé dans un environnement domestique 24h/24H depuis 3 ans sans aucun redémarrage, mise à part les coupures de courant ou quelques évolutions du logiciel”
    )

A voir:

  • L’ouvrage Linux embarqué 2ème édition paru aux éditions Eyrolles en septembre 2005 dont la présentation est accessible depuis http://pficheux.free.fr.
  • La page de Patrice Kadionik concernant les systèmes embarqués sur http://www.enseirb.fr/~kadionik/embedded/embedded.html
  • Le site du projet BusyBox sur http://www.busybox.net
  • Le site du projet uClibc sur http://www.uclibc.org
  • Le site du projet buildroot sur http://buildroot.uclibc.org
  • Document NFS-Root mini-HOWTO sur http://www.tldp.org/HOWTO/NFS-Root.html
  • http://www.cygwin.com (“Cygwin is a Linux-like environment for Windows. It consists of two parts: 1) A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. 2) A collection of tools which provide Linux look and feel.“)
  • Etude Linux devices « Embedded Linux market snapshot 2005 » sur http://www.linuxdevices.com/articles/AT4036830962.html
    • Société LynuxWorks sur http://www.lynuxworks.com
    • Société Montavista sur http://www.mvista.com
    • Société Wind River sur http://www.windriver.com
    • Projet Eclipse sur http://www.eclipse.org
    • Electric Fence sur http://perens.com/FreeSoftware/ElectricFence/
    • Valgrind et outils annexes sur http://valgrind.org/ et http://valgrind.org/info/tools.html
    • OProfile sur http://oprofile.sourceforge.net
    • Linux Trace Toolkit sur http://www.opersys.com/LTT

Des articles plus généraux:

  • http://fr.wikipedia.org/wiki/Syst%C3%A8me_temps_r%C3%A9el (“En informatique industrielle, on parle d’un système temps réel lorsque ce système informatique contrôle (ou pilote) un procédé physique à une vitesse adaptée à l’évolution du procédé contrôlé….Les systèmes informatiques temps réel se différencient des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est aussi important que l’exactitude du résultat, autrement dit le système ne doit pas simplement délivrer des résultats exacts, il doit les délivrer dans des délais imposés…“)
  • http://systeme.developpez.com/cours/#C3 (“des cours sur l’architecture, les systèmes embarqués, les systèmes temps réels, les systèmes d’exploitation, les systèmes répartis, les réseaux, le parallèlisme et les grilles de calcul, la sécurité, la compression audi et vidéo, les annuaires LDAP”)

Publié dans Développement logiciel, GNU/Linux | Taggé: , | Laisser un commentaire »

Un nouveau livre sur l’administration système sous Debian GNU/Linux: “Debian Etch” de Raphaël Hertzog et Roland Mas

Posté par patrick le novembre 29, 2007

Une nouvelle concernant l’administration système sous Debian GNU/Linux : la sortie du livre “Debian Etch” de Raphaël Hertzog et Roland Mas.

GNU/Linux Debian Etch

http://www.amazon.fr/exec/obidos/ASIN/2212120621/raphaelhertzo-21

En 2004, les éditions Eyrolles avaient publié le «Cahier de l’admin Debian» de Raphaël Hertzog. Puis, en 2005, une deuxième édition. Ces deux éditions étaient focalisées sur Sarge, prenaient quelques rides avec le temps, et manquaient de détails sur certains domaines. Il fallait donc le mettre à jour.

Mais ce qui n’aurait pu être qu’une troisième édition s’est en fait beaucoup enrichi, et méritait donc un nouveau titre. Le livre “Debian Etch” est donc sorti ce jeudi 29 novembre 2007. En plus d’un deuxième auteur (Roland Mas), cet ouvrage offre de nombreuses nouveautés par rapport au précédent :

  1. une mise à jour complète sur tout ce qui a changé entre Sarge et Etch. La plupart des différences sont détaillées, ce qui en fait un bon bouquin même pour les lecteurs qui n’ont pas encore migré.
  2. un nouveau chapitre sur l’administration avancée, qui présente RAID, LVM, les installations automatisées par FAI et par le Debian-Installer, la virtualisation avec Xen..
  3. un nouveau chapitre sur la sécurité, qui décrit les pare-feu, les systèmes de détection d’intrusion, SELinux, et surtout l’approche de la sécurité comme un processus et non comme la simple utilisation d’un ou plusieurs logiciels.
  4. un « petit cours de rattrapage », qui contient des rappels qui peuvent être nécessaires pour certains lecteurs. Ça reprend le principe des encadrés « B. A. – BA », mais comme on a plus de place on peut se permettre d’entrer dans plus de détails. Ce chapitre peut ainsi constituer une introduction aux systèmes de type Unix, avec une description des concepts de processus et de système de fichiers, une explication détaillée de la séquence de démarrage d’un ordinateur, et un rappel des principales commandes de base.

Le résultat est un livre complet sur Debian Etch, qui décrit à la fois les principes et les détails de la plupart des opérations d’administration d’un système Debian : installation, maintenance, supervision, migration, sécurité, mise en réseau, interface graphique, stockage, sauvegardes, automatisation, installations personnalisées avec paquets modifiés…

Le lectorat ciblé reste vaste, puisque les situations décrites s’appliquent aussi bien dans le cadre d’un petit réseau familial que dans celui d’un système d’information d’entreprise. Et le « petit cours de rattrapage » pourra même être utilisé par des débutants !

Raphaël tient un site web sur le livre, où vous pourrez trouver plus de détails : le sommaire, la couverture, deux chapitres en téléchargement (1, 2), les liens cités (cliquables), des errata, la FAQ, une newsletter, mais aussi des goodies comme des fonds d’écran, et un jeu où dix exemplaires du livre seront distribués.

Références :
Titre : Debian Etch
Auteurs : Raphaël Hertzog et Roland Mas
ISBN : 978-2-212-12062-2
Site web : http://www.ouaza.com/livre/admin-debian/

Page sur Amazon: http://www.amazon.fr/exec/obidos/ASIN/2212120621/raphaelhertzo-21


Debian Etch

http://www.wikimindmap.org/viewmap.php?wiki=en.wikipedia.org&topic=Debian

A voir

  • http://www.ouaza.com/wp/qui-est-raphael-hertzog/ (“J’ai par ailleurs une très bonne connaissance du milieu du logiciel libre de par ma participation active au projet Debian notamment. La société Freexian que j’ai fondée saura vous épauler dans tous types de missions en rapport avec les logiciels libres.
    • Migration vers des logiciels libres (étude prélable, conseil, suivi/support technique)
    • Installation de logiciels libres
    • Formation aux logiciels libres
    • Veille technologique
    • Création de distributions spécifiques
    • Développement ou encadrement de projets de logiciels libres
    • Adaptation de logiciels libres existants
    • Tout autre projet dans lequel vous envisagez d’utiliser des logiciels libres :
      • intranet, applications collaboratives
      • site web (commerce électronique)
      • création de VPN
      • “)

Autres sources d’informations

Publié dans Administration système, Debian, GNU/Linux, livres, logiciel libre, migration vers le libre, ubuntu | Taggé: | Laisser un commentaire »

GUILDE: Conférences EyeOS le 15/11/2007 et Ruby le 19/12/2007

Posté par patrick le novembre 2, 2007

La GUILDE a le plaisir de vous annoncer que les deux prochaines conférences Guilde sont planifiées :

  • EyeOS, le bureau web, par Hans B Pufal, jeudi 15 novembre
  • Ruby et Ruby on Rails, par Laurent Julliard, mercredi 19 décembre

Annonce détaillée pour EyeOS: Conférence EyeOS Jeudi 15 novembre de 19:30 à 21:45, par Hans B Pufal, développeur EyeOS, à l’ENSIMAG, campus de Saint Martin d’Hères, Amphi E.

EyeOS est un environnement de bureau libre (sous licence GNU/GPL) basé sur une interface Web. Il permet à l’utilisateur d’accéder à son bureau, ses fichiers et ses applications eyeOS à partir de tout navigateur, sur n’importe quel ordinateur, en n’ayant besoin que d’un système de base et d’une connexion internet. EyeOS est écrit en PHP, un langage de script libre. On peut ainsi l’installer sur la plupart des systèmes d’exploitation existants en tant que serveur. Il est également possible d’utiliser un serveur eyeOS existant en se créant simplement un compte. De plus en plus d’applications sont disponibles pour eyeOS, des applications de bureautique (traitement de texte, tableur, etc.) aux jeux, en passant par des applications internet (messagerie instantanée, mail, etc.). Il est donc possible de réaliser toutes les tâches courantes à partir d’un simple navigateur.

Communication: N’hésitez pas à relayer l’annonce ou à mettre un lien vers cette page: http://www.guilde.asso.fr/rencontres/20071115.

Vous pouvez également imprimer et diffuser les affiches (PDF) : couleur ou noir et blanc.

Publié dans Guilde, IDE-GUI, Web applications, php, ruby | Taggé: , , , | Laisser un commentaire »

Admin système, récupération de données: TestDisk, Photorec, Ping (Partimage Is Not Ghost), dd, netcat (nc)…etc

Posté par patrick le juillet 5, 2007

Comme depuis 1 an je suis confronté à des problèmes de sauvegarde et de restauration aussi bien en environnement professionnel (je ne suis pourtant pas administrateur système) que personnel( les gens qui pensent que je fais des sauvegardes toute la journée :) ), je vais étudier le problème…qui est bien vaste.

Je commence par TestDisk car je viens de recevoir un courriel de la liste http://linuxfr.org qui mentionne son existence.

- http://www.cgsecurity.org/wiki/TestDisk (“ est un logiciel Open Source distribué sous licence GPL (GNU Public License). TestDisk est un logiciel performant de récupération de données! Il a été conçu à l’origine pour aider à la récupération des partitions perdues, la réparation des tables des partitions corrompues quand ces symptômes ont été causés par des logiciels défectueux, certains types de virus ou des erreurs humaines (tel que l’effacement accidentel de la Table des Partitions”).

- http://www.cgsecurity.org/wiki/Monitoring_SMART_FR (“Self-Monitoring, Analysis and Reporting Technology system). Il est possible de contrôler et surveiller les systèmes de stockage en utilisant la technologie SMART (Self-Monitoring, Analysis and Reporting Technology system) intégré dans les disques durs ATA et SCSI.Dans le but d’anticiper les pannes, la technologie SMART surveille et informe de l’état de certains indicateurs de fiabilité comme la température, le nombre de secteurs réalloués, les erreurs de localisation des secteurs et le temps cumulé d’utilisation.

  • Utiliser un logiciel pour surveiller les informations SMART afin de détecter les problèmes physiques.
    • smartmontools — logiciel opensource pour Windows, Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Darwin, OS/2.
    • SMARTReporter — logiciel opensource pour Apple Macintosh
  • Si le disque est connecté via USB ou FireWire, les informations SMART peuvent ne pas être rapportés. Si c’est le cas, il est conseillé d’utiliser une connexion directe de type IDE, SCSI, SATA…”

- http://www.cgsecurity.org/wiki/PhotoRec ( PhotoRec is file data recovery software designed to recover lost files including video, documents and archives from Hard Disks and CDRom and lost pictures (thus, its ‘Photo Recovery’ name) from digital camera memory. PhotoRec ignores the filesystem and goes after the underlying data, so it will still work even if your media’s filesystem has been severely damaged or re-formatted. PhotoRec is free, this open source multi-platform application is distributed under GNU Public License. PhotoRec is a companion program to TestDisk, an app for recovering lost partitions on a wide variety of filesystems and making non-bootable disks bootable again. You can download them from this link. PhotoRec searches known file header and because there is no data fragmentation (usually), it can recover the whole file. Photorec recognises numerous file format including ZIP, Office, PDF, HTML, JPEG and various graphics file formats. The whole list of file formats recovered by PhotoRec contains more than 80 file extensions.”)

- http://www.windowsdream.com/ping/download.html (“PING (Partimage Is Not Ghost) Backup and Restore Disk Partitions. PING is a live Linux ISO, based on the excellent Linux From Scratch (LFS) documentation. It can be burnt on a CD and booted, or integrated into a PXE / RIS environment. Several tools have been added and written, so to make this ISO the perfect choice to backup and restore whole partitions, an easy way. It sounds like Symantec Ghost(tm), but has even better features, and is totally free)

- http://www.windowsdream.com/winner.html (WINNER is a different way to set up a RIS Server. Basically, it gives you the possibility to deploy an unattended installation of Windows XP over a LAN, but has impressive specificities. Amongst them, a WINNER distribution can range from a minimalist Linux set (50 Mo) to a complete set of files (2 Go) — both of them leading to a similar, complete, Windows installation.“)

- http://fr.wikipedia.org/wiki/Remote_Installation_Services (“Les Services d’installation à distance (Remote Installation Services ou RIS) est une fonctionnalité pour serveur fournit par Microsoft qui permet à des ordinateurs dont le BIOS prend en charge le Preboot eXecution Environment (PXE) d’exécuter de façon distante des variables d’environnement de démarrage…Il est possible d’installer ou booter d’autres systèmes d’exploitation grâce au RIS, par exemple une distribution GNU/Linux au travers du Linux Terminal Server Project…Le RIS a été remplacé par “Windows Deployment Services” (WDS) dans le Service Pack 2 de Windows Server 2003 et Windows Vista.“)

- http://fr.wikipedia.org/wiki/Ghost_%28informatique%29 (“En informatique, Ghost (General Hardware Oriented System Transfer) est un logiciel, à l’origine produit par Binary Research, mais racheté par Symantec en 1998, pour cloner un disque dur (copie physique), ou plus spécifiquement, de cloner chaque partition d’un disque dur (copie logique). Le cryptage AES (Standard de chiffrement avancé) est aussi supporté pour préserver la confidentialité des sauvegardes. Ghost inclut aussi un Fdisk amélioré. L’image obtenue peut notamment être utilisée :

  • comme une sauvegarde pour restaurer l’état du disque au moment de la création de l’image
  • comme modèle pour réaliser un clonage de disque

Le concurrent direct de Ghost est Acronis True Image (commercial) , souvent considéré comme plus complet et simple d’utilisation.

Remarque: Depuis peu (2004) il existe PING (Partimage Is Not Ghost) qui n’est ni un produit commercial ni un logiciel open source.

Le terme “ghost” tend à se généraliser pour désigner toute image d’un support informatique ou d’un système informatique faite par un logiciel de sauvegarde. Dans le jargon informatique, le néologisme “ghoster un PC” est apparu. Il est synonyme de cloner, c’est à dire dupliquer le disque dur d’un PC. L’intérêt de ghoster un PC est de ne pas avoir besoin de réinstaller chaque logiciel un par un, ce qui est long et fastidieux pour la (ou les) personne(s) qui installe(nt) ces logiciels. Ghoster un PC est rapide et nécessite beaucoup moins de compétences; il reste cependant à personaliser la machine clonée en modifiant son nom et son adresse IP à l’issue du clonage.”

- http://en.wikipedia.org/wiki/Dd_%28Unix%29 (“dd is a common UNIX program whose primary purpose is the low-level copying and conversion of files. The title of the UNIX sixth edition manual page of May 1975 was dd – convert and copy a file, and some have suggested that since “cc” was already in use as the code for the CCompiler, “dd” was used instead; in any case, DD is an acronym for “data definition” in IBM JCL (to which the command’s syntax bears a strong resemblance) and the name and syntax of the command is generally presumed to be a bit of gallows humor.” )

To create a zipped hard drive backup image:

# dd if=/dev/hda | gzip > /mnt/hdb1/system_drive_backup.img.gz

Here dd is making an image of the first harddrive, and piping it through the gzip compression program. The compressed image is then placed in a file on a separate drive. To reverse the process:

# gzip -dc /mnt/hdb1/system_drive_backup.img.gz | dd of=/dev/hda

Here, gzip is decompressing (the -d switch) the file, sending the results to stdout (the -c switch), which are piped to dd, and then written to /dev/hda.

To create an ISO image file from a CD. Insert the source cd and unmount it first if auto CD mount is enabled, this is to improve performance by preventing random access to the mounted filesystem.

dd if=/dev/cdrom of=/tmp/image.iso bs=2k

Note: The device might also be called /dev/dvd or /dev/scd0 (for a SCSI-drive).

To create an image file named floppy.img of a floppy disk in the drive whose block-device name is /dev/fd0 (as the first floppy device is on Linux), one may invoke dd in the following way:

dd if=/dev/fd0 of=floppy.img

Or to copy the img file back to a floppy:

dd if=floppy.img of=/dev/fd0 bs=16k

To create a file with name reallylargefile with the size of 1 GB, filled with random data, do this (1G = 1073741824, 1073741824 / 512 = 2097152 (the default block size is 512)):

dd if=/dev/random of=reallylargefile count=2097152

or faster but less cryptographicly secure

dd if=/dev/urandom of=reallylargefile count=2097152

To fill the file with NULL characters, use /dev/zero instead of /dev/random. This can be used to mount a filesystem if you have a FAT32 device, but need the flexibility of EXT2 – as follows to create a 10GB image:

dd if=/dev/zero of=my.new.virtual.harddisk bs=1k count=10MB
mke2fs my.new.virtual.harddisk (reply yes when it says it’s not a block device)
mkdir /mnt/virtual
mount -o loop my.new.virtual.harddisk /mnt/virtual/"

- http://www.linuxquestions.org/questions/showthread.php?p=1848006#post1848006 (liste impressionnante d’utilisation de la commande ‘dd’)

- http://www.softpanorama.org/Tools/dd.shtml (idem liste impressionnante d’utilisation de la commande ‘dd’:

slave% nc -l -p 9000 | dd of=/dev/sda (Replace /dev/sda with actual drive on your slave machine)

This will listen at port 9000 and whatever it gets at port 9000 will hand over to dd command and dd will simply write that to on slave harddrive (sda) bit by bit. Here I am assuming dd and netcat (nc) are available either through floppy (/mnt/floppy/nc or through /mnt/sources/mystuff/nc). In case of floppy you need to mount floppy first using command:
mount /dev/fd0 /mnt/floppy
On Master machine:
Now Login on master linux box and run following command. (It is advisable that Master Linux box should be in calm state , i.e no major jobs running on the machine). This command below will read master disk bit by bit and throw this bit stream to netcat command which is connected to netcat command at port 9000 on <slave> box.

master% dd if=/dev/sda | nc 192.168.0.254 9000

That’s it. You may have to wait for long time depending upon network speed and size of your harddrive. Typically 36GB drive may take 50 minutes over 100Mbps link. Again rather than cloning complete drive we can clone only relevant partitions and MBR only. That will make cloning much faster like we saw in above section”)

- http://www.sweetnam.eu/index.php/Using_Netcat_for_Backup (“Providing you have netcat installed, on the destination machine execute the following command:

nc -l -p 6666 > filename.tar.bz2

This creates a listening socket on port 6666 with the filename specified above. We now need to setup the source machine to dump whatever directories or filesystems you want to send to the destination machine. So on the source you can issue the following command:

tar jlcvPpf - / > /dev/tcp/192.168.0.2/6666

In the example above 192.168.0.2 is the address of the destination address and the forward slash indicates that it is the entire filesystem to be backed up. You can easily change this for example to tar jlcvPpf – /var/www > /dev/tcp/192.168.0.2/6666 to backup the /var/www directory. If there is no /dev/tcp it is possible to use netcat on both ends

tar jlcPpf - / | nc 192.168.0.2 6666")

- http://m.nu/program/util/netcat/netcat.html (Netcat is a tool that every security professional should be aware of and possibly have in their ‘security tool box’. In May/June of 2000, insecure.org conducted a survey of 1200 Nmap users from the Nmap-hackers mailing list to determine their favorite security tools. Netcat was the second most popular tool, not including Nmap. A quick search on securityportal (www.securityportal.com) found 166 matches of netcat. Most of the matches describe or use netcat in some way. Netcat is a utility that is able to write and read data across TCP and UDP network connections. If you are responsible for network or system security it essential that you understand the capabilities of netcat.Netcat should not be installed unless you have authority to do so. Never install any executable unless you can trust the providor. If possible review the source and compile it yourself. To be safe only use netcat in a test environment.”..Nous voilà avertis ! Et voila des commandes bien puissantes:

Remote command prompt anyone?

On a Windows NT server issue the following command in the directory that contains netcat:

nc -l -p1234 -d -e cmd.exe –L

This –l puts netcat into listen mode, the -p1234 tells netcat to use port 1234, the –d allows netcat to run detached from the console, the –e cmd.exe tells netcat to execute the cmd.exe program when a connection is made, and the –L will restart Netcat with the same command line when the connection is terminated.

On the client system issue the following command:

nc destination 1234

This command causes netcat to connect to the server named destination on port 1234. Immediately you are given a console connection to the destination server. Be careful! To exit the remote console session type:

exit

You will be returned to your own console and will be able to reconnect to the destination server because netcat was started on the destination server with the –L option.

Sur GNU/Linux: (http://linuxfr.org/forums/26/16634.html)

Coté serveur:
——————
$> nc -u -l -p -e /bin/bash

Coté client:
—————
$> echo | nc -u <serveur IP> -w1

FTP & drive mapping blocked?

To receive a file named newfile on the destination system start netcat with the following command:

nc –l –p 1234 >newfile

On the source system send a file named origfile to the destination system with the following command:

nc destination 1234 <origfile

Issue a ^C on the source system and your done. Be sure to check the file to be sure it is the same size as the original.”)
Liens:

- http://fr.wikipedia.org/wiki/Disques_durs (“Le disque dur ou Hard Disk Drive est une mémoire de masse magnétique. Il a remplacé efficacement les tambours (aujourd’hui obsolètes) et les bandes, qui sont utilisées de nos jours uniquement pour l’archivage et la sauvegarde.”)

- http://www.cgsecurity.org/wiki/Articles

  1. PhotoRec versus Foremost: Récupération de fichiers (Juin 2006)
  2. PhotoRec: Récupération de fichiers dissimulés sur un cdrom (Juin 2007)

- http://fr.wikipedia.org/wiki/Sauvegarde (“En informatique, la sauvegarde (backup en anglais) est l‘opération qui consiste à dupliquer et à mettre en sécurité les données contenues dans un système informatique. Par extension et par emprunt à l’anglais (to save), ce mot s’applique à tout enregistrement d’information sur un support permanent (par ex. l’écriture sur disque dur d’informations en mémoire vive). Dans ce sens, il est synonyme de « stockage d’information ». Mais le sens premier se rapproche de celui d’archivage, de conservation.”…”La sauvegarde s’inscrit dans une démarche plus globale qui consiste à assurer la continuité d’activité d’un système informatique ou, en cas de défaillance, son redémarrage le plus vite possible. Cette démarche est souvent formalisée dans un document qui peut porter des noms divers, par exemple le “PRA” (plan de reprise d’activité) ou le “PS” (plan de secours), et qui fait appel soit à des automatismes (ex. donner l’alerte en cas de coupure de courant ou de perte d’accès à une unité de stockage) soit à des gestes manuels (ex. remplacer des bandes magnétiques défectueuses). La tendance est à l’automatisation, réputée plus sûre dans les situations d’urgence que les opérations manuelles.”

- http://fr.wikipedia.org/wiki/Master_boot_record (“Le Master Boot Record ou MBR Zone amorce“) est le nom donné au premier secteur adressable d’un disque dur (cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d’un partitionnement Intel. Sa taille est de 512 octets. Le MBR contient la table des partitions (les 4 partitions primaires) du disque dur. Il contient également une routine d’amorçage dont le but est de charger le système d’exploitation (ou le boot loader/chargeur d’amorçage s’il existe) présent sur la partition active.“)

- http://en.wikipedia.org/wiki/ISO_image (“An ISO image (.iso) is a disk image of an ISO 9660 file system. More loosely, it refers to any optical disc image, even a UDF image. As is typical for disc images, in addition to the data files that are contained in the ISO image, it also contains all the filesystem metadata, (boot code, structures, and attributes). All of this information is contained in a single file. These properties make it an attractive alternative to physical media for the distribution of software that requires this additional information as it is simple to retrieve over the Internet. Some of the common uses include the distribution of operating systems, such as Linux or BSD systems, and LiveCDs.”… dd (Unix)Linux/UNIX built-in command doing low-level copy, including generating ISO image from a CD.

    • ISO files can be mounted directly in Linux with the single command: mount -o loop -t iso9660 filename.iso /mnt/iso (assuming the directory /mnt/iso exists).
    • ISO images can also be made in Linux with simple commands: mkisofs -J -o filename.iso directory name. Using -J preserves the Windows Joliet) extensions, meaning the data in the directory should be readable on Windows systems.”

- http://en.wikipedia.org/wiki/ISO_Master (“ISO Master is an open source application for Linux and BSD for creating and modifying ISO9660 files (ISO images).The first version was released as a working beta in August 2006 – a GTK-based GUI for the newly developed bkisofs (a library for reading and writing ISO9960 files in user space, including Joliet, RockRidge, and El Torito extensions)”

- http://en.wikipedia.org/wiki/Isolinux (“The SYSLINUX Project covers a suite of lightweight bootloaders, for starting up computers in the Linux operating system. It is the work of H. Peter Anvin, and consists of several separate systems:

  • the original SYSLINUX, used for booting from FAT filesystems (usually floppy discs);
  • ISOLINUX, used for booting from CD-ROM ISO 9660 filesystems;
  • PXELINUX, used for booting from a network server using the Pre-boot eXecution Environment (PXE) system;
  • EXTLINUX, used to boot from Linux ext2/ext3 filesystems;
  • MEMDISK, used to boot older operating systems like MS-DOS from these media;
  • two separate menu systems; and
  • a development environment for additional modules.

SYSLINUX is not normally used for booting full Linux installations since Linux is not normally installed on FAT filesystems. Instead, it is often used for boot or rescue floppy discs, or other lightweight systems. ISOLINUX is generally used by Linux LiveCD and bootable install CDs.”)

- http://en.wikipedia.org/wiki/Netcat (“In computing, netcat is a network utility for reading from and writing to network connections on either TCP or UDP. It is designed in a thin and simple way, which makes it easy to incorporate in larger applications. Because of its versatility, netcat is also called the “TCP/IP Swiss Army knife“.Netcat was twice voted the fourth most useful network security tool in polls conducted by insecure.org on the nmap users mailing list[1])

- http://fr.wikipedia.org/wiki/Administrateur_syst%C3%A8me (“Un administrateur système est un informaticien responsable des serveurs d’une organisation (entreprise, association, administration). Ses tâches comprennent l’installation, le paramétrage, le maintien, la mise à jour, l’évolution, la sauvegarde, la restauration, la planification, la supervision, le conseil, le support et la veille technologique dans le périmètre technique des matériels et logiciels de type serveur, principalement les systèmes d’exploitation. Il a parfois la tâche de l’administration du réseau et/ou de l’administration des bases de données dans des organisations de petite taille. Il travaille au sein d’une DSI (Direction des Systèmes d’Information) ou d’une SSII (Société de Services en Ingénierie Informatique).
Il intervient auprès du DSI (Directeur des systèmes d’information), des DBA (Database Administrator, administrateur de bases de données), des administrateurs réseau, des webmasters et apparentés, des développeurs, des responsables bureautique (postes de travail) et enfin des usagers.
“)

- http://en.wikipedia.org/wiki/System_administrator

- http://guides-info.org/linux/admin/outils_sauvegarde.php (“Sauvegarder… LA tache que beaucoup repoussent… jusqu’à ce qu’une fausse manip ou une panne matérielle le leur fasse, souvent chèrement, regretter. Heureusement pour les prévoyants, il est excessivement simple de sauvegarder un (des) dossier(s), une partition ou même un disque dur complet, qu’ils soient linux, windows ou autre“)

- http://www.inference.phy.cam.ac.uk/saw27/notes/backup-hard-disk-partitions.html (“It’s often useful to make an image of either an entire hard disk or an entire partition. One reason is to duplicate an installed system onto another PC (probably over a network connection); another is to make a backup of your complete hard disk including every aspect of the installed operating systems, which you can restore if you have to replace your hard disk or if you screw things up. Typically it’s useful to be able to transfer these images over the network to another machine, although you may want to save images onto a different partition or hard disk…There is a open source Linux program called partimage which is similar to Ghost, but I prefer to make backups using basic tools which I know will always be to hand, and in a pure format which I understand. My preferred solution in some situations is to use raw linux commands. The backup technique uses linux, but you don’t have to have linux installed on your computer to do this, and you can use this technique to backup partitions containing any filesystem)

dd if=/dev/hda1 bs=1k conv=sync,noerror | gzip -c | ssh -c blowfish user@hostname "dd of=filename.gz bs=1k"

This instructs dd to read the contents of /dev/hda1 (the first partition). conv=sync,noerror tells dd that if it can’t read a block due to a read error, then it should at least write something to its output of the correct length. Even if your hard disk exhibits no errors, remember that dd will read every single block, including any blocks which the OS avoids using because it has marked them as bad. So don’t be too surprised if dd seems to struggle to read some blocks. (But see the next section for a better way of handling this situation).

bs=1k sets the block size to be 1k. I’m not quite sure what the optimal value is, but it needs to be no larger the the block size for the disk, otherwise a bad block may mask the contents of a good one. 1k is a safe bet.

In the above example the output of dd is piped through gzip to compress it. We then pipe the compressed data stream over an ssh connection to another linux machine (which may also be running Knoppix – see Knoppix notes below). If you wanted to write straight to a local file, you could either just add of=filename to the first dd command (to write an uncompressed image), or if you want to compress it, just redirect the output of the gzip to a filename.

Continuing with our explanation, the -c blowfish option to ssh selects blowfish encryption which is much faster (useful since we’re sending tons of data) than the default. Finally another dd command is invoked on the remote machine to read the data stream and write it to a file there. Alternatively you could pipe it through gunzip -c and write it straight to a partition on the remote machine instead of to a file.

Note that, as long as its not compressed, you should be able to mount a file containing a single partition’s image using a loopback device in linux. (With a little more jiggery-pokery to find the correct offset, you can also mount partitions within a whole-disk image; see here).

Restoring partitions

The restore procedure is fairly similar. For example, on the machine with the image on it, you might do something like:

dd if=filename.gz | ssh -c blowfish root@deadhost "gunzip -c | dd of=/dev/hda1 bs=1k". This assumes you have linux (e.g. Knoppix) running on the target machine with an ssh server running. See ‘Knoppix tips’, below. Note that you should not include conv=sync,noerror in the restore dd – doing so can, in certain situations, corrupt the data being written, since it instructs dd not to wait for more data to arrive from the network or filesystem if a whole block isn’t available.

The partition needs to already exist before you do this, and needs to be large enough to take all the data. If it’s too big, that doesn’t matter, you’ll just be wasting space at the end. You should then be able to grow the filesystem to fill that extra space. For ext2 filesystems, try using the ext2resize tool. You may also be able to persuade the partition editing tool parted to do this, since it can handle resizing most filesystems.

Alternative to ssh

If you’re on a trusted network, you might think it silly to go to trouble of encrypting and unencrypting all that data with ssh. Yet these days your machines are probably not configured to allow rsh connections. nc (a.k.a. netcat) is one option here: it just sends raw streams of data across a network. On the destination machine you could run nc -l -p 10001 > imagefile to start a process which will listen on TCP port 10001 and dump everything it receives from the first thing to connect to it to imagefile. Then on the source machine, pipe the output of dd (or gz, or whatever) to nc remote 10001 where remote is the name or IP address of the destination machine.

File-level backup techniques

Backing up entire partitions or disks is most useful when replacating systems across hard disks or when backing up partitions containing operating systems which are otherwise hard to fully backup. For more every-day backups of your data, a file-level method is more appropriate. Here are some handy tools for doing backups over a network to a remote machine in various clever ways:

- http://doc.ubuntu-fr.org/tutoriel/sauvegarder_home_avec_grsync ( Sauvegarder “/home” avec Grsync, l’interface graphique de rsync)

- http://doc.ubuntu-fr.org/applications/sauvegarde_d_une_partition (“Sauvegarder une partition permet de restaurer, si besoin, l’intégralité du système de fichiers qu’elle contient au moment de la sauvegarde. Ce principe est souvent utilisé pour sauvegarder l’intégralité d’un système d’exploitation ( appelé aussi backup ) . Cela ne semble pas adapté à la sauvegarde de documents personnels où l’on préférera backup-manager)

 

Publié dans Administration système, GNU/Linux, Récupération de données | 1 commentaire »