[Résolu] MAJ Debian avec une clé bootable - Création d'un dépôt local

Bonjour,

J’ai un vieil ordinateur portable non relié au net. Il est sous 11.2.
J’ai une clé bootable avec Debian 12.
J’aimerais mettre à jour le portable avec la clé sans tout réinstaller.
Est-ce que c’est possible ?

J’ai essayé très naïvement de copier les paquets dans un répertoire local et de pointer une ligne de sources.list dessus, mais rien à faire.

Sylvain

Bonjour,

Quelle est l’ISO utilisée pour graver ta clef?
Car de fait, en fonction de ce qui a été installé sur ton PC en 11.2 tu peux te retrouver à mettre à jour des paquets qui ne seront pas dessus (ce qui est fort à parier d’ailleurs).

@Zargos
Tu as raison, je crois que je cherche les ennuis avec cette approche.
Je vais refaire une installation de zéro.

Bien, après une installation neuve, même constat : je ne peux pas installer de nouveau paquet depuis la clé bootable qui a servi à l’installation.
J’ai pourtant une entrée ‹ cdrom:\… › dans le sources.list, que j’ai changé et adapté pour essayer en ‹ file:\… › mais rien à faire.
Je sens que je vais graver de la galette. :unamused:

… au passage, je trouve que Debian a pris du bide.
Ce portable était initialement sous Win7. Devenant de plus en plus lent, j’ai tenté Debian 8 en 2015 et le portable a retrouvé du souffle pour une utilisation bureautique.
Et là, avec Debian 12.4 et Gnome sous Wayland ça se traîne pas mal. Je vais passer à un gestionnaire plus léger. Enfin quand j’aurai gravé mes galettes.

Bonsoir,

N’est il pas envisageable d’utiliser un téléphone 4G en modem via un cordon USB ?
Où d’investir dans un « dongle » Wifi ?

Cordialement.

@miko N’est il pas envisageable d’utiliser un téléphone 4G en modem via un cordon USB ?
Où d’investir dans un « dongle » Wifi ?

En fait je ne préférerais pas. J’aimerais garder ce vieux portable hors réseau.

salut
je fais ça dans le cadre d’un réseau local :
Dans le sources.list :
deb [trusted=yes] http://192.168.1.46/MIROIR/BULLSEYE ./
Dans le dossier contenant les .deb :
dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz

en mettant quelquechose comme
deb [trusted=yes] file:/home/apt/debian
tu devrais atteindre ton but

Merci @dindoun.

J’ai donc mis l’arborescence des paquets dans un répertoire.
J’ai lancé dpkg-scanpackages, ça tourne, tourne…

J’ai fait un test avec les paquets du 1er DVD (/pool) et cela a été plutôt rapide.

Là, avec les paquets des 21 DVD ça rame plutôt pas mal… Le fichier de sorti (Packages.gz) reste vide pour le moment.

Le man de pdkg-scanpackagesindique que la commande trie les paquets. C’est à dire ?

je vais être franc avec toi, je n’ai aucune idée de comment ça marche vraiment, j’ai trouvé ça quelque part
dans cette page:

tu trouveras des liens peut être utiles

Alors le seul moyen c’est de faire une ISO d’installation à l’aide de simple-CDD. Car il permet de faire une ISO qui contient tous les packages nécessaires à une l’installation customisée sans avoir besoin d’un repository externe.

C’est pas ça que tu cherches à faire ?

https://wiki.debian.org/Installation+Archive+USBStick

Merci pour vos réponses ! Voici où j’en suis :

  • J’ai récupéré l’ensemble des paquets des 21 DVD Debian par simple copie des répertoires \pool\ vers un répertoire local /home/sylvain/Logiciels/Debian/dep-loc/. Soient 64008 fichiers et 88 Go ~.
  • Ensuite j’ai lancé dpkg-scanpackages comme indiqué ci-dessus. Après une heure de travail et la moitié du swap de 8Go utilisé, j’ai obtenu dans /home/sylvain/Logiciels/Debian/dep-loc/un fichier Packages.gz de 18 Mo.
  • J’ai ensuite recopié le tout sur le portable isolé dans le même /home/sylvain/Logiciels/Debian/dep-loc/.
  • Puis j’ai adapté le sources.listcomme indiqué ci-dessus.
  • Enfin j’ai tenté un apt update. Là j’ai cru que Debian s’est mis à rire : ben non, raté.
  • Nouvel essai : apt install terminator. Le paquet est trouvé ! Je poursuis et… ben non. Le chemin d’accès aux fichiers n’est pas correct.

En fait, je crois que mon URI file: n’est pas correcte dans le sources.list. J’en ai essayé plusieurs sans succès.
Voici ma ligne :
deb [trusted=yes] file:/home/sylvain/Logiciels/Debian/ dep-loc/

Et voici ce que me dit apt pour un fichier en particulier :
E: Impossible de récupérer file:/home/sylvain/Logiciels/Debian/./main/k/keybinder-3.0/girl1.2-keybinder-3.0_0.3.2-1.1_amd64.deb

J’ai essayé sans succès les lignes suivantes :
deb [trusted=yes] file:/home/sylvain/Logiciels/Debian/dep-loc ./
deb [trusted=yes] file:/home/sylvain/Logiciels/Debian/dep-loc/

Je continue à chercher…

@Zargos
Bien vu merci.
Je tente si me casse encore les dents avec la première méthode.

@Clochette

C’est pas ça que tu cherches à faire ?

ça y ressemble furieusement… merci !

Bonjour,

Voici le résultat de mes tâtonnements, qui finalement fonctionnent.

1- Recopie des répertoires /pool des DVD d’installation dans le répertoire /opt/debian/stable (plus loin $REP).
J’obtiens les sous-répertoires $REP/main, $REP/contrib et $REP/non-free-firmware, chacun contenant eux-mêmes des sous-répertoires, qui finalement contiennent les paquets.

2- Lancement de la commande dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz. (c’est très long et ça consomme beaucoup de mémoire, sans doute pour trier les 64000 paquets par ordre alpha. Pour un i5-4670K et 8 Go RAM + 8 Go de swap, ~ 1 heure).

3- Transfert de $REP sur le portable « isolé » via un disque externe. Là encore c’est très long mais j’ai ainsi évité la génération du fichier Packages sur le portable bien moins puissant (c’est dire…).

4 - Contrôle du fichier Packages.gz obtenu dans $REP :

  • dézippage ;
  • édition : pour chaque paquet la ligne Filename: doit être suivie d’un chemin commençant par stable\(pour être conforme à mon répertoire).
    • pour ma part, j’avais : Filename: ./main/...
      et j’ai du corriger le fichier avec :
      sed -i.bak 's/Filename: \./Filename stable/' Packages
  • il ne semble pas que le ‹ rezippage › de Packages soit obligatoire…

5 - Le fichier sources.list ne comporte qu’une ligne :
deb [trusted=yes] file:/opt/debian stable/

6 - Terminer par apt update.

Désormais l’installation de paquets se fait naturellement avec apt install.

Merci de m’avoir mis sur la voie !