Redirecionando stdout e stderr ainda imprime para stdout

0

Estou recebendo algum tipo de erro no console VGA quando faço um arquivo de configuração para o grub (pelo menos acho que é um erro), com

grub-mkconfig -o /boot/grub/grub.cfg

Eu tentei redirecionar stderr e stdout para um arquivo chamado ~ / grub_error assim:

grub-mkconfig -o /boot/grub/grub.cfg 2>&1 ~/grub_error

No entanto, o que eu pensei ser um erro, ainda impresso na tela (~ / grub_error tinha stdout redirecionado para ele, então eu não acho que eu fiz um erro de sintaxe).

Eu também notei que quando eu executo grub-mkconfig em um terminal em uma sessão X, o "erro" que aparece no console VGA não aparece. Existe algo mais que eu deveria estar redirecionando, porque o erro parecia muito sério, algo como "... poderia levar à corrupção do sistema de arquivos". Pode ser interessante notar que estou usando uma máquina BIOS com GPT, então eu tenho uma partição bios_boot, e o erro disse algo sobre / dev / sda1 (minha partição bios_boot) não ter e ext4 file system (o que não acontece e não deveria).

[ 2709.836576] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 2709.839402] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 2709.841988] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
[ 2709.846191] XFS (sda1): Invalid superblock magic number
[ 2709.850344] FAT-fs (sda1): invalid media value (0xe2)
[ 2709.850806] FAT-fs (sda1): Can't find a valid FAT filesystem
[ 2709.853194] FAT-fs (sda1): invalid media value (0xe2)
[ 2709.853781] FAT-fs (sda1): Can't find a valid FAT filesystem
[ 2709.855905] ntfs: (device sda1): is_boot_sector_ntfs(): Invalid boot sector checksum.
[ 2709.855913] ntfs: (device sda1): read_ntfs_boot_sector(): Primary boot sector is invalid.
[ 2709.856367] ntfs: (device sda1): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover.
[ 2709.856902] ntfs: (device sda1): ntfs_fill_super(): Not an NTFS volume.
[ 2709.859565] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device sda1.
[ 2709.861950] hfsplus: unable to find HFS+ superblock
[ 2709.863881] ufs: You didn't specify the type of your ufs filesystem

               mount -t ufs -o ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...

               >>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
[ 2709.867491] ufs: ufs_fill_super(): bad magic number
[ 2709.872393] hfs: can't find a HFS filesystem on dev sda1
    
por Vityou 27.07.2016 / 04:42

1 resposta

5

Você redireciona stderr para stdout, mas também precisa redirecionar o stdout. Você está perdendo o > e a ordem de redirecionamento é muito importante.

grub-mkconfig -o /boot/grub/grub.cfg >~/grub_error 2>&1

link

Quanto à diferença entre o console e a saída do terminal (e aparentemente a falta de redirecionamento no console), isso geralmente indica uma mensagem do kernel. Abra outro terminal e digite dmesg -w . Em seguida, execute o programa ou script novamente. Você deve ver as mensagens que não foram redirecionadas no console, ou ausentes no terminal, enviadas pelo comando dmesg.

    
por 27.07.2016 / 04:48