pv processa a senha de interupção

1

Por isso, estou tentando passar um cartão SD com uma imagem de 7 GB e está demorando (como 15 horas mais), então decidi configurar pv para poder ver o progresso. O problema que estou enfrentando é que, assim que eu digito o comando, o relatório de progresso aparece, ficando no caminho do prompt de senha, então não posso continuar com a transferência. Como faço para corrigir isso?

Este é o código que estou usando.

Primeiro eu tentei isso:

sudo dd if=diskimage.img | pv -s 7340M | sudo dd of=/dev/disk2 bs=64k

Assim que eu digito, o progresso aparece, então o prompt da senha é preenchido com esse texto. Eu queria saber se isso tem a ver com o uso de sudo dd para o lado da saída, já que eu não tenho que fazer isso quando não estiver usando pv , mas todos os exemplos que vi fizeram isso.

Então, tentei deixar de fora o modificador de tamanho, mas ainda aconteceu. Finalmente eu desisti e só voltei a usar dd sem pv , e apenas verificando o progresso usando ctrl - t , mas eu realmente gostaria de obter pv trabalhando.

Toda e qualquer ajuda é apreciada.

Em uma nota lateral, quando eu uso ctrl - t , estes são os resultados que estou obtendo. (a carga é de usar ctrl - t )

sudo dd if=diskimage.img of=/dev/disk2 bs=64k

load: 1.09  cmd: dd 906 uninterruptible 0.00u 0.17s
176+0 records in
175+0 records out
11468800 bytes transferred in 37.236996 secs (307995 bytes/sec)

load: 0.60  cmd: dd 906 uninterruptible 0.01u 3.92s
4573+0 records in
4572+0 records out
299630592 bytes transferred in 2322.619605 secs (129005 bytes/sec)
    
por SEF 16.06.2016 / 21:18

2 respostas

0

A solução para isso é bem simples, torne-se root antes de executar o comando, porque o sudo não é transportado de qualquer maneira. Então sua solução é esta:

# become root
sudo su
# do your stuff
dd if=diskimage.img | pv -s 7340M | dd of=/dev/disk2 bs=64k
# get back to your normal user account
exit
    
por Videonauth 16.06.2016 / 21:30
1

Como os comandos em torno dos pipes começam ao mesmo tempo, seus dois sudo dd e pv all estão iniciando simultaneamente.

Dois sudo dd estão pedindo senha e pv está começando a puxar o gatilho também, tudo ao mesmo tempo, portanto, o prompt está se transformando em lixo.

Para resolver isso, você pode usar o agrupamento de comandos bash e usar sudo on bash only:

sudo bash -c '{ dd if=diskimage.img | pv -s 7340M | dd of=/dev/disk2 bs=64K ;}'

Ou use um subnível:

sudo bash -c '( dd if=diskimage.img | pv -s 7340M | dd of=/dev/disk2 bs=64K )'

Em ambos os casos, você será solicitado sudo senha uma vez e nenhuma outra forma de troca de usuário é necessária também.

    
por heemayl 16.06.2016 / 21:44