170 lines
6.4 KiB
TeX
170 lines
6.4 KiB
TeX
\documentclass[10pt]{article}
|
|
|
|
\usepackage{fontspec}
|
|
\usepackage[a4paper,portrait,
|
|
bmargin=10mm,lmargin=15mm,rmargin=15mm,tmargin=10mm]{geometry}
|
|
|
|
\pagenumbering{gobble}
|
|
\setlength{\parindent}{0em}
|
|
\setlength{\parskip}{0em}
|
|
\setmainfont{DejaVu Sans}
|
|
|
|
\newcommand{\hr}{\rule{\textwidth}{1pt}}
|
|
|
|
\newenvironment{itmz}{\begin{itemize}
|
|
\setlength{\itemsep}{0em}
|
|
}{\end{itemize}}
|
|
|
|
\begin{document}
|
|
|
|
CNAM / UAMM91 \hfill Mémoire ingénieur / Sujet (version n°1) \hfill IRSM (CYC9104A)
|
|
|
|
Marc Beninca \hfill \textbf{Systèmes d’exploitation autonomes incrémentaux} \hfill 2020 → 2021
|
|
|
|
\section{Problématiques de maintenance des systèmes d’exploitation}
|
|
|
|
Aujourd’hui, en fonction des cas d’utilisation, maintenir des systèmes d’exploitation nécessite de penser :
|
|
mises à jour, indisponibilité, sauvegardes, tests, instantanés, restaurations, recettes de configuration.
|
|
|
|
\subsection{Systèmes de fichiers, installés sur partitions, avec accès en écriture}
|
|
|
|
\subsubsection{Système de fichiers conventionnel}
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : instantanéité des modifications faites aux fichiers systèmes}
|
|
\item{\textbf{inconvénients} : nécessiter de régulièrement faire et tester des sauvegardes}
|
|
\end{itmz}
|
|
|
|
\subsubsection{Système de fichiers géré par des recettes de configuration}
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : possibilité de remettre rapidement en état des pans du système}
|
|
\item{\textbf{inconvénients} : pas de résolution des écarts de configuration non gérés par les recettes}
|
|
\end{itmz}
|
|
|
|
\subsubsection{Système de fichiers avec gestion d’instantanés}
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : permet de sauvegarder et restaurer un état des fichiers à tout moment}
|
|
\item{\textbf{inconvénients} : peu d’implémentations, pas encore utilisés par défaut}
|
|
\end{itmz}
|
|
|
|
\subsection{Images autonomes, sans installation, avec accès en lecture seule}
|
|
|
|
\subsubsection{Amorçage sans gestion de persistance}
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : démarrage d’un système autonome dans un état figé au préalable}
|
|
\item{\textbf{inconvénients} : perte au redémarrage de toutes modifications faites aux fichiers systèmes}
|
|
\end{itmz}
|
|
|
|
\subsubsection{Amorçage avec gestion de persistance}
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : conservation sur une partition sélectionnée des modifications faites aux fichiers}
|
|
\item{\textbf{inconvénients} : pas de séparation entre persistance de fichiers systèmes et de données}
|
|
\end{itmz}
|
|
|
|
\section{Proposition : fonctionnement autonome incrémental}
|
|
|
|
Solution.
|
|
|
|
\begin{itmz}
|
|
\item{\textbf{avantages} : restauration très rapide, chaque mise à jour devient une sauvegarde}
|
|
\item{\textbf{inconvénients} : maintenance exhaustive si effectuée sans assistances}
|
|
\end{itmz}
|
|
|
|
\subsection{Fabrication}
|
|
|
|
\subsubsection{Miroirs de dépôts officiels distribution et éditeurs}
|
|
|
|
\begin{itmz}
|
|
\item{synchronisation locale pour accès rapide, stable et hors-ligne : apt-mirror, debmirror, ftpsync}
|
|
\item{vérification d’intégrité des dépôts avant utilisation des paquets synchronisés}
|
|
\end{itmz}
|
|
|
|
\subsubsection{Construction d’un système de fichiers}
|
|
|
|
\begin{itmz}
|
|
\item{prise en compte du type de machine cible : physique, virtuelle, conteneur}
|
|
\item{création d’un système de fichiers de base minimal de système d’exploitation : \textbf{debootstrap}}
|
|
\item{intégration des paquets nécessaires à la construction de systèmes autonomes, si besoin}
|
|
\item{transformation effective en système d’exploitation autonome : \textbf{live-boot}, \textbf{update-initramfs}}
|
|
\item{détermination des autres paquets logiciels à installer et à configurer, en fonction des besoins}
|
|
\end{itmz}
|
|
|
|
\subsection{Encapsulation dans un fichier image}
|
|
|
|
\begin{itmz}
|
|
\item{choix d’un format adapté au montage en lecture seule : \textbf{squashfs}}
|
|
\item{algorithmes de compression disponibles : \textbf{gzip}, \textbf{lzma}, \textbf{lzo}, \textbf{lz4}, \textbf{xz}, \textbf{zstd}}
|
|
\item{niveau supplémentaire d’encapsulation avec un format hybride : \textbf{iso}}
|
|
\end{itmz}
|
|
|
|
\subsection{Sécurité du fichier image produit}
|
|
|
|
\begin{itmz}
|
|
\item{intégrité par calcul de sommes de contrôle : \textbf{sha256}, \textbf{sha512}}
|
|
\item{authenticité via signature des images produites : \textbf{gpg}}
|
|
\end{itmz}
|
|
|
|
\subsection{Amorçage}
|
|
|
|
\begin{itmz}
|
|
\item{utilisation d’un chargeur de démarrage signé : \textbf{grub}, \textbf{bios}, \textbf{uefi}, secure boot}
|
|
\item{création d’un menu de démarrage à choix multiple d’images : \textbf{grub.cfg}, \textbf{squash4}, \textbf{iso9660}}
|
|
\item{vérification d’authenticité et d’intégrité des images}
|
|
\item{chargement d’image(s) en mémoire vive : complet, partiel}
|
|
\end{itmz}
|
|
|
|
\subsection{Mise à niveau}
|
|
|
|
\begin{itmz}
|
|
\item{système d’exploitation en cours d’exécution}
|
|
\item{nouvelle image pour le prochain redémarrage}
|
|
\end{itmz}
|
|
|
|
\section{Scripts d’automatisation potentiels}
|
|
|
|
\begin{itmz}
|
|
\item{synchronisation locale et vérification d’intégrité, de façon parallélisée}
|
|
\item{construction de systèmes de fichiers à partir de profils versionnés}
|
|
\item{génération à la volée de menu de démarrage}
|
|
\end{itmz}
|
|
|
|
\hr
|
|
|
|
\appendix
|
|
|
|
\section{Contexte professionnel}
|
|
|
|
En tant que militaire engagé de carrière, depuis 19 ans envers le Ministère des Armées, je travaille :
|
|
\begin{itmz}
|
|
\item{depuis 2001 pour le corps des sous-officiers de l’actuelle Armée de l’Air et de l’Espace}
|
|
\item{depuis 2016 sous la Direction Interarmées des Réseaux d’Infrastructure et Systèmes d’Information}
|
|
\end{itmz}
|
|
|
|
\subsection{Restrictions diverses}
|
|
|
|
\begin{itmz}
|
|
\item{interdiction statutaire d’exercer simultanément une autre activité professionnelle}
|
|
\item{pas de droits d’administration sur le gestionnaire de l’infrastructure virtuelle distante}
|
|
\item{stations de travail locales sans virtualisation, administrées par une entité extérieure}
|
|
\item{ordinateurs portables réquisitionnés pour le personnel exerçant son activité en télétravail}
|
|
\end{itmz}
|
|
|
|
\subsection{Propriété intellectuelle}
|
|
|
|
\begin{itmz}
|
|
\item{tout développement effectué sur le temps de travail devient de fait la propriété du Ministère}
|
|
\item{une solution d’automatisation aurait bien plus de portée en étant publiée sous licence libre}
|
|
\end{itmz}
|
|
|
|
\section{Cadre de production du mémoire ingénieur}
|
|
|
|
Compte tenu des différentes contraintes énoncées ci-dessus, est-il possible :
|
|
\begin{itmz}
|
|
\item{de construire mon mémoire ingénieur Hors Temps de Travail ?}
|
|
\end{itmz}
|
|
|
|
\end{document}
|