- Timestamp:
- 11/15/09 16:28:18 (15 years ago)
- Location:
- trunk/formation-rpms
- Files:
-
- 1 added
- 2 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/formation-rpms/Makefile
r129 r246 4 4 5 5 SOURCES= \ 6 main.tex 6 main.tex \ 7 main.handout.tex 8 9 INCLUDED = \ 10 usage.tex \ 11 building.tex 7 12 8 13 FIGURES= \ … … 17 22 EPS=$(FIGURES:.fig=.eps) $(IMAGES:.png=.eps) 18 23 24 DEPENDENCIES = $(INCLUDED) 25 19 26 all: pdf 20 27 … … 25 32 pesentation.dvi: 26 33 27 %.dvi: %.tex $(EPS) 34 %.dvi: %.tex $(EPS) $(DEPENDENCIES) 28 35 (latex -halt-on-error $< && latex -halt-on-error $<) || (rm $@ && /bin/false) 29 36 30 %.pdf: %. dvi31 dvipdf $< $@37 %.pdf: %.tex $(DEPENDENCIES) 38 (pdflatex -halt-on-error $< && pdflatex -halt-on-error $<) || (rm $@ && /bin/false) 32 39 33 40 %.eps: %.fig … … 37 44 convert $< $@ 38 45 46 main.handout.tex: main.tex 47 cat $< | sed 's/notes/handout/' > $@ 48 39 49 clean: 40 50 rm -f $(EPS) -
trunk/formation-rpms/main.tex
r130 r246 1 1 % $Id$ 2 2 \documentclass[notes]{beamer} 3 %\documentclass[blends,slideColor,colorBG,pdf,ps2pdf]{prosper}4 3 \usepackage[frenchb]{babel} 5 4 \usepackage[T1]{fontenc} … … 12 11 \definecolor{sidebackground}{RGB}{230,242,250} 13 12 \color{beamerstructure} 14 \usetheme {Antibes}13 \usetheme[secheader]{Madrid} 15 14 \usepackage{times} 16 15 \userightsidebarcolortemplate{\color{sidebackground}} … … 18 17 } 19 18 19 \begin{document} 20 20 21 \title{RPM: Packaging} 21 22 \subtitle{Du code source au paquetage} 22 23 \author{Olivier Thauvin} 23 %\email{olivier.thauvin@aerov.jussieu.fr}24 %%\institution{25 %% \includegraphics*[height=0.3\textheight]{gnutux.eps}26 %%}27 24 28 \ NoFrenchBabelItemize25 \frame{\maketitle} 29 26 30 \begin{document} 31 32 \frame{\maketitle} 33 \frame{\tableofcontents} 34 35 \section{RPM, fondamentaux} 36 \subsection{Historique} 37 \frame{ 38 \title{Historique} 39 \vfill 40 Originellement: \textit{Redhat Package Manager} 41 \vfill 42 2005: Patatra: fork de Jeff Johnson: \textit{RPM Package Manager} 43 44 Il y a donc deux rpms respectivement en version 4.4.2 et 4.4.8. %% (\date) 45 \vfill\vfill 46 } 47 48 \subsection{Role de rpms} 49 50 \frame{ 51 \title{Roles de rpms} 52 \begin{itemize} 53 \item Gestion du parc logiciel 54 \begin{itemize} 55 \item installation 56 \item désinstallation 57 \end{itemize} 58 \item Controle de l'état du système 59 \begin{itemize} 60 \item Intégrité du système 61 \item Repérage des fichiers modifiés 62 \end{itemize} 63 \end{itemize} 64 } 65 66 \subsection{Les différentes parties de rpm} 67 68 \frame{ 69 \title{Les logiciels} 70 \vfill 71 \begin{center} 72 \begin{tabular}{|c|l|} 73 \hline 74 Binaire&Fonction\\ 75 \hline 76 \hline 77 rpm&Frontend aux modules rpm\\ 78 \hline 79 rpmi&Installation (rpm -i/U)\\ 80 \hline 81 rpmu&Installation (rpm -i/U)\\ 82 \hline 83 rpme&Désinstallation (rpm -e)\\ 84 \hline 85 rpmquery&Interrogation (rpm -q)\\ 86 \hline 87 rpmbuild&Construction de rpm\\ 88 \hline 89 rpmdb&Action sur la rpm db\\ 90 \hline 91 \end{tabular} 92 \end{center} 93 \vfill 94 \vfill 95 } 96 97 \begin{frame}[fragile] 98 \title{Les librairies} 99 \vfill 100 Située dans \verb+/usr/lib(64)+ 101 \vfill 102 % \begin{center} 103 \begin{tabular}{|c|l|} 104 \hline 105 Librairies&Rôle\\ 106 \hline 107 \hline 108 librpm&Lecture des fichiers rpm\\ 109 &Résolution des dépendances\\ 110 \hline 111 librpmbuild&Construction de rpm\\ 112 \hline 113 librpmdb&Accès à la rpm db\\ 114 \hline 115 librpmio&Abstraction générique des entrées/sorties\\ 116 &Evaluation des macros\\ 117 \hline 118 \end{tabular} 119 % \end{center} 120 \vfill 121 \vfill 27 \begin{frame} 28 \frametitle{Plan} 29 \tableofcontents[hideallsubsections] 122 30 \end{frame} 123 31 124 \ subsection{Configuration}32 \include{usage} 125 33 126 \begin{frame}[fragile] 127 \title{La configuration} 128 \vfill 129 Toute la configuration se fait via des macros, 130 système de variable à évaluation tardive. 131 \vfill 132 \begin{itemize} 133 \item /usr/lib/rpm/macros (système) 134 \item ~/.rpmmacros (utilisateur) 135 \end{itemize} 136 \vfill 137 {\scriptsize 138 \begin{verbatim} 139 %__dbi_htconfig_current %{__dbi_htconfig} 140 %__dbi_htconfig_rebuild %{__dbi_htconfig} %{__dbi_rebuild} 141 142 %_dbi_htconfig \ 143 %{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}\ 144 %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\ 145 %{nil} 146 \end{verbatim} 147 } 148 \vfill 149 \vfill 150 \end{frame} 151 152 \subsection{Dépendendances} 153 154 \begin{frame}[fragile] 155 \title{Dépendances} 156 \vfill 157 Contraintes au niveau de l'installation ou de la construction des rpms. 158 \vfill 159 Elles s'expriment en terme package avec éventuellement 160 une version (\verb+<=> VERSION+). 161 \vfill 162 \vfill 163 {\scriptsize 164 \begin{tabular}{|c|l|l|} 165 \hline 166 Type&Installation&Construction\\ 167 \hline 168 \hline 169 \hline 170 Provides&Fourni&N/A\\ 171 \hline 172 \hline 173 Requires&A besoin de&A besoin de\\ 174 \hline 175 Conflicts&Ne peut pas être installer avec&Ne peut être construit avec\\ 176 \hline 177 Obsoletes&Remplace (discrètement)&N/A\\ 178 \hline 179 Trigger&Déclancher une action si \ldots est installé&N/A\\ 180 \hline 181 \end{tabular} 182 } 183 \vfill 184 \vfill 185 \end{frame} 186 187 \subsection{Architectures} 188 189 \section{prélimaires} 190 191 \section{le .spec} 192 \subsection{composition} 193 \subsection{minimal} 194 \subsection{sections} 195 \subsection{"libidification"} 196 197 \section{Exemples concrets} 198 \subsection{\%configure} 199 \subsection{un module perl} 34 \include{building} 200 35 201 36 \end{document} -
trunk/formation-rpms/usage.tex
r234 r246 1 % $Id$ 2 \documentclass[notes]{beamer} 3 %\documentclass[blends,slideColor,colorBG,pdf,ps2pdf]{prosper} 4 \usepackage[frenchb]{babel} 5 \usepackage[T1]{fontenc} 6 \usepackage{multicol} 7 \usepackage[framesassubsections]{beamerprosper} 8 9 \mode<presentation> 10 { 11 \definecolor{beamerstructure}{RGB}{143,79,112} 12 \definecolor{sidebackground}{RGB}{230,242,250} 13 \color{beamerstructure} 14 \usetheme{Antibes} 15 \usepackage{times} 16 \userightsidebarcolortemplate{\color{sidebackground}} 17 \beamertemplateballitem 18 } 19 20 \title{RPM: Packaging} 21 \subtitle{Du code source au paquetage} 22 \author{Olivier Thauvin} 23 %\email{olivier.thauvin@aerov.jussieu.fr} 24 %%\institution{ 25 %% \includegraphics*[height=0.3\textheight]{gnutux.eps} 26 %%} 27 28 \NoFrenchBabelItemize 29 30 \begin{document} 31 32 \frame{\maketitle} 33 \frame{\tableofcontents} 34 35 \section{RPM, fondamentaux} 36 \subsection{Historique} 37 \frame{ 38 \title{Historique} 39 \vfill 1 \section{Présentation de rpms} 2 3 \frame{ 4 \frametitle{Historique} 5 \vfill 6 \begin{block}{Origine} 40 7 Originellement: \textit{Redhat Package Manager} 41 \vfill 8 9 \href{http://rpm.org/}{http://rpm.org/} 10 \end{block} 11 \vfill 12 \begin{block}{Le fork} 42 13 2005: Patatra: fork de Jeff Johnson: \textit{RPM Package Manager} 43 44 Il y a donc deux rpms respectivement en version 4.4.2 et 4.4.8. %% (\date) 45 \vfill\vfill 46 } 47 48 \subsection{Role de rpms} 49 50 \frame{ 51 \title{Roles de rpms} 52 \begin{itemize} 53 \item Gestion du parc logiciel 14 \href{http://rpm5.org/}{http://rpm5.org/} 15 16 Il y a donc deux rpms respectivement en version 4.6.0 et 4.5.2. (au \today{} ) 17 \end{block} 18 \vfill 19 } 20 21 \frame{ 22 \frametitle{Roles de rpms} 23 \begin{block}{Gestion des logiciels installés} 54 24 \begin{itemize} 55 25 \item installation 56 26 \item désinstallation 27 \item mise à jour 57 28 \end{itemize} 58 \item Controle de l'état du système 29 \end{block} 30 31 \begin{block}{Controle de l'état du système} 59 32 \begin{itemize} 60 33 \item Intégrité du système 61 34 \item Repérage des fichiers modifiés 62 35 \end{itemize} 63 \end{itemize} 64 } 36 \end{block} 37 } 38 39 \frame{ 40 \frametitle{Rpm ?} 41 \begin{block}{Le terme rpm désigne} 42 \begin{itemize} 43 \item un logiciel 44 \item une série de commandes 45 \item une format de fichier 46 \end{itemize} 47 \end{block} 48 } 49 50 \section{Fonctionnement} 51 52 \begin{frame}[fragile] 53 \frametitle{Information de base d'un rpm} 54 \begin{block}{Version d'un rpm} 55 \begin{itemize} 56 \item le nom: deux rpm de même nom se remplacent 57 \item la version: identifie la version du logiciel 58 \item la release: la version du rpm pour la version de ce logiciel 59 \item l'epoch: permet de forcer l'ordre entre deux versions 60 \end{itemize} 61 \end{block} 62 \pause 63 \vfill 64 \begin{block}{l'Architecture} 65 \begin{itemize} 66 \item assure que le logiciel fonctionne sur la machine 67 \item \verb+noarch+ indique que le rpm fonctionne "partout" 68 \item ont des priorités (i586 est mieux que i386) 69 \end{itemize} 70 \end{block} 71 \pause 72 \vfill 73 \begin{exampleblock}{} 74 foo-2.1-1.i586 mets à jour foo-2.0-1.i586 75 \end{exampleblock} 76 \end{frame} 77 78 \begin{frame}[fragile] 79 \frametitle{Dépendances} 80 \vfill 81 \begin{block}{} 82 \begin{itemize} 83 \item Contraintes au niveau de l'installation (ou de la construction) des rpms. 84 \item Elles s'expriment en terme de mot clef avec éventuellement 85 une version (\verb+<=> VERSION+). 86 \end{itemize} 87 \end{block} 88 \pause 89 \vfill 90 \begin{block}{Les type de dépendances} 91 {\scriptsize 92 \begin{tabular}{|c|l|l|} 93 \hline 94 Type&Installation&Construction\\ 95 \hline 96 \hline 97 Provides&Fourni&N/A\\ 98 \hline 99 \hline 100 Requires&A besoin de&A besoin de\\ 101 \hline 102 Conflicts&Ne peut pas être installer avec&Ne peut être construit avec\\ 103 \hline 104 Obsoletes&Remplace (discrètement)&N/A\\ 105 \hline 106 Trigger&Déclancher une action si \ldots est installé&N/A\\ 107 \hline 108 \end{tabular} 109 } 110 \end{block} 111 \pause 112 \vfill 113 \begin{alertblock}{Relations:} 114 Toutes les contraintes s'appliquent sur les \verb+provides+ dans 115 \verb+obsoletes+ qui s'appliquent sur le nom du rpm. 116 \end{alertblock} 117 \vfill 118 \end{frame} 119 120 121 \section{Les .rpm} 122 123 \subsection{Format} 124 125 \frame{ 126 \frametitle{Contenu d'un fichier rpm} 127 \begin{block}{le Lead} 128 Quasi inutilisé désormais 129 \end{block} 130 \begin{block}{Le Header} 131 Contient la description du fichier rpm, sous de tags 132 \end{block} 133 \begin{block}{L'Archive CPIO} 134 Les fichiers à installer sous format d'un cpio généralement compréssés 135 \end{block} 136 } 137 138 \frame{ 139 \frametitle{Le Header} 140 \begin{block}{Format} 141 \begin{itemize} 142 \item à ce jour, format binaire 143 \item liste de Tags 144 \end{itemize} 145 \end{block} 146 \vfill 147 \begin{block}{Les tags} 148 \begin{itemize} 149 \item chaque tag a un nom 150 \item plusieurs type: numérique, chaine, binaire 151 \item valeurs multiple possible pour certains 152 \end{itemize} 153 \end{block} 154 \vfill 155 \begin{exampleblock}{Exemple de tag} 156 \begin{tabular}{|c|l|} 157 \hline 158 NAME&Nom du rpms\\ 159 \hline 160 PACKAGER&Celui qui a fait le rpm\\ 161 \hline 162 163 \end{tabular} 164 \end{exampleblock} 165 } 166 167 \section{Le programme} 65 168 66 169 \subsection{Les différentes parties de rpm} 67 170 68 171 \frame{ 69 \ title{Les logiciels}172 \frametitle{Les logiciels} 70 173 \vfill 71 174 \begin{center} … … 96 199 97 200 \begin{frame}[fragile] 98 \ title{Les librairies}201 \frametitle{Les librairies} 99 202 \vfill 100 203 Située dans \verb+/usr/lib(64)+ … … 125 228 126 229 \begin{frame}[fragile] 127 \ title{La configuration}230 \frametitle{La configuration} 128 231 \vfill 129 232 Toute la configuration se fait via des macros, … … 150 253 \end{frame} 151 254 152 \subsection{Dépendendances} 153 154 \begin{frame}[fragile] 155 \title{Dépendances} 156 \vfill 157 Contraintes au niveau de l'installation ou de la construction des rpms. 158 \vfill 159 Elles s'expriment en terme package avec éventuellement 160 une version (\verb+<=> VERSION+). 161 \vfill 162 \vfill 163 {\scriptsize 164 \begin{tabular}{|c|l|l|} 165 \hline 166 Type&Installation&Construction\\ 167 \hline 168 \hline 169 \hline 170 Provides&Fourni&N/A\\ 171 \hline 172 \hline 173 Requires&A besoin de&A besoin de\\ 174 \hline 175 Conflicts&Ne peut pas être installer avec&Ne peut être construit avec\\ 176 \hline 177 Obsoletes&Remplace (discrètement)&N/A\\ 178 \hline 179 Trigger&Déclancher une action si \ldots est installé&N/A\\ 180 \hline 181 \end{tabular} 182 } 183 \vfill 184 \vfill 185 \end{frame} 186 187 \subsection{Architectures} 188 189 \section{prélimaires} 190 191 \section{le .spec} 192 \subsection{composition} 193 \subsection{minimal} 194 \subsection{sections} 195 \subsection{"libidification"} 196 197 \section{Exemples concrets} 198 \subsection{\%configure} 199 \subsection{un module perl} 200 201 \end{document} 255
Note: See TracChangeset
for help on using the changeset viewer.