De EDOS a Mancoosi Les defis des distributions de logiciels libres



Documents pareils
Génie Logiciel et Logiciel Libre

Chapitre 10 : Logiciels

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Package Contents. System Requirements. Before You Begin

TD séance n 2c Mise à jour des Systèmes

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

We Generate. You Lead.

Cedric Dumoulin (C) The Java EE 7 Tutorial

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Contrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Instructions Mozilla Thunderbird Page 1

Tutoriel compte-rendu Mission 1

Projet de développement

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Pourquoi et comment faire sa première contribution à Debian?

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Guide pour l Installation des Disques Durs SATA et Configuration RAID

Procédure d installation de la Sauvegarde de Windows Server

Mise en oeuvre TSM 6.1

PostgreSQL, le cœur d un système critique

Forthcoming Database

Accès aux ressources informatiques de l ENSEEIHT à distance

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

Un business model d éditeur open source

RAPID Prenez le contrôle sur vos données

Institut d Acclimatation et de Management interculturels Institute of Intercultural Management and Acclimatisation

Connaître la version de SharePoint installée

Mise à jour du logiciel sur les composants installés dans les machines agricoles à partir de la carte mémoire PCMCIA

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

FICHE TECHNIQUE. Linux Tutoriel. Installer une imprimante multifonction HP PSC 1315 sous Linux. TUTORIEL Starinux Imprimante multifonction HP PSC 1315

Environnements et Outils de Développement Cours 1 Introduction

JEAN-FRANÇOIS BOUCHAUDY GILLES GOUBET. Linux. Administration

Relions les hommes à l entreprise Linking people to companies

WPKG Gestion de paquets pour Windows

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Plan. Department of Informatics

MANUEL D INSTALLATION D UN PROXY

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

DOCUMENTATION - FRANCAIS... 2

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005

Sauvegarde et Restauration d un environnement SAS

Vanilla : Virtual Box

Vérifier la qualité de vos applications logicielle de manière continue

TD/TP 1 Introduction au SDK d Android

Logiciel Libre Cours 10 Debian

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Situation professionnelle n X

Editing and managing Systems engineering processes at Snecma

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Etudiant Ella Fitzgerald

HOW-TO Install Oracle 11gR2 on OL5U7

Réalisation d un portail captif d accès authentifié à Internet

Language requirement: Bilingual non-mandatory - Level 222/222. Chosen candidate will be required to undertake second language training.

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

DELL E6500 : Remplacement du disque dur d origine par un disque dur chiffrant

Problématique. Techniques générales. Déploiement Windows. Déploiement Linux. Déploiement Mac OS X. Applications Windows. Applications Linux

Les tendances, la sécurité, le BYOD et le ROI de la mobilité. July 12

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

AOC Insurance Broker Compare vos Assurances Santé Internationale Economisez jusqu à 40 % sur votre prime

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Visual Paradigm Contraintes inter-associations

MRTG & RRD Tool. Multi Router Traffic Grapher

DOCUMENTATION - FRANCAIS... 2

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

pythonocc: une plateforme de développement agile d applications CAO.

TP XEN. Mise en œuvre de l hyperviseur Xen. sur. Debian Lenny

Portabilité sur système Android d un système de borne d information

Once the installation is complete, you can delete the temporary Zip files..

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Nessus 4.4 Guide d'installation

Méthodes et outils employés pour développer des logiciels libres

Déploiement de SAS Foundation

RELEASE NOTES. Les nouveautés Desktop Manager 2.8

Principe. Technologies utilisées. 1. Linux et LVM. Les snapshots (instantannés) sous Linux et FreeBSD. Présentation de LVM. Organisation de LVM

sshgate Patrick Guiran Chef de projet support

SonarQube : une autre vision de votre logiciel

Florian CARRE Comment rédiger un bon projet de R&D européen? Organiser la rédaction règles administratives

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Symphony. Procédures d installation : Mise à jour vers une version plus récente

Construire des plug-ins pour SAS Management Console SAS 9.1

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Rendez-vous la liberté avec Rational Quality Manager

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

VOTRE POLITIQUE D'ARCHIVAGE EST-ELLE ADAPTÉE? Démarche projet. Alain Le Corre, Responsable de Marché, Gestion de l information

Sauvegarde/Restauration

0,3YDQGLWVVHFXULW\ FKDOOHQJHV 0$,1²0RELOLW\IRU$OO,31HWZRUNV²0RELOH,3 (XUHVFRP:RUNVKRS %HUOLQ$SULO

Transcription:

De EDOS a Mancoosi Les defis des distributions de logiciels libres Professeur d Informatique Université Paris Diderot

Introduction Le Logiciel Libre n est pas un logiciel comme les autres, il pose des problèmes nouveaux: pas d architecte unique, dévéloppement rapide et distribué, interdependences fortes, grandes masses de code librement accessibles... Focus sur les distributions GNU/Linux: origine, rôle, problématiques Les résultats d EDOS Les enjeux de Mancoosi

Avant l arrivée des distributions, le seul moyen d installer des logiciel libres sur les postes clients était: Mais: pas de version standard du poste client besoin de recompiler,... et reconfigurer assez souvent trop long, trop compliqué, trop fragile!

Cela a fait naître les distributions comme intermédiaires entre les projets et les utilisateurs

Un certain succès...

Le role d un éditeur de distribution: upstream tracking : suivre l évolution des sources en général, developer =/= packager! integration : offrir une collection coherente de paquets Pour cela, on doit traiter correctement des dependances testing : à tous les niveaux distribution : diffusion rapide sans casser l éxistant Ce n est pas facile! Les cycles de 6 et 12 mois qu on voit nécéssitent des dizaines d années-homme. Parmi les notions centrales: paquet, avec des outils d administration...

Paquets, métadonnéees, et installation { des fichiers Paquet = quelques scripts des metadonnées: Identification Inter-package relationships Dependencies Conflicts. Feature declarations Other Package maintainer Original author Textual descriptions... Example Package: aterm Version: 0.4.2-11 Section: x11 Installed-Size: 280 Maintainer: Göran Weinholt... Architecture: i386 Depends: libc6 (>= 2.3.2.ds1-4), libice6 xlibs (>> 4.1.0),... Conflicts: suidmanager (<< 0.50) Provides: x-terminal-emulator Filename: pool/main/a/aterm/......

Les paquets, suite Remarques: le composant élémentaire des distributions modernes un système est construit avec l installation d un ensemble de paquets (plusieurs centaines, voir des milliers) Quelques problèmatiques: cohérence des composants (distribution) SE, solveurs... évolution graduelle des installations algo, contraintes,... séléctionner le système voulu dans l espace des possibles SE visualiser l état du système IHM,... maîtriser l évolution du système: installer/désinstaller les composantes, solveurs,... gêrer les interdépendences solveurs, langages repliquer, reproduire un état du système SE, sémantique,..... Chaque ligne est une porte ouverte sur un domaine de recherche!

Exemple d installation Phase Trace Commande utilisateur apt-get install aterm 8Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: libafterimage0 >< The following NEW packages will be installed Resolution contraintes aterm libafterimage0 0 upgraded, 2 newly installed, 0 to remove and 1786 not upgraded. Need to get 386kB of archives. >: After unpacking 807kB of additional disk space will be used. ( Do you want to continue [Y/n]? Y Get: 1 http://debian.ens-cachan.fr testing/main libafterimage0 2.2.8-2 [301kB] Recuperation archives Get: 2 http://debian.ens-cachan.fr testing/main aterm 1.0.1-4 [84.4kB] Fetched 386kB in 0s (410kB/s) Pré-configuration { 8 Selecting previously deselected package libafterimage0. >< (Reading database... 294774 files and directories currently installed.) Depaquetage Unpacking libafterimage0 (from.../libafterimage0_2.2.8-2_i386.deb)... >: Selecting previously deselected package aterm. Unpacking aterm (from.../aterm_1.0.1-4_i386.deb)... j Setting up libafterimage0 (2.2.8-2)... Setting up aterm (1.0.1-4)... Chacune de ces phases peut échouer... (cela arrive souvent) Configuration il faut identifier et prévenir les erreurs le plus tôt possible

Quelques repères Dans les distributions actuelles: savoir si le processus d installation termine sans erreur est un problème indécidable 1 il arrive souvent de recevoir des CD/DVD contenant des paquets qui ne sont pas installables un grand nombre d erreurs rencontrées par les utilisateurs sont dans la résolution de dependances plus de 19.000 paquets (et 10.000 sources) dans Debian; plus de 200.000 relations de dependances 1 Ex: les scripts pre/post-install

Les interdépendances sont complexes... Package: gnubg Version: 0.14.3+20060923-4 Depends: gnubg-data, ttf-bitstream-vera, libartsc0 (>= 1.5.0-1),..., libgl1-mesa-glx libgl1,... Conflicts:... Et cela change tous les jours! Comment s y retrouver? Les projets EDOS et MANCOOSI s attaquent aux erreurs de la phase de resolution des dependences, en utilisant des méthodes formelles.

Projet: Strep FP6 (de 2005 à 2007) Focus du WP2: cohérence globale d une distribution F/OSS (point de vue de l éditeur): Identifier tous les paquets d une distribution qui ne sont pas (individuellement) installables, et en expliquer la raison. 2 Résultats: formalisation des dépendences des paquets, et outils pour les éditeurs de distributions (aucun outils pre-existant était satisfaisant) Théorème: le problème de l installabilité d un paquet (restreint aux dependences) est NP-complet. 2 Par rapport aux dependences.

Installation et SAT solving Installer libc6 dans: Package: libc6 Version: 2.2.5-11.8 Package: libc6 Version: 2.3.5-3 Package: libc6 Version: 2.3.2.ds1-22 Depends: libdb1-compat Package: libdb1-compat Version: 2.1.3-8 Depends: libc6 (>= 2.3.5-1) Package: libdb1-compat Version: 2.1.3-7 Depends: libc6 (>= 2.2.5-13) peut devenir I 2.3.2.ds1 22 libc6 (I 2.3.2.ds1 22 libc6 I 2.2.5 11.8 libc6 ) (I 2.3.2.ds1 22 libc6 I 2.3.5 3 libc6 ) (I 2.3.5 3 libc6 I 2.2.5 11.8 libc6 ) (I 2.1.3 7 libdb1-compat I 2.1.3 8 libdb1-compat ) I 2.3.2.ds1 22 libc6 (I 2.1.3 7 libdb1-compat I 2.1.3 8 libdb1-compat ) I 2.1.3 7 libdb1-compat (I 2.3.2.ds1 22 I 2.3.5 3 libc6 ) libc6 I 2.1.3 8 libdb1-compat I 2.3.5 3 libc6 Attention Tout n est pas si simple: pre-depends, optimisations, explication des échecs, etc.

Timeline 2005-08 premières version de ceve et EDOSlib dans subversion 2005-09 WP2D1: analyse des systèmes de paquets, reduction aux contraintes booleennes, NP-completude 2005-11 première version de edos-debcheck, avec un SAT-solver intégré, dans subversion 2006-02 EDOS suit Debian via anla, avec rapports journaliers 2006-03 WP2D2: codages booléen et Constraint Programming, comparaison des package managers 2006-09 Première version de tart, un allocateur optimisant qui repartit une distribution sur plusieurs media, dans subversion. 2006-12 EDOS WP2 presente les outils à Debian QA in Extremadura; edos.debian.net est né. 2007-06 Fin d EDOS; environ 100.000 lignes d OCaml. Team: Jaap Boender, Berke Durak, Xavier Leroy, Fabio Mancinelli, Ralf Treinen, Jerôme Vouillon

Les outils EDOS Et aussi tart, anla, etc. fournissent un socle solide pour le travail invisible mais indispensable des éditeurs de distribution. Tout est sous licence libre. Mais... cela ne resout pas le problème de l utilisateur final!

Un example de problème d upgrade sudo apt-get install debhelper Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: armagetron armagetron-common autoconf bonobo-activation codebreaker debconf debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0 libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0... The following packages will be REMOVED: autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4 libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader The following NEW packages will be installed: armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6 libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1 libplrpc-perl libsdl-console... 75 packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded. Need to get 67.1MB of archives. After unpacking 26.9MB will be used. Do you want to continue? [Y/n] Abort.

MANaging the COmplexity of the Open Source Infrastracture Projet: Strep FP7 (de 2008 à 2011) Focus: cohérence et maintenance d une installation F/OSS (point de vue de l utilisateur): Outils pour la gestion des paquets installés installation desinstallation upgrade downgrade

Project overview Transactional updates WP2 formaliser les effets de l installation/desinstallation d un paquet sur le système WP3 construire des outils qui permettent à ce processus de devenir transactionnel

Project overview Upgradeability WP4 conception d algorithmes optimisés pour les mises à jour. WP5 construction d une base de problèmes, pour fédérer les chercheurs dans une compétition internationale.

Project Partners

L e quipe

Offspring/related works Les idées crées dans EDOS, et à l origine de Mancoosi sont désormais largement reconnues: Opium : gestionnaire utilisant un SAT solver pour Linspire Zypp : idem pour OpenSuse Eclipse : idem pour les plugins Eclipse

Conclusions Une nouvelle phase de collaboration entre recherche, Logiciel Libre et industrie: grande complexité du système F/OSS limite des outils ad-hoc préfigure les systèmes complexes de demain rendez-vous dans 3 ans pour les résultats. Plus d info: http://www.mancoosi.org