# Upgrade debian 11 debian 12

**URL:** <https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117>\
**Category:** Support Debian\
**Created:** [Avril 15, 2025, 4:28 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117 "2025-04-15T16:28:26Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 15, 2025, 4:28 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/1 "2025-04-15T16:28:26Z")

</div>

Bonjour,

J’ai suivi la procédure pour upgrade vers debian 12 :

#apt update  
#apt full-upgrade  
#sed -i ‹&nbsp;s/bullseye/bookworm/g&nbsp;› /etc/apt/sources.list

> **[Mise à niveau Debian 11 vers Debian 12 Bookworm](https://www.it-connect.fr/tuto-mise-a-niveau-debian-11-vers-debian-12-bookworm/)**
>
> Comment effectuer une mise à niveau de Debian 11 bullseye vers Debian 12 bookworm ? C'est ce que nous allons voir dans ce tutoriel pas à pas !

Je coince à ce niveau là dans le tuto : je ne sais pas si je dois rajouter ces dépôts là ?!

"Pour les personnes qui utilisent aussi **le dépôt «&nbsp;non-free&nbsp;» de Debian 11** , il y a une **modification supplémentaire** à effectuer. En effet, Debian 12 présente la particularité d’utiliser des composants propriétaires donc il y a un dépôt supplémentaire à rajouter : **non-free-firmware**. Dans ce cas, ajoutez-le à la suite, comme ceci :

deb [Index of /debian-security](http://deb.debian.org/debian-security/) bullseye-security main contrib non-free non-free-firmware deb-src [Index of /debian-security](http://deb.debian.org/debian-security/) bullseye-security main contrib non-free non-free-firmware"

Voici mon ancien sources.list :

$ cat sources.list.bkp

# deb cdrom:[Debian GNU/Linux 11.0.0 _Bullseye_ - Official amd64 NETINST 20210814-10:07]/ bullseye main

#deb cdrom:[Debian GNU/Linux 11.0.0 _Bullseye_ - Official amd64 NETINST 20210814-10:07]/ bullseye main

deb [Index of /debian](http://deb.debian.org/debian/) bullseye main contrib non-free  
deb-src [Index of /debian](http://deb.debian.org/debian/) bullseye main contrib non-free

deb [Index of /debian-security](http://security.debian.org/debian-security) bullseye-security main  
deb-src [Index of /debian-security](http://security.debian.org/debian-security) bullseye-security main

```
# bullseye-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main

```

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Avril 15, 2025, 4:51 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/2 "2025-04-15T16:51:47Z")

</div>

Bonjour,

oui, tu peux utiliser ceci dans ton fichier `sources.list` pour avoir la nouvelle dénomination des dépôts `non-free` (je n’ai pas besoin des sources des paquets donc je n’ai pas les lignes `deb-src`):

```auto
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware 
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware

```

Et c’est **après** la modification du fichier `sources.list` qu’il faut faire le `apt update` et le `apt full-upgrade` (même si ça ne mange pas de pain de mettre son système à jour avant)

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 15, 2025, 5:33 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/3 "2025-04-15T17:33:27Z")

</div>

Tout à fait:

1. apt update
2. apt upgrade
3. modification du sources.list
4. apt update
5. apt full-upgrade

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 15, 2025, 6:07 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/4 "2025-04-15T18:07:59Z")

</div>

Zargos  
1 et 2 ok. J’en suis au point 3.

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Avril 16, 2025, 9:07 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/5 "2025-04-16T09:07:16Z")

</div>

On m’a conseillé de modifier la liste des sources avec

> nnn # apt edit-sources

mais je ne me souviens plus pourquoi . . .

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Avril 16, 2025, 9:21 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/6 "2025-04-16T09:21:28Z")

</div>

`apt edit-sources` ouvre ton fichier `sources.list` avec ton éditeur de texte par défaut, et à l’enregistrement, s’il détecte que le fichier a été modifié, il t’invite à exécuter `apt-get update`, mais c’est à peu près tout.

Il ne vérifie pas si les adresses des dépôts ou les noms des sections sont corrects, par exemple, et il ne tient pas non plus compte des fichiers sous `/etc/apt/sources.list.d`.

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Avril 16, 2025, 10:02 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/7 "2025-04-16T10:02:47Z")

</div>

Merci, pas très utile donc.  
Juste pour le cas où on aurait oublié qu’on vient de modifier le fichier . . .

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 16, 2025, 10:19 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/8 "2025-04-16T10:19:01Z")

</div>

Dans mon sources.list «&nbsp;bullseye&nbsp;» je n’ai que ce dépot en «&nbsp;non-free&nbsp;» :  
deb [Index of /debian](http://deb.debian.org/debian/) bullseye main contrib non-free  
deb-src [Index of /debian](http://deb.debian.org/debian/) bullseye main contrib non-free  
Donc j’ajoute "non-free-firmware à la fin ?  
Ou j’ajoute la ligne " deb [Index of /debian](http://deb.debian.org/debian/) bookworm main contrib non-free non-free-firmware"en entier en-dessous ?

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Avril 16, 2025, 11:24 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/9 "2025-04-16T11:24:42Z")

</div>

Apparemment tu n’as pas besoin des lignes deb-src, tu peux les supprimer ou les commenter.  
Je ne sais pas ce qu’est censé montrer ton lien [Index of /debian](http://deb.debian.org/debian/)  
mais voilà ce qu’il faut écrire dans le fichier pour bookworm

> deb [Index of /debian](https://deb.debian.org/debian/) bookworm main contrib non-free non-free-firmware  
> deb [https://security.debian.org](https://security.debian.org) bookworm-security main contrib non-free non-free-firmware  
> deb [Index of /debian](https://deb.debian.org/debian/) bookworm-updates main contrib non-free non-free-firmware

Compris, l’adresse est remplacée par index/machin.  
Les modifications automatiques sont pénibles . . /.

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 16, 2025, 12:21 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/10 "2025-04-16T12:21:33Z")

</div>

Ok. Je modifie le sources list. Je lance l’upgrade.

Par contre c’est assez déroutant d’être obligé de modifier le fichier en totalité.

Je pensais que modifier seulement le nom de la version sufffisait.

---

<div class="post-metadata">

**Author:** ![antek](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ecccb3/32.png) [@antek](https://www.debian-fr.org/u/antek)\
**Post date:** [Avril 16, 2025, 12:31 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/11 "2025-04-16T12:31:23Z")

</div>

D’une version à l’autre peuvent apparaitre des changements de paradigme (j’aime bien ce mot) qui se répercutent fatalement. Et puis faut bien avoir un peu de travail, sinon c’est pas amusant . . .

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 16, 2025, 2:30 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/12 "2025-04-16T14:30:28Z")

</div>

Voici donc mon «&nbsp;sources.list&nbsp;» modifié. Tu confirmes ?

```
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian/ bookworm main contrib non-free

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
#deb-src http://security.debian.org/debian-security bookworm-security main

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian/ bookworm-updates main
```

---

<div class="post-metadata">

**Author:** ![anon95513332](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/aeb1de/32.png) [@anon95513332](https://www.debian-fr.org/u/anon95513332)\
**Post date:** [Avril 16, 2025, 8:14 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/13 "2025-04-16T20:14:14Z")

</div>

Hello,

Veuillez trouver un petit script que j’ai fait pour l’association où je suis bénévole.

Je l’ai appelé simplement D11toD12.sh :

```
#!/bin/bash

# Fonction pour vérifier les màj et faire les màj du système
function update_system() {
    echo "Vérification des mises à jour disponibles..."
    apt update

    echo "Installation des mises à jour..."
    apt upgrade -y
    apt full-upgrade -y
    apt --purge autoremove -y
}

# Vérification des màj disponibles pour Debian 11
echo "=== Mise à jour de Debian 11 ==="
update_system

# Modification du fichier /etc/apt/sources.list pour remplacer bullseye par bookworm
echo "=== Modifications du fichier sources.list ==="
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
# Modification du fichier /etc/apt/sources.list pour ajouter non-free-firmware pour bookworm
sed -i 's/$/ non-free-firmware/' /etc/apt/sources.list

# Mise à niveau de Debian 11 vers Debian 12
echo "=== Montée de version de Debian 11 vers Debian 12 ==="
update_system

# Vérification des mises à jour disponibles pour Debian 12
echo "=== Vérification des mises à jour disponibles pour Debian 12 ==="
update_system

# Nettoyage des fichiers inutiles
echo "=== Nettoyage des fichiers inutiles ==="
apt autoremove --purge -y
apt clean

echo "=== Mise à jour et montée de version terminées ==="
```

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 17, 2025, 7:49 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/14 "2025-04-17T07:49:51Z")

</div>

ajoute aussi les backports, ça peut être utilise (pour certains firmware par exemple, ou pilote video si tu as du nvidia).

Pour les mises à jour auto, il suffit d’aller paramétrer dans l’application Software & updates, c’est préférable à un un script (qui de plus est toujorus plus personnel) 😉  
Perso je n’autorise pas un script à modifier les sources.list car il pourrait être détourné.

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 17, 2025, 8:46 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/15 "2025-04-17T08:46:18Z")

</div>

Celui là ?

`deb http://deb.debian.org/debian bookworm-backports main`

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 17, 2025, 10:02 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/16 "2025-04-17T10:02:28Z")

</div>

> [@toto691](#):
>
> deb [Index of /debian](http://deb.debian.org/debian) bookworm-backports main

Oui mais avec `main contrib non-free non-free-firmware` bien sur.

---

<div class="post-metadata">

**Author:** ![toto691](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/6bbea6/32.png) [@toto691](https://www.debian-fr.org/u/toto691)\
**Post date:** [Avril 21, 2025, 9:23 UTC](https://www.debian-fr.org/t/upgrade-debian-11-debian-12/91117/17 "2025-04-21T21:23:12Z")

</div>

Tout s’est bien passé.

Merci pour votre aide
