120 lines
3.6 KiB
Markdown
120 lines
3.6 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 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
|
||
~~~
|