To content | To menu | To search

Configuration Linux

Des astuces pour configurer Linux et utiliser des logiciels libres.

Entries feed

Monday 5 February 2024

Mise à niveau RaspberryPI vers Debian 12 Bookworm

Il n'existe pas de procédure automatique pour mettre à niveau Debian. Ci-après les différentes étapes qui m'ont permi d'effectuer cette mise à jour, afin que le système fonctionne.

Attention : Cette procédure manuelle pouvant bloquer le système, il est préférable :

  1. De sauvegarder les données avant de commencer cette mise à niveau.
  2. D'avoir un autre micro-SD, ou un autre PC pouvant lire la micro-SD du RaspberryPI, afin de pouvoir modifier la configuration de démarrage, en cas de besoin.

Mise à jour de la version actuelle

Avant de mettre à niveau, vers la nouvelle version, il faut s'assurer que l'installation actuelle est à jour de tous ces paquets. Pour cela vous pouvez par exemple exécuter les commandes suivantes depuis le shell

sudo apt update && sudo apt --yes dist-upgrade

Afin de gagner un peu de place, on peut aussi nettoyer les paquets téléchargés et supprimer ceux devenus inutiles. Par exemple avec les commandes suivantes :

sudo apt clean && sudo apt --purge --yes autoremove

Si le kernel a été mise à jour, il convient de redémarrer le Raspberry PI avant de continuer.

Préparation de la mise à niveau

Pour préparer la mise à niveau, il est nécessaire de modifier le fichier apt sources.list afin de remplacer le nom de l'ancienne version par la nouvelle et d'ajouter le groupe de paquets non-free-firmware. Par exemple avec les commandes suivantes :

sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list

Afin de pouvoir reprendre la main si l'interface graphique ne répond plus, il est préférable de démarrer le service ssh et de s'assurer qu'il est accessible depuis un autre PC. Il faut aussi désactiver l'économiseur d'écran  et les économies d'énergies, afin de conserver un écran toujours allumé.

Mise à niveau

C'est la phase la plus importante. Pendant cette phase, les mises à jour vont être téléchargées, ce qui peut prendre plus ou moins de temps, suivant le début de la connexion Internet, puis elles vont être installées. Pendant l'installation, le terminal peux afficher plusieurs écrans avec des questions :

  • Certains services doivent être redémarrés, il faut toujours accepter.
  • Des paramètres peuvent être demandés. Il faut répondre aux questions en fonction de vos besoins.
  • Des fichiers de configuration peuvent être mise à jour. L'outil permet de comparer le fichier local par rapport au nouveau fichier, il est préférable d'installer le nouveau fichier, puis si besoin d'appliquer manuellement vos modifications.

Afin d'effectuer la mise à nouveau, vous pouvez utiliser par exemple les commandes suivantes :

screen -l
sudo apt update && sudo apt --yes dist-upgrade

Une fois, cette partie de la mise à niveau terminée, on peut redémarrer l'ordinateur. Ensuite il faut mette à niveau le. Par exemple via la commande :

sudo shutdown -r now

Mise à niveau du kernel

Le kernel de la nouvelle version Debian n'est plus installé via un paquet spécifique Raspberry PI, mais via un paquet linux-image. Si après redémarrage le réseau n'est plus disponible, voir le guide de dépannage plus bas. Pour la mise à niveau du kernel il faut réaliser plusieurs modifications : suppression de l'ancien kernel, modification du point de montage de la partition /boot, installation du firmware puis du kernel et configuration de auto initramfs. Par exemple via les commandes suivantes (pour un Raspberry PI 4, pour les autres version, il faut adapter le nom du kernel) :

sudo dpkg --purge --force-depends raspberrypi-kernel raspberrypi-bootloader
sudo umount /boot
sudo fsck -y /boot
sudo mkdir /boot/firmware
sudo sed -i.bak -e "s#boot#boot/firmware#" /etc/fstab
sudo systemctl daemon-reload
sudo mount /boot/firmware
sudo apt --yes install raspi-firmware
sudo apt --yes install linux-image-rpi-v8 linux-headers-rpi-v8
sudo sed -i.bak '$ a\auto_initramfs=1' /boot/firmware/config.txt
sudo shutdown -r now

Guide de dépannage

Services

Suite à cette mise à niveau, certains services peuvent ne pas démarrer automatiquement. Pour obtenir la liste des services désactiver, on peut par exemple utiliser la commande suivante :

 
sudo systemctl list-unit-files --type=service --state=disabled

Certains services sont arrêtés, ce qui est normal. Mais par exemple si NetworkManager est arrêté, alors le réseau ne fonctionne pas. Il faut l'activer et le démarrer, par exemple avec les commandes suivantes :

sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
sudo systemctl status NetworkManager

Carte réseau

Les versions récentes de Linux utilisent un nom de carte réseau invariant, c'est à dire que son nom est lié à la façon dont la carte réseau est connectée dans le PC au lieu d'être un numéro chrologique eth. Par exemple avec la version précédente ma carte réseau s'appelait eth0 et maintenant elle s'appelle end0. Suite à cette modification de nom, il faut mettre à jour la configuration du firewall. Cette mise à jour n'est pas détaillée ici, car elle dépend du firewall que vous utilisez.

Sunday 16 December 2012

Gestion de disques lvm à partir du live CD Ubuntu 12.04

Installer le paquet lvm2

Créer les pv

Créer les vg :

Ajout d'un second disque avec la commande sudo vgextend hd1_vg /dev/sdc1

Utilisation des nouveaux vg :

Afin que Linux reconnaissance les vg il faut exécuter la commande sudo vgchange -ay.

Créer les lv

Pour créer un lv sans mirroir et préciser sur quel pv exécuter la commande :

sudo lvcreate -L 256M --name tmplv hd1_vg /dev/sdb1

Créer un lv en mirroir :

Comme le vg ne possède que 2 disques, je vais stocker le journal en mémoire :

sudo lvcreate -L 2G -m 1 --mirrorlog core --name varlv hd1_vg

Affichage détaillé des lv :

Afin de savoir sur quels disques sont créés les lv exécuter la commande :

lvs -a -o +devices

Sunday 23 September 2012

Réinitialiser les paramètres réseau avec Ubuntu 12.04

Si le serveur DHCP n'était pas disponible lors du démarrage de Linux il peut être nécessaire de réinitialiser l'interface afin qu'elle ai une adresse valide. Avec Ubuntu 12.04 la commande est la suivante :

sudo initctl restart network-interface INTERFACE=eth0

Saturday 22 September 2012

Hauppauge WinTV-HVR 900 avec Ubuntu 12.04

Dépôt multiverse

Installer linux-firmware-nonfree

cd /lib/firmware

sudo wget http://kernellabs.com/firmware/drxd/drxd-a2-1.1.fw

sudo wget http://kernellabs.com/firmware/drxd/drxd-b1-1.1.fw

Friday 20 January 2012

Supprimer les fichiers de configuration résiduelle après suppression d'un paquet avec apt-get

Exécuter la commande :

sudo dpkg --list | grep ^rc | awk '{print $2}' | xargs sudo dpkg -P

Thursday 19 January 2012

Problème libvirt le bridge réseau virbr n'est pas démarré

Exécuter la commande "sudo virsh net-list --all".

Si le réseau est inactif alors exécuter les 2 commandes "sudo virsh net-autostart default" et "sudo virsh net-start default".

Thursday 2 June 2011

Dépannage Ubuntu 10.04 si grub ne se lance plus

Démarrer le CD d'installation d'Ubuntu en mode "test sans installation".

Ouvrir une ligne de commande :

  • sudo apt-get install lvm2
  • sudo vgscan
  • sudo vgchange -ay
  • mount /target /dev/nomvg/nomlv
  • chroot /target
  • mount -t devtmpfs devtmpfs /dev
  • mount /boot
  • apt-get --reinstall install grub
Pour installer grub :
  • grub-install /dev/sda
Pour générer le menu :
  • update-grub
  • vim /boot/grub/menu.lst

Saturday 15 January 2011

Ajout de nouvelles locales sur un serveur Ubuntu

Ajouter la liste des locales dans le fichier /var/lib/locales/supported.d/xx où xx est le code langue. La ligne à ajouter dans contenir le nom de la locale puis un espace et le nom de la page de code par exemple fr_FR.ISO-8859-1 ISO-8859-1. Puis exécuter la commande sudo locale-gen.

Tuesday 22 December 2009

Dictionnaire Français pour Eclipse

Sous Eclipse je n'ai pas trouvé la méthode pour activer le dictionnaire Français natif. Pour contourner le problème on peut récupérer le dictionnaire ASpell et l'intégrer comme dictionnaire personnel.

Continue reading...

Saturday 10 February 2007

Démarrage de service sous Debian/Ubuntu

L'utilitaire update-rc.d permet de définir le démarrage et l'arrêt de services sous Debian et Ubuntu.

Continue reading...

Saturday 24 September 2005

SELinux et serveur Samba

Le partage du répertoire personnel ne fonctionne pas par défaut.

Voici la solution ...

Continue reading...

SELinux et serveur httpd

J'ai activé SELinux lors de l'installation de Linux sur mon PC. J'ai eu beaucoup de difficultés pour publier, sur le serveur web Apache local, un dossier présent dans mon home directory.

Voici la solution...

Continue reading...