Mise à jour [Réglé]
Mode d'emploi please...!
Système et matériels / Installation et configuration

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Reprise du message précédent
Oui, l'utilisateur est passé à 1000, mais ce n'est pas une complication, avec toutes les nouvelles connaissance, la persévérance, apascale nous a montré qu'elle n'avait pas peur de la ligne de commande !Pour changer l'ID d'un dossier et ses sous-dossiers, ça se fait en une commande : ch[censuré] 1000:1000 /home/utilisateur (oui je censure, car ce n'est pas à faire maintenant, c'est à faire en temps voulu :p )
Apascale, deux chemins s'offrent à toi :
- l'apprentissage d'une réinstallation
- l'apprentissage d'une réparation
Bien sûr, après la réparation, tu peux toujours réinstaller pour augmenter ses connaissances

Malheureusement, je n'ai pas un système similaire sous la main... Alors nous sommes obligé de faire des tests petit à petit avant de faire des changements en série.
Peux tu tester :
Code BASH :
su <mdp root> urpmi lib64qt5core5 exit
Il se peut qu'il se plaigne qu'il entre en conflit avec un autre paquet (le même, mais en version 32bits). Tu peux tout tester pour tenter de réussir à l'installer.
Il se peut qu'il demande à désinstaller des paquets, à en installer d'autres...
Point culture :
dans un terminal, il y a sur la ligne une partie écrite, puis une partie où on peut écrire. La partie existante se nomme "prompt". On peut dire que [user@localhost ~] $ c'est le prompt.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
@Jybz: Ce n' est pas ce qui a déjà été fait sur ce post ci, l' installation du paquet 64bits ?
En revanche, si le process essaye de mettre à jour les paquets libqt5 Mageia 6, il recherche probablement le qt5core5 en 32 bit, je me demande s' il ne serait pas pertinent d' installer les paquets qt5 en 64 bits directement et essayer de désinstaller les paquets en 586 après ?
Code BASH :
urpmi lib64qt5core5 urpmi lib64qt5webenginewidgets5 urpmi lib64qt5printsupport5 urpmi lib64qt5webenginecore5 urpmi lib64qt5sql5 urpmi lib64qt5x11extras5 urpmi lib64qt5quickwidgets5 urpmi lib64qt5quick5 urpmi lib64qt5widgets5 urpmi lib64qt5eglfsdeviceintegration5 urpmi lib64qt5gui5 urpmi lib64qt5xcbqpa5 urpmi lib64qt5eglfskmssupport5 urpmi lib64qt5webchannel5 urpmi lib64qt5dbus5 urpmi lib64qt5qml5 urpmi lib64qt5network5 urpmi lib64qt5lockedfile1
edit: Je suis toujours en user 500, et je n' ai pas de problème particulier !

Ce fichier n' irait pas pour faire les remplacements ( en revanche il faudrait qu' il soit quelque part récupérable par un wget par exemple) ?
apascale.txt
edit2: ce fichier devrait peut être être amélioré... En effet, j' y vois deux inconvénients: pas de log, et comme l' option force n' est pas présente, il faudrait appuyer sur la touche 'o' assez souvent ( après cela permet de contrôler que la désinstallation d' un paquet, ne "rendra instable le système" ( par exemple ce qui est lié à systemd ou ncurses ( entre autres))
edit 3: pour les noms pour passer de 32 à 64, j' ai supposé que les paquets 64 bits commencent par lib64 ( donc je ne sais pas si les paquets existent réellement ! )
edit4 : @apascale, astuce , pour les paquets lib64qt5 il est possible de commencer à taper le nom du paquet puis appuyer sur la touche tabulation pour profiter de l' autocomplétion.
Édité par nic80 Le 13/02/2020 à 23h33

apascale Membre non connecté
-
- Voir le profil du membre apascale
- Inscrit le : 09/02/2020
- Groupes :
Quel programme !
Certains sont déjà installés mais j'y vais progressivement.
Et là pour urpmi lib64qt5webenginecore5, il est question de :
Pour satisfaire les dépendances, les paquetages suivants vont être installés
(média "Core Updates")
lib64qt5webenginecore5. 5.12.6
1.mga7. X86_64
qtwebengine5. 5.12.6
1.mga7. X86_64
(media "Core32bit Release")
liblcms2_2 2.9 3.mga7 i586
libwebp7 1.0.2 1.mga7 i586
libwebpmux3 1.0.2 1.mga7 i586
(media "Core 32bit Update")
libqt5positioning5 5.12.6 1.mga7 i586
libqt5webenginecore5 5.12.6 1.mga7 i586
libvpx6 1.8.1 1.mga7 i586
un espace additionnel de 15 Mo sera utilisé.
75 Mo de paquets seront récupérés.
Procéder à l'installation des 8 paquetages ? (O/n)
Comme il y a du 32bit (i586), je ne sais pas quoi faire, le peu que je comprends c'est qu'il faut installer du 64 et ça bug car il y a les deux.
Du coup présentement je dis non ? et je continue la liste des urpmi lib64 à installer ?
Autres questions:
après les urpmi des lib64, je dois taper le urpme de apascale.txt tout bien préparé. C'est ça ?
@¬-°@ =¢-¦=

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Je désactiverais les dépots 32 bits avant d' essayer d' installer les lib64qt5xxxx et juste ceux là pour le moment.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
#!/bin/bash # une ligne commençant par un # (croisillon, faisons plaisir à un clarinetiste) est un commentaire. Sauf la première ligne commençant par le "shebang" (#!) qui vient indiquer quel interprêteur de commande il faut utiliser. Ici, on utilise bash, qui est un logiciel dans le dossier /bin #on définit une variable ${LISTE} contenant les paquets 32bits, pour ça, on fait la liste, ne prend que les éléments de la liste contenant i586, puis, on coupe toutes les lignes avec comme délimiteur (-d) un moins ('-'), ainsi on garde le nom du paquet mais pas le numéro de version. # le $() permet d'exécuter une commande et non de définir le contenu directement. LISTE="$(rpm -qa --last | grep "i586" | cut -d '-' -f 1)" #puis, on fait une boucle sur la liste, pour traiter ligne par ligne. On définit une variable ${PAQUET} qui prendra comme valeur une ligne de la variable ${LISTE} à chaque tour de boucle for PAQUET in ${LISTE} ; do # pour s'en assurer, on affiche le contenu de la variable ${PAQUET} echo "${PAQUET}" # on change de variable, en ajoutant '64' au nom, en fait, on remplace le début du nom lib par lib64. #pour se faire, on affiche le nom du paquet, puis on transfert le nom à l'éditeur de texte sed, on ajoute une règle à sed (-e) disant qu'il faut remplacer (s) ce qui commence (^) par lib en lib64. NEO_PAQUET="$(echo "${PAQUET}" | sed -e 's/^lib/lib64/' )" #on s'assure que ça va bien : echo "${NEO_PAQUET}" #on l'installe, avec l'espoir qu'il souhaite désinstaller le premier 32b car ils entre en conflit. urpmi ${NEO_PAQUET} done
Il manque qqch au code, comment désactive-t-on les dépot 32bits avant la boucle ?! Je veux m'en assurer.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Comme indiqué ici ?
https://www.mageialinux-online.org/forum/topic-27244-3+mise-a-jour.php#m264326
Ce qui est inquiétant, c' est que le système persiste à vouloir installer des paquets 32 bits ( en principe l' installation d' un paquet 64 bits devrait installer ses dépendances en 64 bits, non ?)
Dans la liste que j' ai indiqué, il manque aussi les tainted 32.
Sinon dans le script, il manque aussi le fait de vérifier que l' utilisateur est root ( lancer urpmi sans être root, cela va poser un problème).
Édité par nic80 Le 14/02/2020 à 08h33

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
nic80 :
Ah je suis passé à coté ! Ce sujet évolue tellement vite ! ...
Alors le script devrait ressembler à ça :
Code BASH :
#!/bin/bash #On vérifie que nous sommes root comme suggéré par Nic80 #On fait une condition si (if), avec comme teste une comparaison entre le nom d'utilisateur actuelle (id -nu) et la chaine de caractère "root". Bien sûr, on ne veut quitter le script que si les noms sont différents, alors on inverse le résultat avec !, ainsi, si $(id -nu) n'est pas égale à "root", on affiche qu'on souhaite etre exécuté comme root, et on quitte avec une valeur de retour "-1". C'est facultatif, mais c'est l'art de bien faire. 0 quand tout va bien, une valeur négative en cas d'erreur. if [ ! "root" = "$(id -nu)" ] ; then echo "Le script doit être lancé avec l'utilisateur root." exit -1 fi #On désactive les dépots. urpmi.update --ignore "Core 32bit Release" urpmi.update --ignore "Core 32bit Updates" urpmi.update --ignore "Nonfree 32bit Release" urpmi.update --ignore "Nonfree 32bit Updates" LISTE="$(rpm -qa --last | grep "i586" | cut -d '-' -f 1)" for PAQUET in ${LISTE} ; do echo "${PAQUET}" NEO_PAQUET="$(echo "${PAQUET}" | sed -e 's/^lib/lib64/' )" echo "${NEO_PAQUET}" urpmi ${NEO_PAQUET} done exit 0
C'est plaisant ?
Édité par Jybz Le 14/02/2020 à 11h24
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Je pense qu' il faudrait enlever les dépots tainted 32 bits aussi (si existants), parce que je crois qu' ils sont ajoutés automatiquement si rajout de la liste par mirrorlist.
Reste à savoir comment ce script peut être récupéré sur une machine sans interface graphique...
Cette ligne ne risque pas de générer une erreur ?
Code BASH :
LISTE="$(rpm -qa --last | grep "i586" | cut -d '-' -f 1)"${LISTE} à chaque tour de boucle
Édité par nic80 Le 14/02/2020 à 10h39

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
nic80 :
Je pense qu' il faudrait enlever les dépots tainted 32 bits aussi (si existants), parce que je crois qu' ils sont ajoutés automatiquement si rajout de la liste par mirrorlist.
Oui, je suis d'accord. On peut le faire pour s'en assurer. As tu la ligne de commande ?
nic80 :
Reste à savoir comment ce script peut être récupéré sur une machine sans interface graphique...
Reste à savoir comment ce script peut être récupéré sur une machine sans interface graphique...
De la même manière qu'on peut récupérer la liste des paquets 32b

De notre coté on fait cat ./lescript | nc termbin.com 9999 et de l'autre coté on fera curl termbin.com/XXXX -o ./lescript && chmod +x ./lescript . Ça te plait comme plan ?
nic80 :
Cette ligne ne risque pas de générer une erreur ?
Cette ligne ne risque pas de générer une erreur ?
Code BASH :
LISTE="$(rpm -qa --last | grep "i586" | cut -d '-' -f 1)"${LISTE} à chaque tour de boucle
C'est une erreur ! c'est corrigé.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

apascale Membre non connecté
-
- Voir le profil du membre apascale
- Inscrit le : 09/02/2020
- Groupes :
Je suis toujours en train de taper ligne par ligne les urpme de 'apascale.txt'
Quand il me dit qu'il faut supprimer des paquetages en i586 je mets oui 'o' et quand il veut en installer je mets 'n'. Ce cas est pour l'instant arrivé qu'une fois, celui signalé dans mon message précédent.
J'ai mon après midi de libre mais je ne sais pas si ça va suffira pour taper toutes les commandes urpme et urpmi de apascale.txt !!
Je suis bien en root ! ))
Question : Je lance le script et reprendrai après les commandes de apascale.txt ?
Merci !
@¬-°@ =¢-¦=

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Le script qu'on met en place taperai toutes ces lignes pour toi ! Il resterai encore à appuyer sur O/n pour accepter ou refuser.
Cependant, j'ai lim'prsioné qu'appuyer sur non n'aura pas l'effet escompté, il n'installera tout simplementt pas le paquet souhaité au lieu de l'installer sans les dépendances 32b.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

apascale Membre non connecté
-
- Voir le profil du membre apascale
- Inscrit le : 09/02/2020
- Groupes :
Donc je tape le script.
J'ai déjà un problème, j'ai commencé par le début pour bien faire comme indiqué :
if [ ! "root" = "$(id -nu)" ] ; then
echo
J'ai dû mal faire car j'ai juste à la ligne :
>
Et rien, oups !
quand je fais entrée, toujours ce même sigle >
Merci
@¬-°@ =¢-¦=

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Tu recopies le script directement dans le terminal, donc il l'exécute en même temps que tu l'écris !
Le problème, c'est qu'il ne sait pas quoi faire dans la condition 'if' tant qu'elle n'est pas fini avec 'fi'. Donc il laisse '> ' en prompt.
Je ne te conseilles pas de le retaper directement sur le terminal.
Allez, je te donne le script, on regardera ce que ça propose.
Tapes :
Code BASH :
curl https://termbin.com/r0vt -o ${HOME}/script.sh chmod +x ${HOME}/script.sh cat ${HOME}/script.sh
Avec ces trois lignes, tu devrais voir que tu as télécargé le script, le rendre eXécutable (avec chmod +x), et l'affiché sur le terminal pour voir s'il est bien complet.
Pour l'exécuter, il suffit de taper :
${HOME}/script.sh
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

apascale Membre non connecté
-
- Voir le profil du membre apascale
- Inscrit le : 09/02/2020
- Groupes :
Je suis perdue, j'ai éteins et rallumé l'ordi pour retrouver un écran qui me donne une ligne avec autre chose que ">"
Bref j'ai retrouvé un écran noir avec trois lignes déjà rencontrées, ça m'a rassuré !... et j'ai tapé ces trois lignes pour exécuter le script.
ça défile, merci !
Maintenant je refais un urpmi--auto - update, c'est bien ça ?
Merci
@¬-°@ =¢-¦=

apascale Membre non connecté
-
- Voir le profil du membre apascale
- Inscrit le : 09/02/2020
- Groupes :
Je ne sais plus si j'ai fait cette commande :
LISTE="$(rpm -qa --last | grep "i586" | cut -d '-' -f 1)"${LISTE}
Est-ce que ça sert encore de le faire ? Si oui, je le fais avant l'auto-update, oui ?
Merci !
@¬-°@ =¢-¦=

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
C'est dommage mais nous n'avons aucun retour de notre coté... est-ce que ça se passe bien ou mal ?
Non je ne m'attends pas à ce résultat ! Je suis moi même impressionné si ça fonctionne...
1) lis les quelques dernières lignes, et confirmes nous qu'il n'y a pas d'erreur ou autre.
2) Quelques points de vérifications :
rpm -qa --last | grep i586 | wc -l
rpm -qa --last | grep i586 | nc termbin.com 9999
rpm -qa --last | grep mga5 | wc -l
rpm -qa --last | grep mga5 | nc termbin.com 9999
rpm -qa --last | grep mga6 | wc -l
rpm -qa --last | grep mga6 | nc termbin.com 9999
(comprends tu ses lignes ou je dois les expliquer ?)
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie