Ubuntu 14.04: df imprime o UUID completo

3

Por alguma razão, o formato de saída para df foi alterado após uma atualização recente do kernel no Ubuntu 14.04.

Quando executo df -hl para mostrar todos os sistemas de arquivos montados, a saída é semelhante a:

bwvdnbro@wixie:~/Projects$ df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev             12G  4.0K   12G   1% /dev
tmpfs           2.4G  1.3M  2.4G   1% /run
/dev/sda1       1.8T  1.3T  395G  78% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none             12G  168K   12G   1% /run/shm
none            100M   44K  100M   1% /run/user
/dev/md0p1      3.6T  1.4T  2.1T  40% /media/bwvdnbro/raid

No entanto, quando só quero mostrar um dispositivo específico, por ex. / , a saída muda para

bwvdnbro@wixie:~/Projects$ df -hl /
Filesystem                                              Size  Used Avail Use% Mounted on
/dev/disk/by-uuid/90cd5449-2cbf-4f32-89fe-d66e9fb5f8ee  1.8T  1.3T  395G  78% /

Isso é irritante, pois torna a primeira linha muito longa para caber em uma janela de terminal padrão.

Existe alguma maneira de controlar o formato de saída para Filesystem e também mostrar /dev/sda1 em vez do UUID completo ao usar df para um único dispositivo?

EDITAR

Então eu fiz mais algumas pesquisas sobre diferentes nós executando diferentes versões de kernel, e o problema não é com df , mas sim com /proc/self/mountinfo , o arquivo que df lê. Para versões antigas do kernel, este arquivo contém o nome do dispositivo, enquanto as versões mais novas listam o UUID.

Portanto, a pergunta é: como o comando df -hl completo converte o UUID no nome do dispositivo e existe uma maneira de reproduzir esse comportamento ao executar df -hl / ?

    
por B. Vandenbroucke 15.03.2016 / 11:19

2 respostas

1

Eu encontrei o problema com o UUID porque o script aws ec2 cloudwatch da amazon, mon-put-instance-data.pl, usa-o como sua dimensão Filesystem e meus alarmes de repente tinham dados insuficientes após o apt-get upgrade:

Este é realmente um bug de initramfs-tools. Reiniciando após initramfs-tools - 0.103ubuntu4.3 corrigido o problema em todos os lugares para mim, mesmo em coreutils_8.21-1ubuntu5.4

link

    
por Eric Jensen 12.07.2017 / 20:37
0

Eu tenho o mesmo problema quando uso df no Ubuntu 14.04.

Esperar pelas próximas atualizações resolverá o problema. Enquanto isso, fiz esse script para obter as informações corretamente.

#!/bin/bash

DF="'df $1 $2 $3 $4 $5 $6 $7'"
UUID="'echo "$DF" | awk 'NR==2{print $1}''"

if [ 'echo "$UUID" | grep "/dev/disk/by-uuid/"' ]; then
    DEV="'readlink -m $UUID'"
    DF="'echo "$DF" | sed s,$(echo "$UUID"),$(echo "$DEV"), | \
        awk '
            NR==1{printf("%13s\t %10s\t %10s\t %7s %7s %7s %7s\n", ($1" "$2),$3 ,$4 ,$5 , $6, ($7" "$8), $9)}
            NR==2{printf("%13s\t %10s\t %10s\t %7s %7s %7s %7s", $1 , $2 , $3 , $4 , $5 , $6 , $7 , $8)}
        ''"
    echo "$DF"
else
    echo "$DF"
fi

Eu relatei isso como um df-coreutils bug no Launchpad

    
por mario.q59 21.03.2016 / 14:01

Tags