excluindo um 'arquivo' sob / proc ou / dev

6

Estou usando uma configuração cowdancer / debootstrap para gerar um chroot.

É claro que, enquanto eu faço a iteração, gero algumas configurações de chroot que são ruins.

Eu encontrei-me em uma situação embaraçosa, onde tenho uma enorme quantidade de arquivos em / proc que se recusam a ser excluídos.

Quando eu sudo rm -rf z_needs_to_be_deleted , recebo uma tonelada de mensagens que parecem análogas a esta:

rm: cannot remove 'z_needs_to_be_deleted/var/cache/pbuilder/build/cow.13620/
proc/6352/task/6358/loginuid':  Permission denied

Como faço para matar este chroot?

    
por Paul Nathan 03.06.2011 / 02:38

1 resposta

12

/proc e (geralmente) muito de /dev são somente "sistemas de arquivos" gerados pelo kernel. Você não os exclui, você apenas umount do sistema de arquivos. Se rm -r /proc/6352 funcionasse, teria que ser semanticamente equivalente a kill -9 6352 , já que na verdade é apenas apresentar informações sobre pid 6352, não arquivos reais em qualquer lugar.

Use mount para ver quais sistemas de arquivos montados estão sob chroot e umount antes de remover qualquer arquivo. Isso talvez seja ainda mais importante quando é uma bind mount, pois rm -r removeria os arquivos originais fora da cadeia.

    
por 03.06.2011 / 02:44

Tags