--- categories: system title: Howto Debian backports ... * Documentation : Une distribution stable de Debian garde en permanence (ou presque) les mêmes versions des logiciels (c'est le principe d'une version stable). Certaines versions plus récentes sont néanmoins distribuées via des packages Debian de [backports](https://backports.debian.org). ## Utilisation Pour disposer des backports, on ajoutera le dépôt Debian Backports dans un fichier `/etc/apt/sources.list.d/backports.list` : ~~~ deb http://mirror.evolix.org/debian stretch-backports main ~~~ La priorité des packages de Backports est de 100, cela signifie qu'ils ne seront installés que si c'est explicitement demandé. Pour s'assurer de n'installer que les packages nécessaires *et* de recevoir ensuite les mises à jour, on utilise le _pinning APT_ en en créant le fichier `/etc/apt/preferences.d/backports`. Exemple ici pour avoir un backport du package *ansible* : ~~~ Package: * Pin: release n=stretch-backports Pin-Priority: -1 Package: ansible Pin: release n=stretch-backports Pin-Priority: 999 ~~~ ## Mise-à-jour du noyau Linux On précisera éventuellement les sections `contrib` et `non-free` si besoin de firmwares comme *firmware-bnx2* ou *firmware-bnx2x* : ~~~ deb http://backports.debian.org/debian-backports stretch-backports main contrib non-free ~~~ avec un _pinning APT_ : ~~~ Package: * Pin: release n=stretch-backports Pin-Priority: -1 Package: linux-image-4.17.0-0.bpo.1-amd64 linux-base initramfs-tools firmware-linux-free firmware-bnx2 firmware-bnx2x apparmor libapparmor-perl Pin: release n=stretch-backports Pin-Priority: 999 ~~~ ## Créer une image CD netinst de stretck avec un kernel backports (DRAFT) ~~~ # apt build-dep debian-installer ~~~ ~~~ # dpkg-checkbuilddeps ~~~ ~~~ $ apt-get source debian-installer $ cd debian-installer-20170615+deb9u3/build ~~~ Éditer le fichier ./build/config/amd64.cfg: ~~~ KERNELVERSION = 4.15.0-0.bpo.2-amd64 KERNELMAJOR = 4.15 ~~~ Éditer le fichier ./build/config/common: ~~~ LINUX_KERNEL_ABI ?= 4.15.0-0.bpo.2 DEBIAN_RELEASE = stretch USE_UDEBS_FROM ?= stable ~~~ Éditer le fichier ./build/sources.list.udeb.local : ~~~ deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian stretch main/debian-installer deb http://deb.debian.org/debian stretch-backports main/debian-installer ~~~ ~~~ # make reallyclean # fakeroot make build_netboot [...] install -m 644 -D ./tmp/netboot/mini.iso dest/netboot/mini.iso update-manifest dest/netboot/mini.iso "tiny CD image that boots the netboot installer" ./tmp/netboot/udeb.list ~~~ Si tout se passe bien, vous obtiendrez un nouvel ISO: ~~~ $ file ./tmp/netboot/mini.iso dest/netboot/mini.iso ./tmp/netboot/mini.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 240, 832 sectors; partition 3 : ID=0x1, start-CHS (0x25,0,1), end-CHS (0x2a,63,32), startsector 75776, 12288 sectors dest/netboot/mini.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 240, 832 sectors; partition 3 : ID=0x1, start-CHS (0x25,0,1), end-CHS (0x2a,63,32), startsector 75776, 12288 sectors ~~~ Pour copier le fichier ISO sur une clé USB: ~~~ $ cat dest/netboot/mini.iso > /dev/sdX $ fdisk -l /dev/sdX Disque /dev/sdX : 14,6 GiB, 15664676864 octets, 30595072 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0x0421e6d7 ~~~