wiki/HowtoDebian/Backports.md
2019-09-24 00:16:31 +02:00

144 lines
4.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
categories: system
title: Howto Debian backports
...
* Documentation : <https://backports.debian.org/Instructions/>
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 buster-backports main
~~~
si besoin de `non-free` :
~~~
deb http://mirror.evolix.org/debian buster-backports main contrib non-free
~~~
> *Note* : Pour Debian 9, le contenu de `/etc/apt/sources.list.d/backports.list` sera :
>
> ~~~
> deb http://archive.debian.org/debian/ stretch-backports main
> ~~~
>
> Et pour Debian 8, le contenu de `/etc/apt/sources.list.d/backports.list` sera :
>
> ~~~
> deb http://archive.debian.org/debian/ jessie-backports main
> ~~~
>
> avec la commande suivante car les backports de Jessie ne sont plus tenus à jour (il faut donc éviter de les utiliser) :
>
> ~~~
> # echo "Acquire::Check-Valid-Until no;" > /etc/apt/apt.conf.d/99no-check-valid-until
> ~~~
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=buster-backports
Pin-Priority: -1
Package: ansible
Pin: release n=buster-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 buster-backports main contrib non-free
~~~
avec un _pinning APT_ :
~~~
Package: *
Pin: release n=buster-backports
Pin-Priority: -1
Package: linux-image-amd64 linux-base initramfs-tools firmware-linux-free firmware-bnx2 firmware-bnx2x apparmor libapparmor-perl
Pin: release n=buster-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
~~~