LZK - (FR) suivi des tâches / (EN) tasks tracking

French/français : Bienvenue sur le logiciel de suivi du projet LibraZiK. Après vous être inscrit, vous pouvez commenter les tâches ouvertes, créer de nouvelles tâches, voter pour des tâches, vous inscrire à des tâches pour être tenu au courant des évolutions,… Pensez à être le plus précis possible dans vos messages. D'avantage d'information concernant le logiciel de suivi du projet LibraZiK.

Anglais/english : Welcome to the LibraZiK project tracking software. After registering, you can comment open tasks, create new tasks, vote for tasks, register for tasks to be kept informed of developments,… Remember to be as precise as possible in your messages. More information about the LibraZiK project tracking software. Feel free to write in French or in English.

  • État Non-confirmé / unconfirmed
  • Pourcentage achevé
    0%
  • Type Rapport de bogue / bug report
  • Catégorie distribution → bogue distribution / distribution bug
  • Assignée à Personne
  • Système d'exploitation
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version version 3 alpha test
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: LZK - (FR) suivi des tâches / (EN) tasks tracking
Ouverte par Pierrick Hervé - 05.05.2020

FS#1066 - postinst erreur librazik-optimisations-rtirq

Bonjour,

Erreur à la configuration post-installation script du paquetage librazik-optimisations-rtirq 3 si GRUB n’est pas configuré.
(système multi-boot avec GRUB configuré sur une autre distribution)

erreur:

Paramétrage de librazik-mate-all (3.01) ...
Des erreurs ont été rencontrées pendant l'exécution :
 librazik-optimisations-rtirq
 librazik-optimisations-all
E: Sub-process /usr/bin/dpkg returned an error code (1)
Échec de l'installation d'un paquet. Tentative de récupération :
Paramétrage de librazik-optimisations-rtirq (3) ...
sed: impossible de lire /etc/default/grub: Aucun fichier ou dossier de ce type

dpkg: erreur de traitement du paquet librazik-optimisations-rtirq (--configure) :
 installed librazik-optimisations-rtirq package post-installation script subprocess returned error exit status 2

dpkg: des problèmes de dépendances empêchent la configuration de librazik-optimisations-all :
 librazik-optimisations-all dépend de librazik-optimisations-rtirq ; cependant :
 Le paquet librazik-optimisations-rtirq n'est pas encore configuré.

dpkg: erreur de traitement du paquet librazik-optimisations-all (--configure) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 librazik-optimisations-rtirq
 librazik-optimisations-all

reproduction de l’erreur :

# dpkg --configure librazik-optimisations-rtirq
Paramétrage de librazik-optimisations-rtirq (3) ...
sed: impossible de lire /etc/default/grub: Aucun fichier ou dossier de ce type
dpkg: erreur de traitement du paquet librazik-optimisations-rtirq (--configure) :
 installed librazik-optimisations-rtirq package post-installation script subprocess returned error exit status 2
Des erreurs ont été rencontrées pendant l'exécution :
 librazik-optimisations-rtirq

analyse

extraction du script de postinst

# dpkg-query --control-show  librazik-optimisations-rtirq postinst


case "$1" in
    configure)

        sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT\=\"/GRUB_CMDLINE_LINUX_DEFAULT\=\"threadirqs /' /etc/default/grub
        update-grub2

–> il n’y a pas de test de présence du fichier /etc/default/grub avant le “sed” et le “update-grub2” donc “errno 2 : file not found " et sortie du script en erreur.

solution

# diff postint.orig postint.sh
16,17c16
< 	sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT\=\"/GRUB_CMDLINE_LINUX_DEFAULT\=\"threadirqs /' /etc/default/grub
< 	update-grub2
---
> [ -f /etc/default/grub ] && sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT\=\"/GRUB_CMDLINE_LINUX_DEFAULT\=\"threadirqs /' /etc/default/grub && update-grub2

–> test de la présence du fichier /etc/default/grub avant de lancer le “sed” et le “update-grub2”.
et donc plus d’erreur si le fichier /etc/default/grub n’existe pas.

La solution de contournement pour que le noyau démarrer avec l’option threadirqs :

  • démarrer sur l’OS qui gère Grub sur cette machine
  • éditer la ligne vmlinuz qui lance LZK3 pour ajouter threadirqs(Ceci est facile à faire avec Grub Customizer.)

merci
Piep

Admin
Olivier Humbert a commenté le 06.05.2020 22:20

Résumé de la discussion que Pierrick et moi avons eu sur le canal IRC : la solution proposée n'est pas optimale car, si elle a le mérite de solutionner l'affichage de l'erreur en l'évitant, le problème est que l'utilisateur n'est alors pas au courant que l'option threadirqs n'est pas activée sur son système alors que cette option est plus qu'utile pour le travail dans un cadre MAO (abaissement des latences).

Dans l'état actuel, je préfère laisser comme c'est pour l'instant, car de cette façon, l'utilisateur a un beau message d'erreur, et j'ai placé quelque chose ici : https://librazik.tuxfamily.org/doc3/manuel/paquets_librazik#librazik-optimisations-rtirq

Une solution idéale serait d'appliquer la solution proposée au dessus, mais de faire apparaître un écran d'avertissement à l'utilisateur dans le car d'une absence d'accès au /etc/default/grub .

Pierrick Hervé a commenté le 10.05.2020 21:01

J'ai tout tenté mais sur mon système, je n'ai qu'un minimum de binaire GRUB et pas :

/etc/default/grub

ni commande

/usr/sbin/update-grub2

donc la solution de contournement pour le message d'erreur de configuration :

# touch /etc/default/grub
# echo "exit 0" > /usr/sbin/update-grub2 && chmod u+x /usr/sbin/update-grub2

et la commande "

# dpkg --configure librazik-optimisations-rtirq

" se termine sans erreur. (même chose en utilisant Synaptic)

MAIS le noyau Linux ne chargera pas l'option "threadirqs" au prochain redémarrage.

Pour revenir à la configuration précédente: on efface le 2 fichiers créés.

# rm /etc/default/grub
# rm /usr/sbin/update-grub2

Il faut ajouter l'option "threadirqs" sur le GRUB qui gère le PC:
- avec l'aide Grub Customizer ou
- directement en éditant la page grub au démarrage du PC. (touche "e") à la ligne de lancement de la partition LZK3: linux vmlinuz

exemple :

linux /boot/vmlinuz-5.4.0-0.bpo.4-lzk-rt-amd64 root=/dev/sda4 quiet threadirqs

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche