167 lines
4.9 KiB
Markdown
167 lines
4.9 KiB
Markdown
---
|
||
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 bullseye-backports main
|
||
~~~
|
||
|
||
si besoin de `non-free` :
|
||
|
||
~~~
|
||
deb http://mirror.evolix.org/debian bullseye-backports main contrib non-free
|
||
~~~
|
||
|
||
Nous mettons de plus à disposition un dépôt avec quelques paquets rétroportés qui ne sont pas disponible dans le dépôt officiel. Il est nécessaire d’avoir mis en place [la clef de notre dépôt](/HowtoDebian/SourcesList#clef-pgp-pour-evolix).
|
||
|
||
~~~
|
||
deb http://pub.evolix.org/evolix bullseye-backports main
|
||
~~~
|
||
|
||
> *Note* : 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 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=bullseye-backports
|
||
Pin-Priority: -1
|
||
|
||
Package: ansible
|
||
Pin: release n=bullseye-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://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
|
||
~~~
|