copiando nós do dispositivo

4

Eu estou tentando transferir uma instalação Linux funcional para um novo disco maior, então eu anexei o novo disco em uma porta USB, particionei-o e criei sistemas de arquivos. Ao copiar todos os arquivos, eu encontrei um obstáculo no diretório / dev. "cp -a" faz a maior parte do trabalho, mas falha em, e. / dev / video0 com "Operação não suportada".

>ls -l /dev/video0    # on disk I copy from
crw-rw----+ 1 root video 81, 0 2011-09-25 17:15 video0

>ls -l dev/video0    # on disk copied to
crw-rw---- 1 root video 81, 0 2011-09-25 17:15 video0

Parece que tudo foi copiado, exceto o "+" no final do campo de direitos de acesso. O que significa esse sinal de mais e como posso criá-lo no disco de destino?

    
por Joakim Rosqvist 25.09.2011 / 21:37

1 resposta

4

O + no final indica a presença de uma lista de controle de acesso . Uma ACL em um arquivo concede permissões adicionais para usuários ou grupos, além das permissões tradicionais unix, que distinguem apenas entre o usuário proprietário, o grupo proprietário e outros. Você pode usar getfacl para ver a ACL em um arquivo e setfacl para defini-la.

cp -a copiaria a ACL se pudesse. O motivo pelo qual não é possível que o sistema de arquivos de destino não suporte ACLs ou seja montado sem o suporte da ACL.

Aqui, isso não importa realmente. /dev não é um sistema de arquivos no disco, você não deve copiá-lo, e da mesma forma você não deve copiar /proc , /sys e outros sistemas de arquivos não-disco. Execute cp -ax para executar uma cópia sem recorrer a outros sistemas de arquivos.

cp geralmente não é a melhor maneira de transferir uma instalação existente para um novo disco. Seria mais fácil copiar o sistema de arquivos por atacado, depois ampliá-lo para preencher a partição de destino. Em poucas palavras:

cat </dev/sdy1 >/dev/sdz1
resize2fs /dev/sdz1

em que /dev/sdy1 é a partição que contém a instalação existente e /dev/sdz1 é onde você deseja copiar o sistema no disco maior. Tenha muito cuidado ao digitar este comando, pois isso apagará irrecuperavelmente a partição de destino.

Depois de copiar os arquivos, você precisará configurar o gerenciador de inicialização no novo disco. grub-install /dev/sdz deve fazer o truque, mas você pode precisar escrever um /boot/grub/device.map primeiro para informar que o novo disco será o disco principal. Se você tiver problemas com isso, a maneira mais fácil (se não a mais conveniente) é colocar o novo disco em seu lugar final, então inicialize a partir de um CD / USB do Ubuntu e diga ao programa de instalação para reparar o gerenciador de inicialização.

    
por 25.09.2011 / 22:07