Project

General

Profile

Segnalazione #582

copy_server_key non riesce a formattare

Added by Marco Marinello almost 3 years ago. Updated almost 3 years ago.

Status:
Chiuso
Priority:
Normale
Start date:
08/13/2018
Due date:
% Done:

0%


Description

Tentando di copiare le chiavi su /dev/sdb1 lo script usciva con errore

# /usr/local/sbin/copy_server_key /dev/sdb1
Found a 14.90 GiBi ext4 partition with label portachiavi on SanDisk (Cruzer_Edge)
We are going to overwrite this partition
this will OVERWRITE ALL DATA

Press enter to continue, Ctrl-C to cancel.
mke2fs 1.43.4 (31-Jan-2017)
/dev/sdb1 contiene un file system ext4 con etichetta "portachiavi" 
    last mounted on /mnt/portachiavi on Mon Aug 13 09:40:52 2018
Proceed anyway? (y,N) y

usage: copy_server_key [-h] [-s SERVER] device
copy_server_key: error: Could not format /dev/sdb1: Command '['mkfs.ext4', '-L', 'portachiavi', '/dev/sdb1']' returned non-zero exit status 1

Ho provato a formattarla con gparted e lui lo faceva senza problemi così mi sono accorto che aggiunge come opzione -F . Facendolo anche nello script anche questo procede senza problemi. Allego patch.

# diff /usr/local/sbin/copy_server_key copy_server_key 
79a80
>                 '-F',

Associated revisions

Revision 641d87cc (diff)
Added by Elena Grandi almost 3 years ago

Warn of an upstream localization bug. refs: #582

History

#1 Updated by Elena Grandi almost 3 years ago

  • Assignee changed from Elena Grandi to Marco Marinello

Dal manuale di mkfs.ext4(8):

       -F     Force mke2fs to create  a  filesystem,  even  if  the  specified
              device is not a partition on a block special device, or if other
              parameters do not make sense.  In order to force mke2fs to  cre‐
              ate  a filesystem even if the filesystem appears to be in use or
              is mounted (a truly dangerous thing to do), this option must  be
              specified twice.

quindi no, non mi pare una buona idea aggiungerlo, piuttosto meglio controllare qual'è il problema della chiavetta e risolverlo

(Si può provare a dare il comando specificato da riga di comando, come root, e vedere se da messaggi di errore più specifici; per trovare il comando da ['mkfs.ext4', '-L', 'portachiavi', '/dev/sdb1'] bisogna prendere i pezzi tra ' e separarli con spazi, ovvero mkfs.ext4 -L portachiavi /dev/sdb1.)

#2 Updated by Marco Marinello almost 3 years ago

Ho provato diverse volte ad eseguire mkfs.ext4 -L portachiavi /dev/sdb1 ottenendo sempre

mke2fs 1.43.4 (31-Jan-2017)
/dev/sdb1 contiene un file system ext4 con etichetta "portachiavi" 
    last mounted on /mnt/portachiavi on Mon Aug 13 09:40:52 2018
Proceed anyway? (y,N) y

Il filesystem era smontato correttamente. Ho provato a rifare la tabella delle partizioni con fdisk ma l'output rimaneva lo stesso. Ho provato a sovrascrivere con zeri l'intero disco, rifare la tabella e poi di nuovo mkfs.ext4 e risultato sempre uguale.

Proporrei a questo punto di aggiungere un'opzione che consenta di evitare la formattazione così in questi casi si può formattare la chiavetta in ext4 con gparted e poi far fare la copia delle chiavi al programma.

#3 Updated by Elena Grandi almost 3 years ago

  • Assignee changed from Marco Marinello to Elena Grandi

#4 Updated by Elena Grandi almost 3 years ago

Trovato il problema: è un bug nella localizzazione di mkfs.ext4 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897593

mentre cerco la soluzione migliore, il workaround è semplice: basta ricordarsi di rispondere 's' alla domanda Proceed anyway? (y,N) se si sta usando il sistema in italiano ('j' quando si usa il sistema in tedesco, eccetera)

#5 Updated by Elena Grandi almost 3 years ago

Aggiornamento: questo è il bug nuovo che parla di italiano (quello precedente era solo per lo spagnolo) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907034

#6 Updated by Elena Grandi almost 3 years ago

  • Status changed from Nuovo to Commenti
  • Assignee changed from Elena Grandi to Marco Marinello

Data la situazione del bug upstream, avere una fix completa in tempi brevi risulterà difficile.

Dato che il workaround è semplice (rispondere s anziché y), è stato aggiunto alla documentazione su https://fuss-tech-guide.readthedocs.io/it/latest/accesso-con-chiave-al-server-per-fuss-client.html#creazione-di-una-chiavetta-usb-con-le-chiavi-ssh

Con le nuove versioni di fuss-client ci sarà anche un avviso quando si lancia il programma, per ulteriore promemoria.

Non è parso opportuno invece togliere la richiesta di conferma, che potrebbe invece servire a salvare dischi in caso di errore nell'indicazione della chiavetta da usarsi.

#7 Updated by Marco Marinello almost 3 years ago

In attesa della soluzione del bug da parte dello sviluppatore questo mi sembra un buon compromesso.

Per quanto mi concerne la segnalazione può essere chiusa.

#8 Updated by Paolo Dongilli almost 3 years ago

  • Status changed from Commenti to Chiuso

Grazie Marco ed Elena per la segnalazione e la ricerca della soluzione in attesa di una correzione del bug upstream. Chiudo la issue.

Also available in: Atom PDF