Mova arquivos entre o Linux e o OpenBSD e mantenha as propriedades do arquivo

5

Eu gostaria de mover / compartilhar alguns arquivos entre o Linux e o OpenBSD. Qual seria uma maneira fácil e simples de conseguir isso?

Estas são as soluções que encontrei até agora e por que não estou totalmente convencido:

  • Usando uma unidade USB normal com uma partição FAT32: ela não preservará as permissões.
  • Usando outro tipo de partição: Qual deles funcionaria com o RW em ambos?
  • Usando tar : estou preocupado com o fato de que as implementações de tar diferem entre os BSDs e o Linux.

Qual seria uma maneira simples de compartilhar arquivos entre o Linux e o OpenBSD, mantendo as permissões e os timestamps?

    
por Gradient 04.09.2017 / 23:20

4 respostas

3

Estou usando montagens do NFS. Eu tenho meu /home montado no Ubuntu e no OpenBSD, de um servidor NFS do OpenBSD e não tenho problemas (mesmo UID / GID nos dois sistemas!).

Se você estiver com dual-boot e quiser apenas transferir alguns arquivos de vez em quando, tar archives em um dispositivo USB FAT32 funcionará bem.

Eu nunca tentei compartilhar partições entre o Linux e o OpenBSD (eu usaria máquinas virtuais em vez de dual-boot). Isso parece complicado, mas o OpenBSD 6.1 tem um comando mount_ext2fs no sistema básico, portanto sistemas de arquivos EXT2 devem ser suportados pelo menos em um grau básico.

    
por 04.09.2017 / 23:42
1

Teste rápido usando tar . Eu acredito que a chave que você pode não estar ciente é a% flag ou opção -p . Isso é (basicamente) tentar preservar as permissões de arquivo (e mais).

Em um sistema FreeBSD (mas pode ser o OpenBSD ou mesmo o OSX):

mkdir t1-dir
touch t1-dir/t1-test
touch t1-dir/t1-read-only
chmod 600 t1-dir/t1-read-only
tar czf t1.tgz t1-dir
ls -l t1-dir
total 0
-rw-------   1 tigger  tigger     0  5 Sep 16:24 t1-read-only
-rw-r--r--   1 tigger  tigger     0  5 Sep 16:24 t1-test

Em um sistema Linux (minutos depois):

sftp <freebsd system>
get t1.tgz
exit
tar xzpf t1.tgz
ls -l t1-dir
total 0
-rw------- 1 tigger tigger 0 Sep  5 16:24 t1-read-only
-rw-r--r-- 1 tigger tigger 0 Sep  5 16:24 t1-test

Se esses dois sistemas estiverem na mesma LAN, você poderá configurar o compartilhamento NFS ou Samba em ambos. Pessoalmente, eu tenho um servidor de arquivos e mídia dedicado (FreeBSD) com uma configuração NFS para arquivos compartilhados entre o FreeBSD e o Linux e o Samba para Windows 10 e OSX.

    
por 05.09.2017 / 08:37
0

O OpenBSD suporta ext2 e ext3 com permissões de leitura / gravação e manutenção. O OpenBSD não suporta o ext4.

Para montar um sistema de arquivos linux ( sd0a , por exemplo) em uma máquina openbsd, faça como root:

mkdir /mnt/linux
mount_ext2fs /dev/sd0a /mnt/linux

Use mount_ext2fs para montar sistemas de arquivos ext3 também.

Em seguida, você pode copiar arquivos entre diretórios usando cp ou tar , como por exemplo:

(cd /mnt/linux && tar cf - .) | (cd /home/pkdick/linux && tar xpf -) 

Se você quiser compartilhar permanentemente um diretório linux com o openbsd, use o NFS (o OpenBSD suporta apenas as versões 1 a 3 do NFS).

No lado do linux, declare as exportações e inicie os daemons do nfs. No lado do OpenBSD, faça (nas linhas a seguir, substitua linuxhostname pelo seu nome de host ou IP da caixa linux):

mkdir /mnt/linux

# to check that NFS services are available on your linux box:
rpcinfo -p linuxhostname

# to see the NFS exports available on your linux box:
showmount -e linuxhostname

# Then, for example, if you have an export /home/pkdick on your linux box:
mount linuxhostname:/home/pkdick /mnt/linux

Você pode declarar essa montagem em seu / etc / fstab:

linuxhostname:/home/pkdick /mnt/linux nfs rw,nodev 0 0
    
por 05.09.2017 / 09:27
0

O OpenBSD oferece suporte somente leitura para ext4 filesystems: isso é útil se você puder conectar diretamente o disco do Linux na caixa do OpenBSD.

Como na maioria dos casos com o BSD, as páginas do manual relevantes são excelentes. Aqui estão alguns para começar: %código% ext4(5)

A FAQ do OpenBSD Disk Setup ( link ) também é útil.

Suas partições provavelmente serão encontradas em mount_ext2fs(8) (para discos de driver SCSI) ou /dev/sdX[d-p] (para discos usando o driver compatível com WD100x).

/dev/wdX[d-p] fornecerá uma lista de discos no seu sistema.

Para descobrir quais partições estão disponíveis para um disco: sysctl hw.disknames (substitua sdX pelo seu disco

Para montar uma unidade ext4 somente leitura:

disklabel sdX

substitua sdX [d-p] pela partição que você identificou e / mountpoint com a localização que você gostaria que fosse montada. Você precisará de acesso de administrador para esta etapa.

Depois de montá-lo somente para leitura, você poderá copiar os arquivos para o novo disco, evitando os gargalos de rede que você teria usando o NFS para concluir a tarefa.

    
por 12.05.2018 / 10:57