\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. mars 15 19:03:25 CET 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={apt\_preferences},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={fichier de contrôle des préférences pour APT},
CreationDate={D:20100315190325},
ModDate={D:20100315190325},
Keywords={package manager;apt}
}}
\begin{document}
 
\begin{center}
{\Huge apt\_preferences }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large fichier de contrôle des préférences pour APT}
 
\vspace{10mm}
 
\hspace{1mm} On peut définir le dépôt par défaut par: \\
\hspace{1mm} \textbf{apt-get install -t testing paquet} \\
\hspace{1mm} ou \\
\hspace{1mm} \textbf{APT::Default-Release "stable" ;} \\
 
\hspace{1mm}  Quand une distribution par défaut a été indiquée, APT utilise l'algorithme suivant pour déterminer la priorité des versions d'un paquet:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} une priorité égale à 100]{est affectée à la version déjà installée (si elle existe)}
\item[\hspace{1mm} une priorité égale à 500]{est affectée aux versions qui ne sont pas installées et qui n'appartiennent pas à la distribution par défaut.}
\item[\hspace{1mm} une priorité égale à 990]{est affectée aux versions qui ne sont pas installées et qui appartiennent à la distribution par défaut.}
\end{description}
 
\hspace{1mm}  Quand aucune distribution par défaut n'a été indiquée, APT affecte simplement une priorité égale à 100 à toute version installée d'un paquet et une priorité égale à 500 à tout version non installée.
\vspace{5mm} \\
 
 
\hspace{1mm}  Puis APT applique les règles suivantes pour déterminer la version du paquet qu'il faut installer (elles sont listées par ordre de priorité):
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Ne jamais revenir en arrière, sauf si la priorité d'une version disponible dépasse 1000.« Revenir en arrière » signifie installer une version moins récente que la version installée. Il faut noter qu'aucune des priorités par défaut n'excède 1000 ; de telles valeurs ne peuvent être définies que dans le fichier des préférences. Notez aussi qu'il est risqué de revenir en arrière.}
\item[\hspace{1mm} -]{Installer la version qui possède la priorité la plus haute.}
\item[\hspace{1mm} -]{Quand deux (ou plus) versions ont la même priorité, installer la version la plus récente}
\item[\hspace{1mm} -]{Quand deux (ou plus) versions ont la même priorité et le même numéro de version, mais soit les paquets diffèrent par certaines méta-données, soit l'option —reinstall a été donnée, installer la version qui n'est pas installée.}
\end{description}
 
\hspace{1mm}  Le fichier des préférences permet à l'administrateur système de contrôler l'affectation des priorités. Ce fichier est constitué d'une ou plusieurs entrées séparées par des lignes blanches. Ces entrées peuvent avoir deux formes, une forme particulière et une forme générale.
\vspace{5mm} \\
 
 
\hspace{1mm} - La forme particulière affecte une priorité (Pin-Priority) à un paquet précis, à une version précise ou à un intervalle spécifiant plusieurs versions. Par exemple, l'entrée suivante affecte une priorité haute à toutes les versions du paquet perl dont le numéro de version commence par 5.8.
 
{\ttfamily
Package: perl\\ Pin: version 5.8*\\ Pin-Priority: 1001\\
}
\vspace{8mm}
 
\hspace{1mm}  - La forme générale affecte une priorité à toutes les versions d'un paquet dans une distribution donnée (c'est-à-dire, à toutes les versions d'un paquet qui sont listées dans un fichier Release), ou à toutes les versions d'un paquet provenant d'un site internet identifié par un nom complètement qualifié.
\vspace{5mm} \\
 
 
\hspace{1mm} Cette forme générale des entrées du fichier des préférences s'applique seulement aux groupes de paquets. Par exemple, l'entrée suivante affecte une priorité haute à toutes les versions disponibles dans le site local.
 
{\ttfamily
Package:\hspace{2mm}*\\ Pin: origin ""\\ Pin-Priority: 999\\
}
\vspace{8mm}
 
\hspace{1mm} L'entrée suivante affecte une priorité basse à toutes les versions d'un paquet appartenant à toute distribution dont le nom d'« Archive » est unstable.
 
{\ttfamily
Package:\hspace{2mm}*\\ Pin: release a=unstable\\ Pin-Priority: 50\\
}
\vspace{8mm}
 
\hspace{1mm} L'entrée suivante affecte une priorité haute à toutes les versions d'un paquet appartenant à toute distribution dont le nom d'« Archive » est stable et dont le numéro de « Version » est 3.0.
 
{\ttfamily
Package:\hspace{2mm}*\\ Pin: release a=stable, v=3.0\\ Pin-Priority: 500\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Priorités }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} P > 1000]{Cette priorité entraîne l'installation du paquet même s'il s'agit d'un retour en arrière.}
\item[\hspace{1mm} 990 < P <=1000]{La version sera installée, même si elle n'appartient pas à la distribution par défaut ; mais elle ne sera pas installée si la version installée est plus récente.}
\item[\hspace{1mm} 500 < P <=990]{La version sera installée, sauf s'il existe une version appartenant à la distribution par défaut ou si la version installée est plus récente.}
\item[\hspace{1mm} 100 < P <=500]{La version sera installée, sauf s'il existe une version appartenant à une autre distribution ou si la version installée est plus récente.}
\item[\hspace{1mm} 0 < P <=100]{La version sera installée si aucune version du paquet n'est installée.}
\item[\hspace{1mm} P < 0]{Cette priorité empêche l'installation de la version.}
\end{description}
 
\hspace{1mm}  Détermination de la version des paquets et des propriétés des distributions
\vspace{5mm} \\
 
 
\hspace{1mm}  Chaque source listée dans sources.list doit fournir les fichiers Packages et Release qui décrivent les paquets disponibles à cet endroit
\vspace{5mm} \\
 
 
\hspace{1mm}  Le fichier package doit se trouver dans .../dists/dist-name/component/arch. Il consiste en entrées composées de lignes, une pour chaque paquet disponible. Seules 2 lignes des entrées sont pertinentes pour la détermination des priorités:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} la ligne Package]{donne le nom du paquet}
\item[\hspace{1mm} la ligne Version]{donne le numéro de version du paquet}
\end{description}
 
\hspace{1mm}  Le fichier Release se trouve normalement dans le répertoire .../dist/dist-name Il consiste en une seule entrée composée de plusieurs lignes qui s'applique a tous les paquets situés dans les répertoires sous le répertoire parent
\vspace{5mm} \\
 
 
\hspace{1mm} la ligne Archive nomme l'archive à laquelle appartiennent tous les paquets situés dans les répertoires.
 
{\ttfamily
Pin: release a=stable\\
}
\vspace{8mm}
 
\hspace{1mm} La ligne Version indique la version de la distribution.
 
{\ttfamily
Pin: release v=3.0\\ Pin: release a=stable, v=3.0\\ Pin: release 3.0\\
}
\vspace{8mm}
 
\hspace{1mm} La ligne Component nomme un composant qui indique le type de licence associée aux paquets situés dans les répertoires sous le fichier Release.
 
{\ttfamily
Pin: release c=main\\
}
\vspace{8mm}
 
\hspace{1mm} La ligne Origin nomme l'origine des paquets situés dans les répertoires sous le fichier Release.
 
{\ttfamily
Pin: release o=Debian\\
}
\vspace{8mm}
 
\hspace{1mm} La ligne Label indique un label pour les paquets qui se trouvent dans les répertoires sous le fichier Release.
 
{\ttfamily
Pin: release l=Debian\\
}
\vspace{8mm}
 
\hspace{1mm}  Tous les fichiers Packages et Release récupérés dans des sources listées par le fichier sources.list sont conservés dans le répertoire /var/lib/apt/lists ou dans le fichier spécifié par la variable Dir::State::Lists dans le fichier apt.conf.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
