Minha aposta é que seu diretório é, na verdade, um subvolume btrfs. Eu fiz um teste. Quando tento rm
meu subvolume de teste, recebo "Operação não permitida".
Se eu estiver certo, o seguinte deve funcionar no seu caso:
sudo btrfs subvolume delete foo
Eu entendo que seu diretório já está vazio, mas em geral você pode ter que esvaziá-lo de antemão.
Explicação adicional conforme solicitado:
A subvolume is a part of filesystem with it’s own and independent file/directory hierarchy. Subvolumes can share file extents.
Você pode aprender mais com wiki do btrfs . As principais razões pelas quais alguém pode querer criar um subvolume em vez de um diretório regular são:
- um subvolume pode ser montado como se fosse um sistema de arquivos separado com suas próprias opções (compare: embora você possa montar um diretório regular com bind mount, ele deve existir dentro do sistema de arquivos já montado; o subvolume btrfs pode ser facilmente montado como root sistema de arquivos
/
); - um pode criar um instantâneo de subvolume que é um subvolume separado que inicialmente compartilha todas as extensões de arquivo com o subvolume de origem.
Exemplo prático:
Meu sistema de arquivos btrfs tem a seguinte estrutura interna (lembre-se de que essa estrutura é diferente da estrutura de diretórios vista pelo sistema; os pontos de montagem pertencem ao último):
/ # btrfs root filesystem mounted as /mnt/ssd/
@ # a subvolume I use as the root filesystem (mounted as /)
@backups
@-20161215-1-working # a snapshot of @ just in case
Vamos supor que quero mexer no meu sistema. Como precaução, crio primeiro um instantâneo:
cd /mnt/ssd/@backups
sudo btrfs subvolume snapshot ../@ @-20161224-1-just_in_case
Eu faço isso dentro do meu sistema de trabalho e não leva tempo. Inicialmente também não ocupa nenhum espaço em disco. O espaço adicional será alocado posteriormente, quando os arquivos e as árvores de diretórios correspondentes começarem a diferir.
Em seguida, posso até quebrar meu sistema que reside dentro do @
subvolume. Contanto que o @backups/@-20161224-1-just_in_case
subvolume esteja intacto, posso substituir @
por esse backup, como se nada tivesse acontecido. Na pior das hipóteses eu preciso arrancar de uma distro ao vivo para fazer isso. Mas se meu gerenciador de inicialização (GRUB2) ainda funcionar, posso editar sua entrada no boottime e usar temporariamente @backups/@-20161224-1-just_in_case
em vez de @
subvolume como meu sistema de arquivos raiz. Então, dentro do novo sistema de trabalho que eu faço:
cd /mnt/ssd/
sudo btrfs subvolume delete @ # I may have to empty it first
sudo btrfs subvolume snapshot @backups/20161224-1-just_in_case @
Depois disso, eu reinicio. O sistema é restaurado.