mkdir: não é possível criar o diretório: Função não implementada

10

Eu estou na faculdade e tenho que enviar minha lição de casa cs de uma máquina Linux da escola, mas eu gosto de fazer a lição de casa no meu laptop (Mac). Então, em vez de copiar meus arquivos todas as vezes, depois de enviá-los, decidi fazer um script para fazer isso usando scp e ssh . Quando testei meu script pela primeira vez, o comando scp criou o diretório hw3 na outra máquina. A próxima vez que eu testei, ele criou o diretório hw4 . Ambos os diretórios tinham meus arquivos de programa neles. Como os dois diretórios foram criados apenas para teste, excluí os dois usando rm -r . Mas aqui é onde o problema surge.

Por meio do teste posterior do meu script e outras depurações, descobri que agora não posso criar nenhum arquivo ou pasta chamado hw3 ou hw4 na outra máquina enquanto estiver conectado a ele por meio de ssh . Eu posso criar uma pasta com o nome de qualquer outra coisa, mas não hw3 ou hw4 . Eu não posso fazê-los via mkdir , mv , cp ou toque, fazendo-me pensar que há algo errado com o sistema de arquivos. No entanto, posso criar hw3 e hw4 arquivos no diretório pai. Ninguém com quem conversei sabe o que é isso e nunca viu antes, e pesquisar no Google sobre o problema não gerou resultados.

Na minha escola existem muitas máquinas diferentes nas quais eu posso fazer logon e eu tentei várias, mas o problema persiste em todas elas, o que faz sentido, já que estou trabalhando em uma unidade de rede (SDRIVE no caminho). Para fazer o script funcionar, usei a solução alternativa apenas para criar hww# em vez de hw# , mas eu ainda gostaria de saber o que está acontecendo e como corrigi-lo.

Este é o meu terminal de saída quando eu faço logon via ssh e meus comandos.

Last login: Tue Mar  3 11:40:18 2015 from r03ane3md.device.mst.edu
You are currenly one of 7 users on this host!
ane3md@rc07xcs213:~$ cd SDRIVE/cs1510
ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l
total 0
drwxr-xr-x 2 ane3md mst_users 0 Mar  3 12:01 hw1
drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 hw2
drwxr-xr-x 2 ane3md mst_users 0 Mar  3 11:59 hww3
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mkdir hw3
mkdir: cannot create directory ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ touch hw3
touch: cannot touch ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mv hww3 hw3
mv: failed to access ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$

EDIT: Conforme solicitado, executando "stat -f ~ / SDRIVE" gera o seguinte:

ane3md@rc07xcs213:~$ stat -f ~/SDRIVE
  File: "/usr/local/home/ane3md/SDRIVE"
    ID: 0        Namelen: 4096    Type: fuseblk
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 0          Free: 0          Available: 0
Inodes: Total: 314572031  Free: 66717154

EDIT - WORKAROUND: Eu fiz um pouco de bisbilhotice, e descobri que nossa escola usa o dfshack (você pode fazer o google no github) para linkar sistemas de arquivos Windows e unix / linux, e foi feito por um aluno aqui, então naturalmente insetos. Aparentemente, encontrei um deles. Também fiz mais alguns testes e descobri que o processo a seguir funciona para permitir que eu crie os diretórios novamente. Eu tenho um Mac, então não tenho certeza se isso funcionaria para o Windows.

  1. Mapeie a unidade de rede para o Mac OS para que você possa acessá-la pelo Finder
  2. Crie pelo Finder o diretório que não pôde ser criado antes.
  3. Conecte-se à máquina remota via ssh e navegue até o diretório em que você não conseguiu criar as pastas ou arquivos.
  4. Digite mv dirCreatedViaFinder newName
  5. Agora você pode criar diretórios e arquivos com nomes que não puderam ser criados antes, mas há uma desvantagem. Se você for rm -r newName , não poderá criar newName arquivos e pastas. Então, acho que todo o problema é causado pela remoção de diretórios.
por Aderis 04.03.2015 / 05:24

1 resposta

12

O diretório ~/SDRIVE é montado como um sistema de arquivos fuse , o que significa que as operações do sistema de arquivos são tratadas por algum programa userspace, não por o kernel. Esses erros estão vindo da implementação do sistema de arquivos, que pode ser qualquer coisa e provavelmente é algum tipo de software personalizado para o site.

Este é um daqueles momentos em que você provavelmente terá que corrigir seus sysadmins e perguntar o que está errado. Alguém poderia adivinhar que há algo que eles precisam consertar, possivelmente apenas com sua conta, ou que essa é uma maneira estranha de lidar com a exclusão acidental.

    
por 04.03.2015 / 06:16