Linha de comando: Cria uma nova partição usando o maior espaço livre contínuo

1

Eu quero um script de shell para criar uma nova partição em /dev/sdb usando todo o espaço particionado disponível, sem tocar nas partições existentes. Meu objetivo seria criar uma nova partição luks criptografada, mas usando

cryptsetup luksFormat /dev/sdb

formata todo o disco. Usando algo como:

cryptsetup luksFormat /dev/sdb2

não é uma opção, pois /dev/sdb2 ainda não existe, já que temos uma partição e o restante é um espaço não particionado. Então meu plano era criar uma partição primeiro e depois passar essa partição como opção para cryptsetup luksFormat /dev/sdb<number> , mas não consigo descobrir uma maneira limpa e fácil de criar uma nova partição usando todo o espaço não utilizado em um dispositivo.

Programas Eu dei uma olhada em: parted e fdisk .

Por exemplo, o instalador de onipresença permite a opção

d-i partman-auto/init_automatically_partition select biggest_free

que faria o que eu preciso, quando eu passar uma receita depois disso.

Alguma idéia de como conseguir isso em um script?

    
por GEO 08.06.2014 / 14:35

1 resposta

1

Você pode fazer isso facilmente em discos GPT usando sgdisk :

sudo sgdisk -n 0:0:0 /dev/sdb

Para um disco MBR, a melhor opção que eu conheço é usar fdisk . No entanto, ele não foi projetado para ser roteirizado, então você precisa criar um Bash aqui documento para passar os comandos.

Em ambos os casos, você teria que descobrir o número da partição que você acabou de criar para configurá-la com cryptsetup (ou qualquer outra coisa).

    
por Rod Smith 09.06.2014 / 13:45