netbsd operating system: clean code, ports, anykernel, pkgsrc and desktop project

41
1 LibreOffice Productivity Suite NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project Présentée par : K.I.A.Derouiche [email protected] - Algerian IT Security Group

Upload: jihbed

Post on 25-Jun-2015

156 views

Category:

Engineering


6 download

DESCRIPTION

NetBSD évolue constamment avec de nouvelles idées : The AnyKernel, gestionnaire de packages multiplate-formed pkgsrc, outil d'installation de paquet binaire pkgin, NetBSD Desktop project, NetBSD Logical Volume Manager (LVM) .NetBSD Veriexec subsystem, Common Address Redundancy Protocol (CARP) . Cette conférence présentera NetBSD pour en détailler les points clés à travers sa dernière branche 6

TRANSCRIPT

Page 1: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

1LibreOffice Productivity Suite

NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

Présentée par :K.I.A.Derouiche

[email protected] - Algerian IT Security Group

Page 2: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

2LibreOffice Productivity Suite

Moi !

K.I.A.DerouicheUtilisateur NetBSD depuis 2006Actif dans pkgsrc/wip depuis 2008

Page 3: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

3LibreOffice Productivity Suite

Windows

Page 4: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

4LibreOffice Productivity Suite

Linux

Page 5: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

5LibreOffice Productivity Suite

Distribution GNU/Linux

Page 6: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

6LibreOffice Productivity Suite

NetBSD

Page 7: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

7LibreOffice Productivity Suite

Système vs. distribution

GNU/LinuxUn système, plusieurs distributions (Debian, OpenSuse, ArchLinux. . . )

Les mêmes logiciels (noyau, libc. . . ) assortis différemment

NetBSDPosséde une unique distribution

Noyau, sa libc, ses librairies et programmes

Page 8: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

8LibreOffice Productivity Suite

NetBSD

Objectif: portabilité et conception soignée (clean code)

Plus de 50 plateformes supportées (PC, Mac, PDA,stations Sun, HP, IBM, SGI, consoles de jeux, systèmesembarqués

Drivers indépendants de la plateforme

Page 9: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

9LibreOffice Productivity Suite

NetBSD

Système de cross-compilation

Administrateur-friendly plutôt que user-friendly

gratuit, images ISO disponibles en ligne (http, torrent, ftp, ...)

Quelques logiciels externes (sqlite3, lua, OpenSSH. . . )

Page 10: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

10LibreOffice Productivity Suite

NetBSD repose sur la license BSD

Possibilité de redistribution sans les sources

Obligation de mentionner l’origine des sources

Avantage : adoption facilitée pour le monde industriel (ex.TCP/IP)

Ne couvre pas l’ensemble du système (GCC est enGPL. . . )

Page 11: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

11LibreOffice Productivity Suite

Le forking OS

OpenBSD, Séparation de NetBSD en 1994, suite à des conflits internes

EdgeBSD

Page 12: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

12LibreOffice Productivity Suite

Compatibilité binaire

Emulation des appels système

Le noyau se comporte comme se comporterait lenoyau Linux

Le programme fonctionne à pleine vitesse

Ne fonctionne que pour un programme compilé pour leprocesseur

Nombreux OS émulés. Sur NetBSD : Linux,SunOS/Solaris, IRIX, FreeBSD, BSD/OS, SCO UNIX, OSF1

Page 13: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

13LibreOffice Productivity Suite

Echange entre les *BSD Echange entre les *BSD

Page 14: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

14LibreOffice Productivity Suite

Administration

Pure et dure !

Systèmes #administrateur-friendly Le système prend peu d’initiaves, l’administrateur est seul maître à bord

L'administration à travers la séparation des préocuppations !, /etc/ et /usr/pkg (semblale à un environment GNU/Linux)

Système mieux intégré, moins de petits problèmes

Page 15: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

15LibreOffice Productivity Suite

Administration

/etc, /bin/, sbin/, /usr/bin/, /usr/sbin/, /share/*

/usr/pkg/etc/, /usr/pkg/sbin/, /usr/pkg/bin/, /usr/pkg/share/*

/usr/local (c'est le /usr/pkg de FreeBSD)

Page 16: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

16LibreOffice Productivity Suite

Administration

/etc/rc.conf ( fichier de configuration centrale) dans l'esprit 4.4BSD revue

Page 17: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

17LibreOffice Productivity Suite

Modele de développement

Page 18: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

18LibreOffice Productivity Suite

Modele de développement

Une équipe nombreuse développe tout le système

Décisions collégiales et publiques via les listes de diffusion, twitter (notifcation), planet NetBSD

En cas d’absence de consensus : NetBSD-core etFreeBSD-core

Page 19: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

19LibreOffice Productivity Suite

Modele de développement

Nombre de développeur ayant le droit de commit a peu prés 250 commiter

Fondations à but non lucratif

Marketing pas vraiment réuissi par rapport à FreeBSD et OpenBSD

Page 20: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

20LibreOffice Productivity Suite

Communauté (Vous n'etes pas seul !) Communauté (Vous n'etes pas seul !)

Mainling-list ()

Blog ()

Planet ()

Wiki ()

Twitter ()

Page 21: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

21LibreOffice Productivity Suite

Ports...

.

Page 22: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

22LibreOffice Productivity Suite

Ports

Les architectures matériels supportée par NetBSD sont appelle port ( platforme pour les autres systemes)

Communauté de développeurs réactive sur les mailing lists (ports-*, tech-ports, netbsd-ports)

Licence BSD, pas d’obligation de publier les source

Les sources sont souvent rendues publiques ultérieurement

Page 23: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

23LibreOffice Productivity Suite

Ports

Les architectures matériels supportée par NetBSD sont appelle port ( platforme pour les autres systemes)

Communauté de développeurs réactive sur les mailing lists (ports-*, tech-ports, netbsd-ports)

Licence BSD, pas d’obligation de publier les source

Les sources sont souvent rendues publiques ultérieurement

Page 24: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

24LibreOffice Productivity Suite

NetBSD/evbarm

Page 25: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

25LibreOffice Productivity Suite

L'embarqué (suite)

Drivers indépendants de la plateforme, Cross-compilation

Communauté de développeurs active sur les mailing lists (ports-*, tech-ports, netbsd-ports)

Licence BSD, pas d’obligation de publier les sources

Les sources sont souvent rendues publiques ultérieurement

NetBSD 6.x: Support des processeurs MIPS64, Cortex A8 d'ARM et Nokia N900

Page 26: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

26LibreOffice Productivity Suite

Lua Lua

Il est maintenant possible d'executer ou appelé

Page 27: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

27LibreOffice Productivity Suite

RoadmapsRoadmaps

Page 28: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

28LibreOffice Productivity Suite

AnyKernel AnyKernel

Here is space for your content …Some hints:

Use the master pages being the basis for the default slidesIt would be useful to add your presentation title to the footer. Add it via Insert – Page Number … – FooterUse the LibreOffice Color Palette delivered with LibreOffice (libreoffice.soc)

Page 29: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

29LibreOffice Productivity Suite

Google Summer of Code Google Summer of Code

Debut Some hints:

Use the master pages being the basis for the default slidesIt would be useful to add your presentation title to the footer. Add it via Insert – Page Number … – FooterUse the LibreOffice Color Palette delivered with LibreOffice (libreoffice.soc)

Page 30: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

30LibreOffice Productivity Suite

La sécuritéLa sécurité

On peut commencer par securelevel (pour les fénents)

Bonne réactivité face aux problèmes de sécurité dans tousles cas (effets communauté)

Formule gagnante : système réduit et peu connu donc peuciblé donc BSD (séduction !)

Formule encore plus gagnante : système que l’on maîtrise (séparation des préocuppations )

Page 31: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

31LibreOffice Productivity Suite

Les moyens de sécuritésLes moyens de sécurités

kauth

NPF (Nouveau)

Systrace (importé d'OpenBSD)

Page 32: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

32LibreOffice Productivity Suite

#pkgsrc Framework

Page 33: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

33LibreOffice Productivity Suite

#pkgsrc Framework

pkgsrc est le portage des ports de FreeBSD vers NetBSD

Compilation à partir du code source. Mise à jours, création, installation et deinstallation de paquets binaires et sources

Page 34: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

34LibreOffice Productivity Suite

#pkgsrc Framework

Eviter les installations sauvages

Gestion des licences de logiciel tiers (pkgsrc/licenses)

Le framework est écrit en shell (sh), awk, commande Unix (make, sed, pax,...) , un peu de code C.

Gestionnaire de paquet par defaut pour: DragonFlyBSD, MiroBSD et EdgeBSD

Portage vers : AIX, Darwin, FreeBSD, Irix, Linux, NetBSD, OpenBSD, OpenSolaris, les distribution Linux(OpenSuse, Debian, Fedora, …)

Page 35: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

35LibreOffice Productivity Suite

Un projet actif

Page 36: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

36LibreOffice Productivity Suite

Un mot sur pkgin: Installation des paquets binaires https://github.com/NetBSDfr/pkgin

pkgin (projet) inspirée de apt/yum, écrit par imil , gére uniquement les paquets binaires.

pkgin:

Il suffit de telecharger pkg_summary.db

Facile à utiliser: pkgin –help -:)

Remplace pkg_add, pkg_delete.

Mise à jours de paquets binaires

Page 37: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

37LibreOffice Productivity Suite

Emulation *-bin

$ ls /usr/pkgsrc/misc libreoffice4 libreoffice4-bin

Installation de dépendance: /usr/pkgsrc/emulators/suse_1xy

Ajouter la ligne procfs /emul/linux/proc procfs rw,linux dans /etc/fstb

Page 38: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

38LibreOffice Productivity Suite

Un mot sur 'NetBSD Desktop Project'Un mot sur 'NetBSD Desktop Project'

Un projet ayant pour objectif de concevoir un bureau complet et simple d’utilisation à base de l’enviromment GNOME

Rendre l'utilisation de NetBSD plus facile, une installation à partir du simple click trés bon début pour GNOME 3.X ~ 4.X

Pour l'instant l'architecture cible est la platforme x86/AMD64

Page 39: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

39LibreOffice Productivity Suite

Un mot sur 'NetBSD Desktop Project' Un mot sur 'NetBSD Desktop Project' (suite)(suite)

Page 40: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

40LibreOffice Productivity Suite

Conclusion

Here is space for your content …Some hints:

Use the master pages being the basis for the default slidesIt would be useful to add your presentation title to the footer. Add it via Insert – Page Number … – FooterUse the LibreOffice Color Palette delivered with LibreOffice (libreoffice.soc)

Page 41: NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop project

41LibreOffice Productivity Suite

Fin !

Here is space for your content …Some hints:

Use the master pages being the basis for the default slidesIt would be useful to add your presentation title to the footer. Add it via Insert – Page Number … – FooterUse the LibreOffice Color Palette delivered with LibreOffice (libreoffice.soc)