wiki/HowtoDebian/Backports.md

175 lines
5.6 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.sources` :
~~~
Types: deb
URIs: http://mirror.evolix.org/debian
Suites: bookworm-backports
Components: main
Signed-by: /usr/share/keyrings/debian-archive-bookworm-automatic.gpg
~~~
Si besoin de `non-free`, lajouter à `Suites`.
~~~
Types: deb
URIs: http://mirror.evolix.org/debian
Suites: bookworm-backports
Components: main contrib non-free
Signed-by: /usr/share/keyrings/debian-archive-bookworm-automatic.gpg
~~~
Nous mettons de plus à disposition un dépôt avec quelques paquets rétroportés qui ne sont pas disponibles dans le dépôt officiel. Il est nécessaire davoir mis en place [la clef de notre dépôt](/HowtoDebian/SourcesList#clef-pgp-pour-evolix).
~~~
Types: deb
URIs: http://pub.evolix.org/evolix
Suites: bullseye-backports
Components: main
Signed-by: /etc/apt/keyrings/pub_evolix.asc
~~~
> Pour Debian 11, le contenu de `/etc/apt/sources.list.d/backports.list` sera :
>
> ~~~
> deb http://mirror.evolix.org/debian bullseye-backports main
> ~~~
>
> Pour Debian 10, le contenu de `/etc/apt/sources.list.d/backports.list` sera :
>
> ~~~
> deb http://mirror.evolix.org/debian buster-backports main
> ~~~
>
> Pour Debian 9, le contenu de `/etc/apt/sources.list.d/backports.list` sera :
>
> ~~~
> deb http://archive.debian.org/debian/ stretch-backports main
> ~~~
>
> 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 et Stretch 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
> ~~~
Depuis Squeeze, le dépôt des retroportages annonce « NotAutomatic: yes » and « ButAutomaticUpgrades: yes ». Cela signifie que les paquets de ces dépôts ne sont pas installés automatiquement (bien quils aient un numéro de version supérieur à celui de la version de Debian utilisé), mais quils sont mis à jour sils ont été installés depuis ce dépôt. Ainsi, il nest pas nécessaire de configurer dépinglage (« pinning APT »).
Installer un paquet de backports revient à forcer temporairement lutilisation du dépôt (`apt install -t bookworm-backports <paquet> [...]`) ou forcer simplement la version du paquet (`apt install <paquet>/bookworm-backports [...]`).
## 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://mirror.evolix.org/debian bullseye-backports main contrib non-free
~~~
avec un _pinning APT_ dans `/etc/apt/preferences.d/0-backports-defaults` :
~~~
Package: *
Pin: release n=bullseye-backports
Pin-Priority: -1
Package: linux-image-amd64 linux-base initramfs-tools firmware-linux-free firmware-bnx2 firmware-bnx2x apparmor libapparmor-perl firmware-iwlwifi
Pin: release n=bullseye-backports
Pin-Priority: 999
Package: linux-image-*
Pin: release n=bullseye-backports
Pin-Priority: 999
~~~
~~~
# apt upgrade
~~~
> *Note* : pour faire joli, vous devez supprimer `firmware-iwlwifi` sur les serveurs
## 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
~~~