Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/01/2020, à 22:51

zell25

[RESOLU] Commande growpart

Bonjour à tous,
j'ai un soucis sur lequel je galére depuis 2 jours avec la commande growpart sur un ubuntu 18.04.3 lts.
Lorsque je fait la commande sudo growpart /dev/sda 4, ca me retourne l'erreur suivante:

 /usr/bin/growpart: 242: /usr/bin/growpart: Illegal number: 120034123776 octets, 

J'ai pourtant bien installé le paquet cloud-guest-utils et cloud-init mais rien n'y fait.

Mon disque est un ssd de 120Gb qui a plusieurs partitons, voici ce que me retourne fdisk:

Disque /dev/sda : 111,8 GiB, 120034123776 octets, 234441648 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 38FBB4CA-599B-4830-98A3-569D4F07445E

Périphérique  Début      Fin Secteurs Taille Type
/dev/sda1      2048    71679    69632    34M Données de base Microsoft
/dev/sda2     71680    75775     4096     2M Amorçage BIOS
/dev/sda3     75776   155647    79872    39M Système EFI
/dev/sda4    155648 14901247 14745600     7G Système de fichiers Linux

Est-ce que vous avez une idée ? le reste du ssd est aprés la partition sda4.
J'ai tenté une installation toute fraiche avec une seul partition sur la moitier du ssd et idem même problème...
Merci pour votre aide.

Dernière modification par zell25 (Le 21/01/2020, à 17:54)

Hors ligne

#2 Le 21/01/2020, à 01:45

kamaris

Re : [RESOLU] Commande growpart

C'est un bug : le script /usr/bin/growpart parse la sortie de la commande sfdisk, en s'attendant à un certain format, mais il en trouve un autre (des espaces insécables pas au bon endroit).
J'ai un correctif pour ça, mais vérifions d'abord qu'on a la même version du script, au moins localement à la ligne 242 : donne le retour de

sed -n '239-242p' /usr/bin/growpart

Hors ligne

#3 Le 21/01/2020, à 07:39

zell25

Re : [RESOLU] Commande growpart

Merci pour ta réponse, voici:

# Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors
local _x
read _x _x _x _x disk_size _x sector_num _x  < "$tmp"
sector_size=$((disk_size/$sector_num))

Hors ligne

#4 Le 21/01/2020, à 14:10

kamaris

Re : [RESOLU] Commande growpart

En fait, le problème vient de la francisation de la sortie de sfdisk, qui change son format, en particulier en introduisant des espaces insécables.
Donc il existe une solution à ton problème sans modifier le script : tu fais précéder toutes tes commandes growpart de LC_ALL=C, pour tout passer en anglais ASCII.
Donc par exemple, pour ta commande plus haut, ça donne :

LC_ALL=C sudo growpart /dev/sda 4

Du coup, toutes les sorties de cette commande vont être en anglais, évidemment, mais c'est un moindre mal.
Ça vaut beaucoup mieux en tout cas que de mettre une rustine à un script dans /usr/bin…

---

PS : comme LC_ALL=C et sudo peuvent commuter dans la commande ci-dessus, pour éviter d'avoir à rajouter LC_ALL=C devant chaque commande growpart, tu peux définir un alias dans ton fichier .bashrc (situé dans ton home) :

alias growpart='LC_ALL=C growpart'

Le fichier .bashrc t'appartient et peut être édité dans n'importe quel éditeur de texte sans recourir à sudo, et tu peux mettre cet alias où tu veux (par exemple avec ceux déjà présents).
Note : cette modification ne prendra effet que dans les terminaux (en fait les shells) ouverts après elle.

Dernière modification par kamaris (Le 21/01/2020, à 14:40)

Hors ligne

#5 Le 21/01/2020, à 17:53

zell25

Re : [RESOLU] Commande growpart

Merci pour tout, je viens de tester et mon script fonctionne nickel smile
J'ai pas pensé du tout le problème de conversion du à la langue...

Merci à toi en cas.

Hors ligne

#6 Le 21/01/2020, à 20:44

kamaris

Re : [RESOLU] Commande growpart

On ne devrait pas avoir à y penser, c'est un bug.
J'ai créé un petit rapport de bug au cas où (https://bugs.launchpad.net/cloud-utils/+bug/1860479), mais c'est pas du tout sûr qu'il soit traité, et encore moins sûr que tu aies un correctif dans un avenir proche.
Mais de toutes façons, même si c'était corrigé, ça continuerait de marcher avec LC_ALL=C comme ci-dessus, donc tu peux ne pas t'en soucier.

Hors ligne