Partição do Ubuntu 16.04 desmontada ao destruir uma grande quantidade de arquivos


0

Eu tenho um dual boot Ubuntu 16.04 / MacOS El Capitan e uma partição compartilhada no formato padrão do Mac (HFS +). Minha dupla inicialização e compartilhamento de partição estão funcionando bem e eu posso acessá-lo de ambos os lados.

Quando estou no Ubuntu e trabalhando nesta partição compartilhada (HFS +), arquivos na lixeira são transferidos para a pasta de lixo do Ubuntu e o sistema é perdido:

  • Eu posso ver arquivos na pasta da lixeira, mas não posso excluir ou restaurá-los.
  • Quando eu apago enormes quantidades de dados (estou trabalhando com milhares de imagens), a partição é automaticamente desmontada do meu sistema Ubuntu durante o processo de exclusão. Para acessá-lo, eu preciso fazer uma montagem manual após a reinicialização ou mudar para o MacOS e voltar.

Eu tentei:

  • Excluindo Arquivos da Linha de Comandos
  • Esvazie / restaure a lixeira da tela
  • Mate o processo de lixo nos processos em execução

Alguém tem uma idéia do que está causando o problema e o que eu posso fazer para corrigi-lo?

Respostas:


1

Primeiro, o HFS + é um sistema de arquivos não nativo do ponto de vista do Linux, portanto, é esperada alguma estranheza com ele. Dito isso, desmontar completamente o sistema de arquivos ao excluir arquivos vai além do tipo de peculiaridades que eu esperaria, mas pode ser que isso seja pelo menos parte do que está acontecendo. Se sim, e se nenhuma das sugestões abaixo ajudar, mudar para FAT pode fazer o truque. Embora o FAT também seja não-nativo, seus drivers (no Linux e no macOS) são maduros o suficiente para não causar tais problemas. OTOH, FAT também é muito limitado comparado ao HFS +, portanto, pode não ser adequado (por exemplo, se você precisar armazenar arquivos grandes).

De qualquer forma, alguns problemas específicos podem estar em ação aqui:

  • Registro no diário - Por padrão, o macOS cria volumes HFS + com o registro no diário ativo. Na verdade, esse padrão não pode ser desabilitado em versões recentes do macOS ao usar o Utilitário de Disco GUI. O registro no diário, no entanto, é mal suportado nos drivers HFS + do Linux. Assim, para uma partição de dados compartilhada, é melhor desabilitar o registro no diário. Infelizmente, não sei como fazer isso em um volume existente; mas talvez uma busca na Web mude alguma coisa. Se não, ou se você não se importa em fazer um malabarismo de backup-reformat-restore, você pode fazer isso. Quando você fizer isso, sugiro usar mkfs.hfsplusno Linux para criar o novo sistema de arquivos. Para criar um sistema de arquivos sem journaling, você omitiria a -Jopção. (Digite man mkfs.hfspluspara saber mais sobre este comando.) Se o comando não estiver instalado, talvez seja necessário instalar ohfsprogspacote. Há uma maneira de fazer a linha de comando no macOS também; Eu acredito que o comando é newfsou algo similar. Não me lembro dos detalhes, no entanto.
  • IDs de usuários coordenados - Por padrão, a primeira ID de usuário (UID) do Ubuntu é 1000, enquanto que é 501 no macOS. Portanto, quando você tenta compartilhar arquivos em uma partição HFS + nesses sistemas operacionais, os arquivos parecerão pertencer a diferentes usuários em cada sistema operacional. Embora seja possível definir permissões livremente ou fazer uso intensivo sudopara permitir que o compartilhamento de arquivos funcione, uma solução melhor é coordenar os valores de UID nas duas instalações. Minha resposta para esta perguntaem AskUbuntu descreve como fazer isso no Ubuntu e fornece ponteiros para outros sites que descrevem como fazer isso no macOS. (Fazer a mudança no macOS é preferível, mas o processo é mais tedioso no macOS.) Ao sugerir essa mudança, minha hipótese é que você pode estar correndo em problemas de permissões e que esses problemas estão interagindo com bugs do sistema de arquivos que estão causando o sistema de arquivos para ser desmontado.
  • Erros do sistema de arquivos - Se o sistema de arquivos foi danificado, pode ser que o kernel o desmonte repentinamente. Você pode rodar fsckem uma partição HFS + no Linux, e isso deve resolver o problema, desde que o hfsprogspacote esteja instalado. A Apple fez open-source de muito do seu código HFS +, portanto, em teoria, isso deve ser praticamente idêntico a executar uma verificação no macOS; no entanto, a Apple vem fazendo algumas mudanças em seus sistemas de arquivos ultimamente, e eu não sei se essas mudanças funcionaram nos pacotes das distribuições Linux, então pode ser mais seguro fazer o trabalho a partir do macOS, usando o Utilitário de Disco. Se o Utilitário de Disco lhe der uma opção para fazê-lo, não ative um diário na partição, pelas razões anotadas anteriormente.

Você pode obter algumas pistas sobre o que está causando o problema, observando o buffer de anel do kernel imediatamente após o problema ocorrer. Você pode fazer isso digitando dmesgpara ver a coisa toda ou dmesg | tailpara ver as últimas linhas. (Você pode estender o número de linhas mostradas através da -nopção para tail, como em dmesg | tail -n 20; ou você pode usar em lessvez de tailpoder rolar a coisa toda.) O buffer de anel do kernel deveregistra informações sobre falhas do kernel, o que é uma desmontagem não solicitada de um sistema de arquivos. OTOH, é concebível que o que quer que esteja causando a desmontagem não seja realmente uma falha do kernel, ou o relatório de erro não acontece por algum motivo. Se você tentar as sugestões acima e elas não ajudarem, mas se o buffer de anel do kernel mostrar algo suspeito, você pode tentar postar os detalhes.


Obrigado pela sua resposta Rod Smith, sobre journaling e user ID, eu inicialmente cuidei disso desabilitando o journaling em macos e definindo meu ID de usuário do Ubuntu para 501 para acessar arquivos. Esta configuração estava funcionando há meses sem nenhum problema, por isso eu estava investigando um bug, mas foi um bom lembrete. Eu executei todos os comandos de depuração que você me deu, mas não encontrei nada que concluísse a resolução. Eu finalmente decidi formatar esta partição compartilhada para / ext4 e vou ter privilégios de acesso a macos. O Ubuntu é o meu principal sistema operacional e deve resolver conflitos futuros.
hackela
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.