Chamando todos os especialistas em OS X.
Copiei duas unidades de 1 TB (ex-Windows) para uma nova unidade USB 3.0 de 2 TB usando o Finder no Mac (OS X 10.9). A unidade de 2 TB está agora cerca de 90% cheia.
Agora quero duplicar essa unidade de 2 TB para outra unidade de 2 TB usando o Mac, mas ele continua afirmando que cerca de 40% dos arquivos estão ocupados. Nenhum dos arquivos na unidade de 2 TB foi aberto em qualquer aplicativo, exceto nesta tentativa de copiar os arquivos.
Tentei copiar 2 TB para 2 TB usando o Finder, que, uma vez encontrado 1 arquivo ocupado, parou de copiar completamente. Não é particularmente útil. Tentei usar a visualização de ícones, as visualizações de lista e colunas.
Mudei então para o Terminal usando cp -RXvn e depois apenas -cp RXn. Ambos conseguiram copiar cerca de 60% dos arquivos.
Tentei desmontar as duas unidades, reinicializar e reformatar a segunda unidade. Eu tentei todos os três antes de tentar novamente e consigo cerca de 1,34 Tb de cada vez. Tentei várias vezes e notei que nem sempre são os mesmos arquivos que apresentam o problema, embora seja difícil dizer quando há milhares de arquivos.
O que recebo é assim:
cp -RXn "/Volumes/USBdrive 1/" "/Volumes/USBdrive 2"
cp: /Volumes/USBdrive 1/My photos/USA trip/image 1472.png: Resource busy
cp: /Volumes/USBdrive 1/My photos/USA trip/image 1483.png: Resource busy
cp: /Volumes/USBdrive 1/Our holiday/Rome/tour map 2014.pdf: Resource busy
Sou novo no OS X, então não entendo como o arquivo ficou ocupado ou o que fazer a respeito. Não faz muito sentido para mim não copiar o arquivo, mesmo que ele esteja em uso (o Windows faria).
Alguém pode sugerir como contornar isso e transferir todos os arquivos de uma unidade para outra? Preciso primeiro encontrar uma maneira de impedir que o recurso seja considerado ocupado e, em caso afirmativo, como?
Responder1
ATUALIZAÇÃO: Acho que descobri como você pode consertar isso.
Tente isso no terminal:
cd <drag and drop the volume you want to copy here>
Agora faça:
lsof +D <drag and drop the volume you want to copy here> | grep <drag and drop the volume you want to copy here>
Este comando mostrará todos os arquivos abertos nesse volume. Você verá o nome do aplicativo que está mantendo o arquivo. Digamos, para fins de argumentação, que sim Finder
.
Agora digite (apenas certifique-se de ter fechado todos os seus aplicativos primeiro para garantir a segurança):
killall Finder
Agora execute o lsof
comando novamente e você não deverá mais ver esses arquivos. Agora você deve conseguir copiá-los.
Espero que isso funcione.
Postagem anterior
Em Terminal
digite env
.
Veja onde está escrito USER=
e copie exatamente esse nome.
Agora mudaremos o proprietário de todos os arquivos da unidade, apenas certifique-se de estar montado na unidade que deseja copiar e não na unidade do sistema. Monte o diretório raiz da unidade que deseja copiar e digite:
sudo chown -fhRL [owner]
Para onde diz [owner]
, digite, digite o nome de usuário acima. Sua senha será solicitada porque adicionamos sudo
qual é o superusuário.
Se sair com o status 0
, não houve erros. Se você estiver recebendo um código de saída > than 0
, poderá descartar f e verá todas as mensagens de diagnóstico.
A seguir vamos alterar as permissões dos arquivos. Digitar:
sudo chmod -fhRL u=rwx
u - usuário r - ler w - escrever x - executar Novamente, se houve um erro, o status de saída será maior que 0
Próximo, mudaremos os flags:
sudo chflags -fhRL nouchg
sudo chflags -fhRL noschg
Agora volte ao seu comando de cópia e, para garantir, adicione sudo
na frente dele, e esperamos que isso tenha resolvido o problema.
Responder2
Dei pontos para quem posso dar, porque a informação foi boa. A causa raiz do meu problema foi um disco rígido com defeito.
Depois de comprar uma nova unidade de 2 TB, consegui migrar os dados usando os comandos fornecidos nas respostas aqui.
Obrigado novamente àqueles que forneceram ajuda.