Expliquer BSD

Expliquer BSD

Greg Lehey

Version: 43184

FreeBSD is a registered trademark of
the FreeBSD Foundation.

AMD, AMD Athlon,
AMD Opteron, AMD Phenom, AMD Sempron, AMD Turion, Athlon, Élan, Opteron, and PCnet are
trademarks of Advanced Micro Devices, Inc.

Apple, AirPort, FireWire,
iMac, iPhone, iPad,
Mac, Macintosh, Mac OS,
Quicktime, and TrueType are trademarks of Apple Inc.,
registered in the U.S. and other countries.

Intel, Celeron, Centrino, Core, EtherExpress, i386,
i486, Itanium, Pentium, and Xeon are trademarks or registered
trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.

Linux is a registered trademark of
Linus Torvalds.

Motif, OSF/1, and UNIX are
registered trademarks and IT DialTone and The Open Group are
trademarks of The Open Group in the United States and other
countries.

SPARC, SPARC64, and
UltraSPARC are trademarks of SPARC International, Inc in the United
States and other countries. SPARC International, Inc owns all of the
SPARC trademarks and under licensing agreements allows the proper use
of these trademarks by its members.

Sun, Sun Microsystems, Java, Java
Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK,
Solaris, StarOffice, SunOS
and VirtualBox are trademarks or registered trademarks of
Sun Microsystems, Inc. in the United States and other countries.

UNIX is a registered trademark of The
Open Group in the United States and other countries.

XFree86 is a trademark of The
XFree86 Project, Inc.

Many of the designations used by
manufacturers and sellers to distinguish their products are claimed
as trademarks. Where those designations appear in this document,
and the FreeBSD Project was aware of the trademark claim, the
designations have been followed by the « » or the
« ® » symbol.

2013-11-13 07:52:45 par hrs.
Résumé

Dans le monde du logiciel libre « Linux » est
quasiment synonyme de « Système
d'Exploitation
»
, mais il n'est pas le seul
système d'exploitation de type UNIX® Open Source.
Selon l'Internet
Operating System Counter
, en avril 1999, 31.3% des
ordinateurs connectés à l'Internet utilisaient
Linux® alors que 14.6% utilisaient un UNIX® BSD.
Quelques-unes des plus grandes sociétés du Web,
telles que Yahoo!,
utilisent un système d'exploitation BSD. En 1999, le
serveur FTP le plus utilisé ftp.cdrom.com (aujourd'hui
disparu), utilisait BSD pour transférer 1.4 TB de
données par jour. Il ne s'agit clairement pas d'un
marché de niche: BSD est un secret bien
gardé.

Mais quel est ce secret? Pourquoi BSD n'est il pas mieux
connu? Ce document traite de cette question et de bien
d'autres.

Dans ce texte, les différences entre BSD et Linux
seront indiquées comme
ceci
.

Version française de Rodrigo Osorio
,
Maxime Derche
et Thierry Thomas


1. Qu'est-ce que BSD?

BSD signifie « Berkeley Software Distribution »
(ou « Distribution logicielle de Berkeley »). C'est
le nom donné aux distributions de code source provenant
de l'Université de Californie, située à
Berkeley; ces distributions était à l'origine, une
extension du système d'exploitation UNIX® AT&T.
Plusieurs projets de systèmes d'exploitation Open Source
sont basés sur une version de ce code connue sous le nom
de 4.4BSD-Lite. De plus, elle est composée
d'éléments issus d'autres projets Open Source, y
compris ceux du projet GNU. Le système d'exploitation
complet comprend:

  • Le noyau BSD, qui prends en charge l'ordonnancement des
    processus, la gestion de la mémoire, la gestion des
    multi-processeurs (SMP), les pilotes de
    périphériques, etc.

    A la différence du noyau Linux, il
    existe plusieurs noyaux BSD avec des possibilités
    différentes.

  • La bibliothèque C, c'est à dire
    l'interface de programmation de base du système.

    La bibliothèque C BSD est basée
    sur du code provenant de Berkeley, et non sur celui du
    projet GNU.

  • Des utilitaires tels que l'interpréteur de
    commandes, des applications de gestion de fichiers, des
    compilateurs et des éditeurs de liens.

    Certains utilitaires sont
    dérivés du projet GNU, d'autres
    pas.

  • Le système X Window, qui prend en charge
    l'affichage graphique.

    Le système X Window utilisé dans la
    plupart des BSD est maintenu par l'un de ces deux projets
    indépendants: le projet XFree86 ou le
    projet X.Org. C'est
    le même code utilisé par Linux.
    Généralement, BSD ne définit pas un
    « bureau graphique » spécifique tels que
    GNOME ou
    KDE, bien que ces derniers soient
    disponibles.

  • D'autres programmes et utilitaires.

2. Quoi, un vrai système UNIX®?

Les systèmes d'exploitation BSD ne sont pas des
clones, mais des dérivés Open Source du
système d'exploitation UNIX® issus des laboratoires de
recherche de AT&T, qui est lui-même un ancêtre
de l'actuel UNIX® System V. Ceci peut vous surprendre.
Comment cela a t-il pu se produire alors qu'AT&T n'a jamais
fourni son code en Open Source?

Il est vrai que le système UNIX® d'AT&T n'est
pas Open Source, et si l'on s'en tient strictement au point de
vue de la propriété intellectuelle alors BSD n'est
pas un UNIX® mais, d'un autre coté,
AT&T a intégré des sources provenant d'autres
projets, et plus particulièrement ceux du « Computer
Sciences Research Group
»
(CSRG) de l'Université de
Californie, à Berkeley. A partir de 1976, le CSRG
à commencé à distribuer les bandes de son
logiciel sous le nom de Berkeley Software
Distribution
ou BSD.

Les premières versions se composaient essentiellement
d'applications utilisateur, mais cela changea radicalement
lorsque le CSRG obtins un contrat avec le « Defense
Advanced Projects Research Agency
»
(DARPA) pour faire
évoluer les protocoles de communication sur leur
réseau, ARPANET. Les nouveaux protocoles se firent
connaître sous le nom de Protocoles
Internet
, puis, TCP/IP
d'après plus importants protocoles de l'ensemble. La
première implémentation ayant fait l'objet d'une
large distribution fut celle de 4.2BSD, en 1982.

Au cours des années 1980, un grand nombre de
fabricants de stations de travail sont apparus. La plupart
préféraient acheter des licences UNIX®
plutôt que de développer leur propre système
d'exploitation. En particulier, Sun Microsystems acheta une
licence UNIX® et implémenta une version de 4.2BSD,
appelée SunOS™. Lorsque AT&T fut autorisée
à exploiter commercialement UNIX®, elle commença
avec une implémentation réduite à
l'essentiel appelée System III, rapidement suivie par la
version System V. Le code de System V ne comprenait pas de
gestion réseau, de sorte que toutes les
implémentations incluaient des logiciels additionnels
issus de BSD, y compris les applications gérant TCP/IP,
mais également des utilitaires tels que
l'interpréteur de commandes csh et
l'éditeur vi. Ensemble, ces
améliorations, étaient connues comme étant
les Extensions Berkeley.

Les bandes BSD contenaient du code source d'AT&T et, par
conséquent, nécessitaient une licence source
UNIX®. Vers 1990, les finances du CSRG
s'épuisèrent et le groupe fut dissout. Quelques
membres décidèrent alors de fournir le code BSD,
qui était Open Source, sans le code propriétaire
d'AT&T. Ceci donna la Networking Tape
2
, aussi connue sous le nom
Net/2. Net/2 n'était pas un
système d'exploitation complet: environs 20% du code du
noyau manquait. L'un des membres du CSRG, William F. Jolitz,
écrivit le code manquant et le publia au début de
l'année 1992 sous le nom 386BSD. Au
même moment, un groupe d'anciens membres du CSRG,
créa une entreprise nommée Berkeley Software Design Inc.
qui publia une version bêta d'un système
d'exploitation nommé BSD/386, basé sur le
même code source. Le nom du système d'exploitation
sera changé plus tard en BSD/OS.

386BSD ne devint jamais un système d'exploitation
stable. Mais deux autres projets dérivés
apparurent dès 1993: NetBSD et FreeBSD. La divergence
originelle entre ces deux projets s'explique par le fait que
certains furent plus patients que d'autres dans l'attente
d'améliorations de 386BSD: le groupe NetBSD
commença dès le debut de l'année, alors que
la première version de FreeBSD ne fut pas disponible
avant la fin de l'année. Entre temps, les codes avaient
suffisamment divergés qu'une fusion paraissait difficile.
De plus, les projets avaient des objectifs différents,
comme nous le verrons par la suite. En 1996, OpenBSD dériva de
NetBSD et, en 2003, DragonFlyBSD
dériva de FreeBSD.

3. Pourquoi BSD n'est-il pas mieux connu?

Un certain nombre de raisons font que BSD reste relativement
inconnu:

  1. Les développeurs BSD portent souvent plus
    d'intérêt à l'amélioration de
    leur code qu'à sa promotion.

  2. Une grande partie de la popularité de Linux est
    due à des facteurs extérieurs au projet, tels
    que la presse, ou les sociétés
    créées pour vendre des services liés
    à Linux. Jusqu'à récemment, les
    systèmes BSD Open Source n'avaient pas de tels
    partisans.

  3. Les développeurs BSD ont tendance à
    être plus expérimentés que les
    développeurs Linux et ressentent moins le besoin de
    réaliser un système simple à utiliser.
    Les nouveaux venus on donc tendance à se sentir plus
    à l'aise avec Linux.

  4. En 1992, AT&T poursuivit en justice BSDI, la
    société qui commercialisait BSD/386, en
    prétendant que son produit utilisait du code source
    dont la propriété intellectuelle revenait
    à AT&T. L'affaire a été
    réglée à l'amiable en 1994, mais le
    spectre de ce litige à continué à
    hanter les esprits. Pas plus tard qu'en mars 2000, un
    article publié sur le Web prétendait que cette
    affaire n'avait été que
    « récemment réglée ».

    Un des points que ce procès a bien
    clarifié est la question du nom: dans les
    années 1980, BSD était connu comme « BSD
    UNIX®
    »
    . Avec la suppression des derniers vestiges
    de son code AT&T, BSD a également perdu le droit
    de s'appeler UNIX®. Ainsi, vous pourrez voir des livres
    dont le titre fait référence au
    « système d'exploitation UNIX® 4.3BSD »
    et au « système d'exploitation
    4.4BSD
    »
    .

  5. Il existe une idée selon laquelle les projets BSD
    seraient fragmentés et concurrents. Le Wall
    Street Journal
    a même parlé d'une
    « balkanisation » des projets BSD. Tout comme
    les poursuites judiciaires, cette perception se base sur de
    vieilles histoires.

4. Comparer BSD et Linux

Mais quelle est la vraie différence entre, disons,
Debian Linux et FreeBSD? Pour l'utilisateur moyen, la
différence est étonnamment faible: tous les deux
sont des systèmes d'exploitation UNIX®. Tous deux sont
développés par des projets non commerciaux (ceci
ne s'applique pas à de nombreuses autres distributions
Linux). Dans la section qui suit, nous étudierons les
systèmes BSD et les comparerons à Linux. La
description s'applique plus particulièrement à
FreeBSD, qui représente environs 80% des systèmes
BSD installés, mais les différences avec NetBSD,
OpenBSD et DragonFlyBSD sont minces.

4.1. A qui appartient BSD?

Aucune personne ou société n'est
propriétaire de BSD. BSD est créé et
distribué par une communauté de contributeurs
impliqués et d'une grande expertise technique,
situés partout dans le monde. Quelques composants de
BSD sont issus d'autres projets Open Source,
gérés par d'autres personnes.

4.2. Comment BSD est-il développé et mis
à jour?

Les noyaux BSD sont développés et mis
à jour suivant les modèle de
développement de l'Open Source. Chaque projet
maintient un arbre des sources publique
et accessible au moyen de Concurrent Versions System
(CVS), un système de gestion de version, qui
maintient l'ensemble des fichiers du projet, y compris la
documentation ainsi que d'autres fichiers. CVS permet aux
utilisateurs de faire un « check out » (extraire
une copie) de n'importe quelle version du
système.

Un grand nombre de développeurs à travers le
monde contribuent à l'amélioration de BSD. Ils
sont divisés en trois catégories:

  • Les contributeurs
    écrivent le code ou la documentation. Ils ne sont
    pas autorisés à « commiter »
    (ajouter du code) directement dans l'arbre des sources.
    Pour que leur code soit intégré au
    système, il doit être examiné et
    contrôlé par un développeur
    enregistré, connu en tant que
    committer.

  • Les committers sont des
    développeurs qui ont un droit d'écriture
    dans l'arbre des sources. Pour devenir committer, une
    personne doit démontrer ses compétences dans
    le domaine où elle travaille.

    Il est à la discrétion du committer de
    déterminer si il doit obtenir l'autorisation avant
    d'intégrer des changements dans l'arbre des
    sources. En général, un committer
    expérimenté a la possibilité de faire
    des changements qui sont manifestement corrects sans qu'un
    consensus soit nécessaire. Par exemple, un
    committer du projet de documentation peut corriger des
    erreurs typographiques ou grammaticales sans relecture.
    D'un autre côté, les développeurs
    effectuant des changements complexes d'une grande
    portée sont supposés soumettre leur code
    pour relecture avant de l'intégrer. Dans des cas
    extrêmes, un membre de la « core team »
    (équipe de base) avec le titre d'architecte
    principal peut exiger que les changements soient
    retirés de l'arbre des sources, un processus connu
    sous le nom de backing out. Tous
    les committers reçoivent des courriers
    électroniques décrivant chaque modification,
    il est donc impossible de d'effectuer des changements de
    manière secrète.

  • La Core team (équipe de
    base). Les projets FreeBSD et NetBSD ont chacun une
    équipe de base qui gère le projet. Ces
    équipes ont été constituées
    dans le cadre des projets, et leur rôle n'est pas
    toujours bien défini. Il n'est pas
    nécessaire d'être un développeur pour
    être membre de la core team, bien que cela semble
    normal. Les règles de cette équipe varient
    d'un projet à l'autre, mais ses membres ont une
    parole plus forte dans la direction du projet que les
    autres développeurs ne faisant pas partie de cette
    équipe.

Cette organisation diffère de celle de Linux sur de
nombreux points:

  1. Aucune personne ne contrôle à elle seule
    le contenu du système. En pratique, cette
    différence est surévaluée, puisque
    l'architecte en chef peut exiger que du code soit
    retiré, de même que sur le projet Linux
    plusieurs personnes sont autorisées à
    effectuer des changements.

  2. D'un autre côté, il y a
    un dépôt central, un
    emplacement unique ou vous pouvez trouver l'ensemble des
    sources du système, y compris toutes les anciennes
    versions.

  3. Les projets BSD maintiennent l'ensemble du
    « Système d'Exploitation », pas
    seulement le noyau. Cette distinction est peu utile: ni
    BSD ni Linux ne sont utiles sans applications. Les
    applications utilisées avec BSD sont bien souvent
    les mêmes que celles utilisées avec
    Linux.

  4. En raison de la maintenance structurée d'un
    seul arbre des sources sous CVS, le développement
    de BSD est clair, et il est possible d'accéder
    à n'importe quelle version du système au
    travers de son numéro de version de publication, ou
    par date. CVS permets également une mise à
    jour incrémentale du système: par exemple,
    le dépôt des sources est mis à jour
    près de 100 fois par jour. La plupart de ces
    changements sont mineurs.

4.3. La publication des versions (« releases ») de
BSD

FreeBSD, NetBSD et OpenBSD fournissent le système
en trois différentes « versions »
(« releases »). Tout comme Linux, chaque version
se voit assigner un numéro tel que 1.4.1 ou 3.5. De
plus, le numéro de version possède un suffixe
indiquant son objectif:

  1. La version de développement du système
    est appelée CURRENT.
    FreeBSD assigne un numéro à la version
    CURRENT, par exemple FreeBSD 5.0-CURRENT. NetBSD emploie
    une méthode de nommage légèrement
    différente et appose un suffixe d'une seule lettre
    qui indique des changements dans l'interface interne, par
    exemple NetBSD 1.4.3G. OpenBSD n'assigne pas de
    numéro (« OpenBSD-current »). Tous les
    nouveaux développements du système vont dans
    cette branche.

  2. A intervalles réguliers, environs deux à
    quatre fois par an, les projets sortent une version
    RELEASE du système, qui est
    disponible sur CD-ROM et gratuitement
    téléchargeable sur les sites FTP, par
    exemple OpenBSD 2.6-RELEASE ou NetBSD 1.4-RELEASE. La
    version RELEASE est destinée aux utilisateurs
    finaux et est la version normale du système.
    NetBSD fournit également des correctifs
    de release
    avec un troisième chiffre,
    par exemple NetBSD 1.4.2.

  3. Si des bogues sont découverts dans une version
    RELEASE, ils sont corrigés, et les correctifs sont
    incorporés à l'arbre des sources CVS. Sous
    FreeBSD, la version résultante est appelée
    version STABLE, alors que NetBSD et
    OpenBSD continuent à l'appeler version RELEASE.
    Des fonctions mineures peuvent aussi être
    ajoutées à la branche après une
    période de test dans la branche CURRENT.

Par contraste, Linux maintient deux
arborescences de code séparées: la version
stable et la version de développement. La version
stable est nommée avec un numéro de version
mineur pair, tel que 2.0, 2.2 or 2.4. La version de
développement est quant à elle nommée
avec un numéro de version mineur impair, tel que 2.1,
2.3 ou 2.5. Dans chaque cas, ce numéro est suivi par
un numéro supplémentaire déterminant la
version exacte. Chaque distributeur ajoute en outre ses
propres utilitaires et applications utilisateur, ce qui fait
que le nom de la distribution est tout aussi important.
Chaque fournisseur de distribution assigne des
numéros de version à sa distribution; ainsi,
une description complète ressemble à quelque
chose comme « TurboLinux 6.0 avec le noyau
2.2.14
»
.

4.4. Quelles sont les versions de BSD disponibles?

En contraste avec le grand nombre de distributions Linux,
il n'y a que quatre BSD Open Source. Chaque projet BSD
maintient sa propre arborescence des sources et son propre
noyau. En pratique, cependant, il y a moins de divergences
dans le code de base de ces différents projets que dans
Linux.

Il est difficile de classer les objectifs de chaque
projet: les différences sont très subjectives.
Fondamentalement,

  • FreeBSD vise les hautes performances et la
    simplicité d'utilisation pour l'utilisateur final;
    il est l'un des système d'exploitation favoris des
    fournisseurs de contenu sur le Web. Il fonctionne sur de
    nombreuses plate-formes, incluant les systèmes
    basés sur les processeurs i386
    (« PC »), AMD 64-bit, UltraSPARC®, Compaq
    Alpha et les systèmes de type NEC PC-98. Le projet
    FreeBSD a beaucoup plus d'utilisateurs que les autres
    projets.

  • NetBSD vise la portabilité maximale: son slogan
    est « of course it runs NetBSD » (« bien
    sur ça tourne sous NetBSD
    »
    ). Il fonctionne
    aussi bien sur des ordinateurs de poche que sur des gros
    serveurs, et a été utilisé par la
    NASA dans le cadre de missions spatiales. C'est un
    très bon choix pour fonctionner sur du vieux
    matériel non-Intel®.

  • OpenBSD vise la sécurité et la
    pureté du code: il emploie une combinaison de
    concepts Open Source et une relecture rigoureuse du code
    pour créer un système qui est manifestement
    bon, et qui, de fait, est le choix
    privilégié des organismes conscients des
    aspects de sécurité, tels que les banques,
    les bourses de valeurs et les ministères du
    gouvernement des Etats-Unis d'Amérique. Tout comme
    NetBSD, il fonctionne sur de nombreuses
    plate-formes.

  • DragonFlyBSD vise les hautes performances et la
    montée en charge sur n'importe quel système
    depuis le système mono-processeur jusqu'au
    système massivement parallélisé.
    DragonFlyBSD a plusieurs objectifs techniques à
    long terme, mais est essentiellement axé sur la
    fourniture d'un système pour les architectures
    symétriques (SMP) qui soit facile à
    comprendre, à maintenir, et pour lequel il serait
    simple de développer.

Il existe deux autres systèmes d'exploitation
UNIX® BSD qui ne sont pas Open Source: BSD/OS et Mac OS® X
d'Apple:

  • BSD/OS est le plus ancien des dérivés de
    4.4 BSD. Il n'est pas Open Source, bien que le code source
    soit disponible à un coût relativement
    faible. Il ressemble à FreeBSD sur plusieurs
    aspects. Deux ans après l'acquisition de BSDi par
    Wind River Systems, BSD/OS échoua dans sa tentative
    d'exister en tant que produit indépendant. Le
    support et le code sont encore disponibles chez Wind
    River, mais tous les nouveaux développements se
    concentrent sur le système d'exploitation
    embarqué VxWorks.

  • Mac OS®
    X
    est la dernière version du système
    d'exploitation pour les ordinateurs de la lignée
    Macintosh® d'Apple
    Computer Inc.
    . Le cœur BSD de ce
    système d'exploitation, Darwin,
    est disponible sous la forme d'un système
    d'exploitation totalement fonctionnel pour les ordinateurs
    x86 et PPC. Le système graphique Aqua/Quartz et
    plusieurs autres éléments
    propriétaires de Mac OS® X restent cependant
    à sources fermées. Plusieurs
    développeurs de Darwin sont aussi des committers de
    FreeBSD, et vice-versa.

4.5. En quoi la licence BSD diffère-t-elle de la
licence publique GNU?

Linux est disponible sous licence GNU General Public
License
(GPL), qui a été conçue
pour éliminer les logiciels à code source
fermé. En particulier, tout travail
dérivé d'un produit fourni sous licence GPL doit
également être fourni avec son code source si ce
dernier est demandé. A contrario, la licence
BSD
est moins restrictive: la distribution des
binaires seuls est autorisée. Ceci est
particulièrement attrayant pour des applications
embarquées.

4.6. Que dois-je savoir d'autre?

Dans la mesure où moins d'applications sont
disponibles pour BSD que pour Linux, les développeurs
BSD ont créé un système de
compatibilité avec Linux, qui permet aux programmes
Linux de fonctionner sous BSD. Le système inclut
à la fois des modifications au niveau du noyau, afin
que les appels systèmes Linux se fassent correctement,
et les fichiers de compatibilité Linux, tels que la
bibliothèque C. Il n'y a pas de différence
notable au niveau de la vitesse entre une application Linux
exécutée sur une machine Linux et une
application Linux exécutée sur une machine BSD
de puissance équivalente.

De part sa nature « tout provient d'un même
fournisseur
»
, BSD jouit du fait que les mises à
jour sont plus faciles à réaliser que dans bien
des cas avec Linux. BSD gère la mise à jour des
versions des bibliothèques en fournissant de modules de
compatibilité pour des versions de bibliothèques
plus anciennes; il est donc possible d'exécuter des
binaires vieux de plusieurs années sans aucun
problème.

4.7. Lequel dois-je utiliser, BSD ou Linux?

Qu'est-ce que cela signifie en pratique? Qui devrait
utiliser BSD et qui devrait utiliser Linux?

Il est très difficile de répondre à
cette question. Voici quelques éléments de
réponse:

  • « Si ce n'est pas cassé, ne le
    réparez pas
    »
    : Si vous utilisez
    déjà un système d'exploitation Open
    Source, et que vous en êtes content, alors il n'y a
    probablement aucune bonne raison d'en changer.

  • Les systèmes BSD, et plus
    particulièrement FreeBSD, peuvent avoir de
    performances notablement supérieures à
    Linux. Mais pas sur tous les points. Dans la plupart des
    cas, il y a peu ou pas de différences. Dans
    certains cas, Linux peut avoir de meilleures performances
    que FreeBSD.

  • En général, les systèmes BSD sont
    réputés plus fiables, en grande partie en
    raison d'un code de base plus mature.

  • Les projets BSD ont une meilleure réputation en
    raison de la qualité et l'exhaustivité de
    leur documentation. Les divers projets de documentation
    tentent de fournir une documentation constamment mise
    à jour, en différentes langues, et traitant
    de tous les aspects du système.

  • La licence BSD peut être plus attractive que la
    GPL.

  • BSD peut exécuter la plupart des binaires
    Linux, alors que Linux ne peut pas executer les binaires
    BSD. Plusieurs implémentations de BSD peuvent
    exécuter les binaires issus d'autres
    systèmes UNIX®. BSD peut donc représenter
    une voie de migration plus simple depuis les autres
    systèmes que ne pourrait l'être Linux.

4.8. Qui fournit du support, des services, et de la formation
pour BSD?

BSDi / FreeBSD
Mall, Inc.
fournit du support pour FreeBSD depuis
près de 10 ans.

En plus, chacun des projets dispose d'une liste de
consultants à embaucher: FreeBSD,
NetBSD,
et OpenBSD.

Expliquer BSD


Expliquer BSD

Greg Lehey

Version: 43184
2013-11-13 07:52:45 par hrs.
Résumé
Dans le monde du logiciel libre « Linux » est quasiment synonyme de « Système d'Exploitation », mais il n'est pas le seul système d'exploitation de type UNIX® Open Source. Selon l'Internet Operating System Counter, en avril 1999, 31.3% des ordinateurs connectés à l'Internet utilisaient Linux® alors que 14.6% utilisaient un UNIX® BSD. Quelques-unes des plus grandes sociétés du Web, telles que Yahoo!, utilisent un système d'exploitation BSD. En 1999, le serveur FTP le plus utilisé ftp.cdrom.com (aujourd'hui disparu), utilisait BSD pour transférer 1.4 TB de données par jour. Il ne s'agit clairement pas d'un marché de niche: BSD est un secret bien gardé.
Mais quel est ce secret? Pourquoi BSD n'est il pas mieux connu? Ce document traite de cette question et de bien d'autres.
Dans ce texte, les différences entre BSD et Linux seront indiquées comme ceci.
Version française de Rodrigo Osorio , Maxime Derche et Thierry Thomas
[ Multiples pages HTML / Page HTML unique ]

1. Qu'est-ce que BSD?

BSD signifie « Berkeley Software Distribution » (ou « Distribution logicielle de Berkeley »). C'est le nom donné aux distributions de code source provenant de l'Université de Californie, située à Berkeley; ces distributions était à l'origine, une extension du système d'exploitation UNIX® AT&T. Plusieurs projets de systèmes d'exploitation Open Source sont basés sur une version de ce code connue sous le nom de 4.4BSD-Lite. De plus, elle est composée d'éléments issus d'autres projets Open Source, y compris ceux du projet GNU. Le système d'exploitation complet comprend:
  • Le noyau BSD, qui prends en charge l'ordonnancement des processus, la gestion de la mémoire, la gestion des multi-processeurs (SMP), les pilotes de périphériques, etc.
    A la différence du noyau Linux, il existe plusieurs noyaux BSD avec des possibilités différentes.
  • La bibliothèque C, c'est à dire l'interface de programmation de base du système.
    La bibliothèque C BSD est basée sur du code provenant de Berkeley, et non sur celui du projet GNU.
  • Des utilitaires tels que l'interpréteur de commandes, des applications de gestion de fichiers, des compilateurs et des éditeurs de liens.
    Certains utilitaires sont dérivés du projet GNU, d'autres pas.
  • Le système X Window, qui prend en charge l'affichage graphique.
    Le système X Window utilisé dans la plupart des BSD est maintenu par l'un de ces deux projets indépendants: le projet XFree86 ou le projet X.Org. C'est le même code utilisé par Linux. Généralement, BSD ne définit pas un « bureau graphique » spécifique tels que GNOME ou KDE, bien que ces derniers soient disponibles.
  • D'autres programmes et utilitaires.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.

Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
Expliquer BSD
   Suivant

2. Quoi, un vrai système UNIX®?


2. Quoi, un vrai système UNIX®?

Les systèmes d'exploitation BSD ne sont pas des clones, mais des dérivés Open Source du système d'exploitation UNIX® issus des laboratoires de recherche de AT&T, qui est lui-même un ancêtre de l'actuel UNIX® System V. Ceci peut vous surprendre. Comment cela a t-il pu se produire alors qu'AT&T n'a jamais fourni son code en Open Source?
Il est vrai que le système UNIX® d'AT&T n'est pas Open Source, et si l'on s'en tient strictement au point de vue de la propriété intellectuelle alors BSD n'est pas un UNIX® mais, d'un autre coté, AT&T a intégré des sources provenant d'autres projets, et plus particulièrement ceux du « Computer Sciences Research Group » (CSRG) de l'Université de Californie, à Berkeley. A partir de 1976, le CSRG à commencé à distribuer les bandes de son logiciel sous le nom de Berkeley Software Distribution ou BSD.
Les premières versions se composaient essentiellement d'applications utilisateur, mais cela changea radicalement lorsque le CSRG obtins un contrat avec le « Defense Advanced Projects Research Agency » (DARPA) pour faire évoluer les protocoles de communication sur leur réseau, ARPANET. Les nouveaux protocoles se firent connaître sous le nom de Protocoles Internet, puis, TCP/IP d'après plus importants protocoles de l'ensemble. La première implémentation ayant fait l'objet d'une large distribution fut celle de 4.2BSD, en 1982.
Au cours des années 1980, un grand nombre de fabricants de stations de travail sont apparus. La plupart préféraient acheter des licences UNIX® plutôt que de développer leur propre système d'exploitation. En particulier, Sun Microsystems acheta une licence UNIX® et implémenta une version de 4.2BSD, appelée SunOS™. Lorsque AT&T fut autorisée à exploiter commercialement UNIX®, elle commença avec une implémentation réduite à l'essentiel appelée System III, rapidement suivie par la version System V. Le code de System V ne comprenait pas de gestion réseau, de sorte que toutes les implémentations incluaient des logiciels additionnels issus de BSD, y compris les applications gérant TCP/IP, mais également des utilitaires tels que l'interpréteur de commandes csh et l'éditeur vi. Ensemble, ces améliorations, étaient connues comme étant les Extensions Berkeley.
Les bandes BSD contenaient du code source d'AT&T et, par conséquent, nécessitaient une licence source UNIX®. Vers 1990, les finances du CSRG s'épuisèrent et le groupe fut dissout. Quelques membres décidèrent alors de fournir le code BSD, qui était Open Source, sans le code propriétaire d'AT&T. Ceci donna la Networking Tape 2, aussi connue sous le nom Net/2. Net/2 n'était pas un système d'exploitation complet: environs 20% du code du noyau manquait. L'un des membres du CSRG, William F. Jolitz, écrivit le code manquant et le publia au début de l'année 1992 sous le nom 386BSD. Au même moment, un groupe d'anciens membres du CSRG, créa une entreprise nommée Berkeley Software Design Inc. qui publia une version bêta d'un système d'exploitation nommé BSD/386, basé sur le même code source. Le nom du système d'exploitation sera changé plus tard en BSD/OS.
386BSD ne devint jamais un système d'exploitation stable. Mais deux autres projets dérivés apparurent dès 1993: NetBSD et FreeBSD. La divergence originelle entre ces deux projets s'explique par le fait que certains furent plus patients que d'autres dans l'attente d'améliorations de 386BSD: le groupe NetBSD commença dès le debut de l'année, alors que la première version de FreeBSD ne fut pas disponible avant la fin de l'année. Entre temps, les codes avaient suffisamment divergés qu'une fusion paraissait difficile. De plus, les projets avaient des objectifs différents, comme nous le verrons par la suite. En 1996, OpenBSD dériva de NetBSD et, en 2003, DragonFlyBSD dériva de FreeBSD.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.

Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
2. Quoi, un vrai système UNIX®?
Précédent   Suivant

3. Pourquoi BSD n'est-il pas mieux connu?


3. Pourquoi BSD n'est-il pas mieux connu?

Un certain nombre de raisons font que BSD reste relativement inconnu:
  1. Les développeurs BSD portent souvent plus d'intérêt à l'amélioration de leur code qu'à sa promotion.
  2. Une grande partie de la popularité de Linux est due à des facteurs extérieurs au projet, tels que la presse, ou les sociétés créées pour vendre des services liés à Linux. Jusqu'à récemment, les systèmes BSD Open Source n'avaient pas de tels partisans.
  3. Les développeurs BSD ont tendance à être plus expérimentés que les développeurs Linux et ressentent moins le besoin de réaliser un système simple à utiliser. Les nouveaux venus on donc tendance à se sentir plus à l'aise avec Linux.
  4. En 1992, AT&T poursuivit en justice BSDI, la société qui commercialisait BSD/386, en prétendant que son produit utilisait du code source dont la propriété intellectuelle revenait à AT&T. L'affaire a été réglée à l'amiable en 1994, mais le spectre de ce litige à continué à hanter les esprits. Pas plus tard qu'en mars 2000, un article publié sur le Web prétendait que cette affaire n'avait été que « récemment réglée ».
    Un des points que ce procès a bien clarifié est la question du nom: dans les années 1980, BSD était connu comme « BSD UNIX® ». Avec la suppression des derniers vestiges de son code AT&T, BSD a également perdu le droit de s'appeler UNIX®. Ainsi, vous pourrez voir des livres dont le titre fait référence au « système d'exploitation UNIX® 4.3BSD » et au « système d'exploitation 4.4BSD ».
  5. Il existe une idée selon laquelle les projets BSD seraient fragmentés et concurrents. Le Wall Street Journal a même parlé d'une « balkanisation » des projets BSD. Tout comme les poursuites judiciaires, cette perception se base sur de vieilles histoires.
3. Pourquoi BSD n'est-il pas mieux connu?
Précédent   Suivant

4. Comparer BSD et Linux

4. Comparer BSD et Linux

Mais quelle est la vraie différence entre, disons, Debian Linux et FreeBSD? Pour l'utilisateur moyen, la différence est étonnamment faible: tous les deux sont des systèmes d'exploitation UNIX®. Tous deux sont développés par des projets non commerciaux (ceci ne s'applique pas à de nombreuses autres distributions Linux). Dans la section qui suit, nous étudierons les systèmes BSD et les comparerons à Linux. La description s'applique plus particulièrement à FreeBSD, qui représente environs 80% des systèmes BSD installés, mais les différences avec NetBSD, OpenBSD et DragonFlyBSD sont minces.

4.1. A qui appartient BSD?

Aucune personne ou société n'est propriétaire de BSD. BSD est créé et distribué par une communauté de contributeurs impliqués et d'une grande expertise technique, situés partout dans le monde. Quelques composants de BSD sont issus d'autres projets Open Source, gérés par d'autres personnes.

4.2. Comment BSD est-il développé et mis à jour?

Les noyaux BSD sont développés et mis à jour suivant les modèle de développement de l'Open Source. Chaque projet maintient un arbre des sources publique et accessible au moyen de Concurrent Versions System (CVS), un système de gestion de version, qui maintient l'ensemble des fichiers du projet, y compris la documentation ainsi que d'autres fichiers. CVS permet aux utilisateurs de faire un « check out » (extraire une copie) de n'importe quelle version du système.
Un grand nombre de développeurs à travers le monde contribuent à l'amélioration de BSD. Ils sont divisés en trois catégories:
  • Les contributeurs écrivent le code ou la documentation. Ils ne sont pas autorisés à « commiter » (ajouter du code) directement dans l'arbre des sources. Pour que leur code soit intégré au système, il doit être examiné et contrôlé par un développeur enregistré, connu en tant que committer.
  • Les committers sont des développeurs qui ont un droit d'écriture dans l'arbre des sources. Pour devenir committer, une personne doit démontrer ses compétences dans le domaine où elle travaille.
    Il est à la discrétion du committer de déterminer si il doit obtenir l'autorisation avant d'intégrer des changements dans l'arbre des sources. En général, un committer expérimenté a la possibilité de faire des changements qui sont manifestement corrects sans qu'un consensus soit nécessaire. Par exemple, un committer du projet de documentation peut corriger des erreurs typographiques ou grammaticales sans relecture. D'un autre côté, les développeurs effectuant des changements complexes d'une grande portée sont supposés soumettre leur code pour relecture avant de l'intégrer. Dans des cas extrêmes, un membre de la « core team » (équipe de base) avec le titre d'architecte principal peut exiger que les changements soient retirés de l'arbre des sources, un processus connu sous le nom de backing out. Tous les committers reçoivent des courriers électroniques décrivant chaque modification, il est donc impossible de d'effectuer des changements de manière secrète.
  • La Core team (équipe de base). Les projets FreeBSD et NetBSD ont chacun une équipe de base qui gère le projet. Ces équipes ont été constituées dans le cadre des projets, et leur rôle n'est pas toujours bien défini. Il n'est pas nécessaire d'être un développeur pour être membre de la core team, bien que cela semble normal. Les règles de cette équipe varient d'un projet à l'autre, mais ses membres ont une parole plus forte dans la direction du projet que les autres développeurs ne faisant pas partie de cette équipe.
Cette organisation diffère de celle de Linux sur de nombreux points:
  1. Aucune personne ne contrôle à elle seule le contenu du système. En pratique, cette différence est surévaluée, puisque l'architecte en chef peut exiger que du code soit retiré, de même que sur le projet Linux plusieurs personnes sont autorisées à effectuer des changements.
  2. D'un autre côté, il y a un dépôt central, un emplacement unique ou vous pouvez trouver l'ensemble des sources du système, y compris toutes les anciennes versions.
  3. Les projets BSD maintiennent l'ensemble du « Système d'Exploitation », pas seulement le noyau. Cette distinction est peu utile: ni BSD ni Linux ne sont utiles sans applications. Les applications utilisées avec BSD sont bien souvent les mêmes que celles utilisées avec Linux.
  4. En raison de la maintenance structurée d'un seul arbre des sources sous CVS, le développement de BSD est clair, et il est possible d'accéder à n'importe quelle version du système au travers de son numéro de version de publication, ou par date. CVS permets également une mise à jour incrémentale du système: par exemple, le dépôt des sources est mis à jour près de 100 fois par jour. La plupart de ces changements sont mineurs.

4.3. La publication des versions (« releases ») de BSD

FreeBSD, NetBSD et OpenBSD fournissent le système en trois différentes « versions » (« releases »). Tout comme Linux, chaque version se voit assigner un numéro tel que 1.4.1 ou 3.5. De plus, le numéro de version possède un suffixe indiquant son objectif:
  1. La version de développement du système est appelée CURRENT. FreeBSD assigne un numéro à la version CURRENT, par exemple FreeBSD 5.0-CURRENT. NetBSD emploie une méthode de nommage légèrement différente et appose un suffixe d'une seule lettre qui indique des changements dans l'interface interne, par exemple NetBSD 1.4.3G. OpenBSD n'assigne pas de numéro (« OpenBSD-current »). Tous les nouveaux développements du système vont dans cette branche.
  2. A intervalles réguliers, environs deux à quatre fois par an, les projets sortent une version RELEASE du système, qui est disponible sur CD-ROM et gratuitement téléchargeable sur les sites FTP, par exemple OpenBSD 2.6-RELEASE ou NetBSD 1.4-RELEASE. La version RELEASE est destinée aux utilisateurs finaux et est la version normale du système. NetBSD fournit également des correctifs de release avec un troisième chiffre, par exemple NetBSD 1.4.2.
  3. Si des bogues sont découverts dans une version RELEASE, ils sont corrigés, et les correctifs sont incorporés à l'arbre des sources CVS. Sous FreeBSD, la version résultante est appelée version STABLE, alors que NetBSD et OpenBSD continuent à l'appeler version RELEASE. Des fonctions mineures peuvent aussi être ajoutées à la branche après une période de test dans la branche CURRENT.
Par contraste, Linux maintient deux arborescences de code séparées: la version stable et la version de développement. La version stable est nommée avec un numéro de version mineur pair, tel que 2.0, 2.2 or 2.4. La version de développement est quant à elle nommée avec un numéro de version mineur impair, tel que 2.1, 2.3 ou 2.5. Dans chaque cas, ce numéro est suivi par un numéro supplémentaire déterminant la version exacte. Chaque distributeur ajoute en outre ses propres utilitaires et applications utilisateur, ce qui fait que le nom de la distribution est tout aussi important. Chaque fournisseur de distribution assigne des numéros de version à sa distribution; ainsi, une description complète ressemble à quelque chose comme « TurboLinux 6.0 avec le noyau 2.2.14 ».

4.4. Quelles sont les versions de BSD disponibles?

En contraste avec le grand nombre de distributions Linux, il n'y a que quatre BSD Open Source. Chaque projet BSD maintient sa propre arborescence des sources et son propre noyau. En pratique, cependant, il y a moins de divergences dans le code de base de ces différents projets que dans Linux.
Il est difficile de classer les objectifs de chaque projet: les différences sont très subjectives. Fondamentalement,
  • FreeBSD vise les hautes performances et la simplicité d'utilisation pour l'utilisateur final; il est l'un des système d'exploitation favoris des fournisseurs de contenu sur le Web. Il fonctionne sur de nombreuses plate-formes, incluant les systèmes basés sur les processeurs i386™ (« PC »), AMD 64-bit, UltraSPARC®, Compaq Alpha et les systèmes de type NEC PC-98. Le projet FreeBSD a beaucoup plus d'utilisateurs que les autres projets.
  • NetBSD vise la portabilité maximale: son slogan est « of course it runs NetBSD » (« bien sur ça tourne sous NetBSD »). Il fonctionne aussi bien sur des ordinateurs de poche que sur des gros serveurs, et a été utilisé par la NASA dans le cadre de missions spatiales. C'est un très bon choix pour fonctionner sur du vieux matériel non-Intel®.
  • OpenBSD vise la sécurité et la pureté du code: il emploie une combinaison de concepts Open Source et une relecture rigoureuse du code pour créer un système qui est manifestement bon, et qui, de fait, est le choix privilégié des organismes conscients des aspects de sécurité, tels que les banques, les bourses de valeurs et les ministères du gouvernement des Etats-Unis d'Amérique. Tout comme NetBSD, il fonctionne sur de nombreuses plate-formes.
  • DragonFlyBSD vise les hautes performances et la montée en charge sur n'importe quel système depuis le système mono-processeur jusqu'au système massivement parallélisé. DragonFlyBSD a plusieurs objectifs techniques à long terme, mais est essentiellement axé sur la fourniture d'un système pour les architectures symétriques (SMP) qui soit facile à comprendre, à maintenir, et pour lequel il serait simple de développer.
Il existe deux autres systèmes d'exploitation UNIX® BSD qui ne sont pas Open Source: BSD/OS et Mac OS® X d'Apple:
  • BSD/OS est le plus ancien des dérivés de 4.4 BSD. Il n'est pas Open Source, bien que le code source soit disponible à un coût relativement faible. Il ressemble à FreeBSD sur plusieurs aspects. Deux ans après l'acquisition de BSDi par Wind River Systems, BSD/OS échoua dans sa tentative d'exister en tant que produit indépendant. Le support et le code sont encore disponibles chez Wind River, mais tous les nouveaux développements se concentrent sur le système d'exploitation embarqué VxWorks.
  • Mac OS® X est la dernière version du système d'exploitation pour les ordinateurs de la lignée Macintosh® d'Apple Computer Inc.. Le cœur BSD de ce système d'exploitation, Darwin, est disponible sous la forme d'un système d'exploitation totalement fonctionnel pour les ordinateurs x86 et PPC. Le système graphique Aqua/Quartz et plusieurs autres éléments propriétaires de Mac OS® X restent cependant à sources fermées. Plusieurs développeurs de Darwin sont aussi des committers de FreeBSD, et vice-versa.

4.5. En quoi la licence BSD diffère-t-elle de la licence publique GNU?

Linux est disponible sous licence GNU General Public License (GPL), qui a été conçue pour éliminer les logiciels à code source fermé. En particulier, tout travail dérivé d'un produit fourni sous licence GPL doit également être fourni avec son code source si ce dernier est demandé. A contrario, la licence BSD est moins restrictive: la distribution des binaires seuls est autorisée. Ceci est particulièrement attrayant pour des applications embarquées.

4.6. Que dois-je savoir d'autre?

Dans la mesure où moins d'applications sont disponibles pour BSD que pour Linux, les développeurs BSD ont créé un système de compatibilité avec Linux, qui permet aux programmes Linux de fonctionner sous BSD. Le système inclut à la fois des modifications au niveau du noyau, afin que les appels systèmes Linux se fassent correctement, et les fichiers de compatibilité Linux, tels que la bibliothèque C. Il n'y a pas de différence notable au niveau de la vitesse entre une application Linux exécutée sur une machine Linux et une application Linux exécutée sur une machine BSD de puissance équivalente.
De part sa nature « tout provient d'un même fournisseur », BSD jouit du fait que les mises à jour sont plus faciles à réaliser que dans bien des cas avec Linux. BSD gère la mise à jour des versions des bibliothèques en fournissant de modules de compatibilité pour des versions de bibliothèques plus anciennes; il est donc possible d'exécuter des binaires vieux de plusieurs années sans aucun problème.

4.7. Lequel dois-je utiliser, BSD ou Linux?

Qu'est-ce que cela signifie en pratique? Qui devrait utiliser BSD et qui devrait utiliser Linux?
Il est très difficile de répondre à cette question. Voici quelques éléments de réponse:
  • « Si ce n'est pas cassé, ne le réparez pas »: Si vous utilisez déjà un système d'exploitation Open Source, et que vous en êtes content, alors il n'y a probablement aucune bonne raison d'en changer.
  • Les systèmes BSD, et plus particulièrement FreeBSD, peuvent avoir de performances notablement supérieures à Linux. Mais pas sur tous les points. Dans la plupart des cas, il y a peu ou pas de différences. Dans certains cas, Linux peut avoir de meilleures performances que FreeBSD.
  • En général, les systèmes BSD sont réputés plus fiables, en grande partie en raison d'un code de base plus mature.
  • Les projets BSD ont une meilleure réputation en raison de la qualité et l'exhaustivité de leur documentation. Les divers projets de documentation tentent de fournir une documentation constamment mise à jour, en différentes langues, et traitant de tous les aspects du système.
  • La licence BSD peut être plus attractive que la GPL.
  • BSD peut exécuter la plupart des binaires Linux, alors que Linux ne peut pas executer les binaires BSD. Plusieurs implémentations de BSD peuvent exécuter les binaires issus d'autres systèmes UNIX®. BSD peut donc représenter une voie de migration plus simple depuis les autres systèmes que ne pourrait l'être Linux.

4.8. Qui fournit du support, des services, et de la formation pour BSD?

BSDi / FreeBSD Mall, Inc. fournit du support pour FreeBSD depuis près de 10 ans.
En plus, chacun des projets dispose d'une liste de consultants à embaucher: FreeBSD, NetBSD, et OpenBSD.

Windows from scratch MDR

https://www.lifewire.com/latest-windows-service-packs-updates-2624595


An up-to-date, healthy servicing stack is critical to ensure that monthly security fixes can be efficiently and predictably installed on devices. As noted, when a servicing stack update does not exist, there is a risk that a device cannot be patched and kept secure. This makes a servicing stack update a key part of the security patch payload. However, the Windows 7 update technology, and patch installation chronology requires the servicing stack update to be handled separately from the monthly Security-only updates.

Starting with the October 2018 Update Tuesday, we are going to reissue the Windows 7 Service Pack 1 (SP1) servicing stack update (KB 3177467) and tag it as a security update to unblock any remaining customers from installing the August 2018 or later monthly Security-only updates.
To ensure our customers do not encounter this specific situation again, going forward, if we release a new servicing stack update, it will be marked as “security,” not just “critical,” so that it is included by those customers who are installing only tagged security fixes.

A new appreciation for cumulative updates

In this post, I have addressed only Windows 7 servicing stack updates. That is because we specifically addressed this complexity and exposure in Windows 10 with the cumulative update model. Today, we test each month’s patches against a known configuration of Windows 10 before we ship a release. Each update includes all the previous fixes necessary to bring a device forward to a fully patched and current state, provided it has the latest monthly update installed.
If you have any questions, please reach out to me here on Tech Community or on Twitter @johntwilcox.

Mon, 24 Sep 2018 13:13:03 GMT
John Wilcox
2018-09-24T13:13:03Z

<br /> Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/ba-p/260434



For many of you managing a Windows 7 infrastructure today, monthly servicing is primarily about making sure that you are installing the latest security patches on your devices and staying current. To simplify the servicing process (in addition to complexity and cost), we aligned our Windows 7 servicing model—consisting of Monthly Rollups and Security-only updates—to the update model we use with Windows 10. Instead of tracking and installing multiple, individual patches, you only need to install a single, cumulative patch each month to ensure that your systems have the latest updates.
Despite this simplified servicing model, some Windows 7 devices recently experienced issues installing either the August or September 2018 Monthly Rollups or Security-only updates. The intent of this blog is to share why these issues occurred, what we are doing about it, and how this relates to Windows 10 cumulative updates.
To tell this story, we need to travel back to October of 2016, when we released the Windows 7 Service Pack 1 (SP1) servicing stack update (KB 3177467). Servicing stack updates, or SSUs, are periodic updates released to specifically service or update the software stack for Windows platforms. These are fixes to the code that process and manage updates that need separate servicing periodically to improve the reliability of the update process, or address issue(s) that prevent patching some other part of the OS with the monthly latest cumulative update (LCU).Servicing stack updates ensure that you have a robust and reliable servicing stack so that your devices receive and install Microsoft security fixes. That is why, when we released the Windows 7 SP1 servicing stack update (KB 3177467) it was marked “critical.” Because it was not categorized as a security fix; however, many organizations missed the update and decided to install only the default monthly security fixes instead of the full servicing stack update.
Fast forward to August 2018, when the Windows 7 SP1 Monthly Rollup (KB 4343900) was released. Customers who had not installed the critical Windows 7 SP1 servicing stack update (KB 3177467) were unable to install the August 30th Monthly Rollup Preview (KB 4343894), the September 11th Monthly Rollup (KB 4457144), or the September 11th Security-only update (KB 4457145)—and received “error 0x8000FFFF.” Installing the October 2016 Windows 7 SP1 servicing stack update (KB 3177467) first, and then applying the August 30th or September 11th, 2018 updates mitigates this issue.We test our monthly patches on fully patched, up-to-date systems, which is why this issue was not seen in our testing, or by any of our preview partners.
To ensure that you don’t run into issues like this again, the Microsoft Windows Servicing and Delivery team has updated all release notes with guidance to install the latest servicing stack update for your platform before installing the latest cumulative update (LCU).

Going forward

An up-to-date, healthy servicing stack is critical to ensure that monthly security fixes can be efficiently and predictably installed on devices. As noted, when a servicing stack update does not exist, there is a risk that a device cannot be patched and kept secure. This makes a servicing stack update a key part of the security patch payload. However, the Windows 7 update technology, and patch installation chronology requires the servicing stack update to be handled separately from the monthly Security-only updates.
Starting with the October 2018 Update Tuesday, we are going to reissue the Windows 7 Service Pack 1 (SP1) servicing stack update (KB 3177467) and tag it as a security update to unblock any remaining customers from installing the August 2018 or later monthly Security-only updates.
To ensure our customers do not encounter this specific situation again, going forward, if we release a new servicing stack update, it will be marked as “security,” not just “critical,” so that it is included by those customers who are installing only tagged security fixes.

A new appreciation for cumulative updates

In this post, I have addressed only Windows 7 servicing stack updates. That is because we specifically addressed this complexity and exposure in Windows 10 with the cumulative update model. Today, we test each month’s patches against a known configuration of Windows 10 before we ship a release. Each update includes all the previous fixes necessary to bring a device forward to a fully patched and current state, provided it has the latest monthly update installed.
If you have any questions, please reach out to me here on Tech Community or on Twitter @johntwilcox.

Mon, 24 Sep 2018 13:13:03 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/ba-p/260434

John Wilcox
2018-09-24T13:13:03Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/260495#M246


Hi John,

Thanks for the update. I would like to say that, overall, the new cumulative update system for Windows 7 has made it easier for our organisation to keep our machines up to date, so good work on using this strategy.

Jay

Fri, 21 Sep 2018 22:37:31 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/260495#M246

Jay Tuckey
2018-09-21T22:37:31Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/260597#M247


Maybe new CU update are better to bring up to date a new installation, but in general they install longer (i'm seeing this as Windows 2008 servers updating twice as fast by pulling 8-10 separate updates, than Windows 2008 R2/2012 updating with just a few CU updates). When all PCs in the network are patched and up to date, installing CU updates is longer downtime. I'm looking forward what will going to Express updates bring to the table (as described in other blog post).

As for this issue. We have been installing critical updates along with security for 15+ years. I guess it was worth it :) They are called critical for a reason. Although, i would vote to get rid of one category and just move all important update to security, so it would be easier to triage new updates every month (in WSUS one has to make a combined view or go twice through every category).

Sat, 22 Sep 2018 08:44:47 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/260597#M247

Oleg K
2018-09-22T08:44:47Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269035#M282


Sources are exactly the same as in 2016 "Update for Windows Server 2008 R2 x64 Edition (KB3177467)". Could you please explain why this is needed now *again* although the 2016-10 version is present (on server 6.1)? I understand the "security" tagging but we never missed any SSU. Thank you. 

Tue, 09 Oct 2018 22:23:12 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269035#M282

Josef Hemker
2018-10-09T22:23:12Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269179#M283


With the introduction of the monthly rollup updates is was also announced that "Over time, Windows will also proactively add patches to the Monthly Rollup that have been released in the past. Our goal is eventually to include all of the patches we have shipped in the past since the last baseline, so that the Monthly Rollup becomes fully cumulative and you need only to install the latest single rollup to be up to date.  ( Further simplifying servicing models for Windows 7 and Windows 8.1).
Are there still plans to merge all old updates in the monthly rollup? It would have prevented exactly this issue.

Wed, 10 Oct 2018 08:33:01 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269179#M283

Jeroen Bakker
2018-10-10T08:33:01Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269362#M284


Can the Servicing Stack update be uninstalled?

Wed, 10 Oct 2018 15:02:30 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269362#M284

Chad West
2018-10-10T15:02:30Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269407#M285


Sorry to say that, but your detailed explanation has a great form, but regarding the substance... it makes little sense to me.

I have Win7 Professional and just installed 4 updates:

KB4459922 - 2018-10 Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 for Windows 7 and Server 2008 R2 for x64
KB890830  - Windows Malicious Software Removal Tool x64 - October 2018
KB2310138 - Definition Update for Microsoft Security Essentials (Definition 1.277.868.0)
KB4462923 - 2018-10 Security Monthly Quality Rollup for Windows 7 for x64-based Systems

Immediately after this update finished another one popped up with sole KB3177467 - "2018-10 Update for Windows 7 for x64-based Systems". After I did read its details and your explanation, I found KB3177467 clearly installed on 2016-10-17, which name then was just "Update for Windows 7 for x64-based Systems".

So...
What's the reason for repeating this 2-years-old KB?
Why it's triggered by some of these recent 4?
And what about your charge: "however, many organizations missed the update and decided to install only the default monthly security fixes instead of the full servicing stack update."? HUH?

...and BTW, I don't remark experiencing any update process performance improvement back then - it was just transparent, not like those dozen Win-10-related KBs which enabled additional telemetry (over and over again), installed locked tasks and stunning advertising (like stunning that it's even considered), which crumbled my PC and required me to track them down, uninstall and deliberately prevent further installation, because they were constantly re-proposed, even when hidden.

My point is: if you need to inform us about something, just go directly to the substance, then usually 3-10 sentences will make the trick and you'll have hard time producing something that has no ties to reality. On the other hand, if you want to veil something, then at least partly pay attention to the substance.

Wed, 10 Oct 2018 16:04:23 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/269407#M285

Tomasz Pona
2018-10-10T16:04:23Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/274512#M291


Hello John,

Thank you for the information.  Just to confirm, this SSU update must be installed first, meaning separately, before other patches?  We use SCCM to deploy security patches, and I am currently preparing this month's patching when I read about installing 3177467 before installing October 2018 updates.

Thank you,

Wed, 17 Oct 2018 15:03:14 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/274512#M291

Catherine O'Dea
2018-10-17T15:03:14Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/275465#M293


One issue here. KX3177467 is marked as 'exclusive' which means that once it's been integrated offline into a Windows image using "dism /image:WindowsMount /add-package", no other packages can be added. This means that it's now not possible to build an image with all security updates integrated. KB3177467 will need to integrated and the recent security packages will need to be installed online, slowing down and complicating the installation process. 

Thu, 18 Oct 2018 19:01:06 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/275465#M293

Kit Patterson
2018-10-18T19:01:06Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/277343#M300


Removing the choice for people to pick and choose what updates they want and trying to defraud people claiming it's a security upgrade "because we think you're too stupid to install updates yourself"? Come off it, we all know this is a result of people so many people choosing to disable Windows 10 telemetrics spyware "upgrades" trying to be forced onto people using Windows 7...

Wed, 24 Oct 2018 10:16:25 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/277343#M300

lemolade123
2018-10-24T10:16:25Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/278987#M302


The "security" update KB3177467 blocks all Java-based programs in IE 11. Since this "security" update cannot be uninstalled, are there other settings that would override such blocks and enable Java programs to run in IE 11? I tried every possible ActiveX control setting to no avail. I am migrating away from Java but will not finish for another few months. I am stuck! Thanks.

Mon, 29 Oct 2018 03:25:35 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/278987#M302

Herbert Beyenbach
2018-10-29T03:25:35Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/279177#M303


, the SSU won't do anything to IE settings. Can you please go into more details as to what exactly doesn't work, and how to repro? And this is specifically win7sp1 (not server), with the latest LCU and SSU, correct?

Mon, 29 Oct 2018 15:15:33 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/279177#M303

Gov [MS] Maharaj
2018-10-29T15:15:33Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/321015#M425


Thank you for the detailed info. My Win7-64 SP1 was getting Windows Updates fine until 10 Dec., 2018. Then stared getting Error msg 8007312. Have disabled my NordVPN (actually removed it), Firewall and Emsisoft Anti-malware to eliminate any network confilcts. Followed ALL MS troubleshooting and "Hotfix" installs. Still get 8007312. Downloaded KB3177467 (both versions) neither will install on my machine-Get "Update not appropriate for your computer". ?? Have tried with Windows Update Service both "On" and "Off".  Am logged-in as System Admin.
Any ideas?

Fri, 18 Jan 2019 19:34:16 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/321015#M425

Deleted
2019-01-18T19:34:16Z


<br /> Re: Windows 7 servicing stack updates: managing change and appreciating cumulative updates<br />

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/363955#M570


Windows deployed years ago. I need to keep my images up to date. 

Also need an easy way to update old deployed images. Many PC techs deploy Windows from scratch. 

Therefore such a deployment of 

Windows 7 would require a lengthy messy online update procedure. The convenience rollup for 

Windows 7 SP1 can install offline all updates, February 22, 2011 through April 12, 2016. This is convenient, saving EONS of time! Life hacker has a great tutorial here: 

https://www.lifewire.com/latest-windows-service-packs-updates-2624595

Now is there an easy way to update Windows 7 from April 13, 2016 to present (March 10, 2019)? Microsoft should create patches which install all updates from the previous patches. Quarterly convenience updates would be generated each year. These updates would be cumulative including all previous updates. These updates will be smart enough to install only updates not already present or in need of repair.

Sun, 10 Mar 2019 19:30:30 GMT

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/Windows-7-servicing-stack-updates-managing-change-and/bc-p/363955#M570

For many of you managing a Windows 7 infrastructure today, monthly servicing is primarily about making sure that you are installing the latest security patches on your devices and staying current. To simplify the servicing process (in addition to complexity and cost), we aligned our Windows 7 servicing model—consisting of Monthly Rollups and Security-only updates—to the update model we use with Windows 10. Instead of tracking and installing multiple, individual patches, you only need to install a single, cumulative patch each month to ensure that your systems have the latest updates.
Despite this simplified servicing model, some Windows 7 devices recently experienced issues installing either the August or September 2018 Monthly Rollups or Security-only updates. The intent of this blog is to share why these issues occurred, what we are doing about it, and how this relates to Windows 10 cumulative updates.
To tell this story, we need to travel back to October of 2016, when we released the Windows 7 Service Pack 1 (SP1) servicing stack update (KB 3177467). Servicing stack updates, or SSUs, are periodic updates released to specifically service or update the software stack for Windows platforms. These are fixes to the code that process and manage updates that need separate servicing periodically to improve the reliability of the update process, or address issue(s) that prevent patching some other part of the OS with the monthly latest cumulative update (LCU).Servicing stack updates ensure that you have a robust and reliable servicing stack so that your devices receive and install Microsoft security fixes. That is why, when we released the Windows 7 SP1 servicing stack update (KB 3177467) it was marked “critical.” Because it was not categorized as a security fix; however, many organizations missed the update and decided to install only the default monthly security fixes instead of the full servicing stack update.
Fast forward to August 2018, when the Windows 7 SP1 Monthly Rollup (KB 4343900) was released. Customers who had not installed the critical Windows 7 SP1 servicing stack update (KB 3177467) were unable to install the August 30th Monthly Rollup Preview (KB 4343894), the September 11th Monthly Rollup (KB 4457144), or the September 11th Security-only update (KB 4457145)—and received “error 0x8000FFFF.” Installing the October 2016 Windows 7 SP1 servicing stack update (KB 3177467) first, and then applying the August 30th or September 11th, 2018 updates mitigates this issue.We test our monthly patches on fully patched, up-to-date systems, which is why this issue was not seen in our testing, or by any of our preview partners.
To ensure that you don’t run into issues like this again, the Microsoft Windows Servicing and Delivery team has updated all release notes with guidance to install the latest servicing stack update for your platform before installing the latest cumulative update (LCU).