Como identificar o dispositivo no qual reside o arquivo ou diretório?
Existe um módulo estatístico .
Entre os resultados há um "Dispositivo em que o inode reside" .
Como você pode mapear o "Dispositivo em que o inode reside" para uma partição?
Como identificar o dispositivo no qual reside o arquivo ou diretório?
Existe um módulo estatístico .
Entre os resultados há um "Dispositivo em que o inode reside" .
Como você pode mapear o "Dispositivo em que o inode reside" para uma partição?
Primeiro é preciso entender qual é o dispositivo do inode? e número do dispositivo na
stat
saída do comando .Então, para um exemplo de saída de depuração
existe um ID do dispositivo com
2051
decimal, mas precisaríamos dele em HEX. De acordo Como posso converter uma string decimal em uma string hexadecimal? uma tarefa comoiria relatar
Isso precisa ser dividido em dispositivo principal (
8
) e secundário (3
). Talvez comece comNuma outra tarefa seria necessário reunir o resultado de
e analisá-lo adequadamente, uma vez que
ansible_facts.device_links
ansible_facts.devices
não coletamos e mantemos esse tipo de informação.Dependendo da infraestrutura
lsblk --output
formatada apenas para as informações necessárias pode ser mais fácil.Ou de acordo com Como obter o nome de um dispositivo/partição de um arquivo? apenas
A partir daqui podemos ver que Major 8 (SCSI) e Minor 3 são
/dev/sda3
. E " Como descobrir o que está por trás do número maior? ", veja no exemplo Linux: Números de dispositivos maiores e menores ou Números maiores e menores de uma partição .Um exemplo de tarefa com campos preenchidos com zeros do arquivo de texto
resultará em uma saída de
Os números são acessíveis e também transformáveis em números inteiros no exemplo a seguir
resultando em uma saída de
Finalmente, uma tarefa
irá relatar
suplemento: para um número menor devem ser considerados os dois últimos dígitos do número
Arquivo:
/path/to/file1
linux stat:
device 8/1
ansible device stat:
dev: 2049
2049 (DEZ) = 801 (HEX) ->
8
.01
-->8
/01
(HEX) =8
/1
(DEC)Arquivo:
/path/to/file2
linux stat:
device 259/2
ansible device stat:
dev: 66306
66306 (DEZ) = 10302 (HEX) ->
103
.02
-->103
/02
(HEX) =259
/2
(DEC)Arquivo:
/path/to/file3
linux stat:
device 254/1
ansible device stat:
dev: 65025
65025 (DEZ) = FE01 (HEX) -->
FE
.01
-->FE
/01
(HEX) =254
/1
(DEC)Arquivo:
/path/to/file4
linux stat:
device 0/45
ansible device stat:
dev: 45
45 (DEZ) = 2D (HEX) ->
0
.2D
-->0
/2D
(HEX) =0
/45
(DEC)