Linux와 OpenBSD 간에 파일을 이동하고 파일 속성을 보존합니다.

Linux와 OpenBSD 간에 파일을 이동하고 파일 속성을 보존합니다.

Linux와 OpenBSD 간에 일부 파일을 이동/공유하고 싶습니다. 이것을 달성하는 쉬운 방법은 무엇입니까?

지금까지 제가 찾은 해결책은 다음과 같습니다. 왜 완전히 확신할 수는 없습니다.

  • FAT32 파티션이 있는 일반 USB 드라이브를 사용하면 권한이 유지되지 않습니다.
  • 다른 파티션 유형 사용: 두 파티션 모두에서 RW 작업을 수행할 수 있는 파티션 유형은 무엇입니까?
  • 사용법 : BSD와 Linux의 구현 차이가 tar걱정됩니다 .tar

권한과 타임스탬프를 유지하면서 Linux와 OpenBSD 간에 파일을 공유하는 쉬운 방법은 무엇입니까?

답변1

NFS 마운트를 사용하고 있습니다. 나는 /home아무 문제 없이 Ubuntu와 OpenBSD의 OpenBSD NFS 서버에서 설치했습니다(UID/GID는 두 시스템 모두에서 동일합니다!).

듀얼 부팅을 하고 가끔 일부 파일을 전송하고 싶다면 tarFAT32 USB 스틱에 보관해도 괜찮습니다.

저는 Linux와 OpenBSD 간에 파티션을 공유해 본 적이 없습니다(이중 부팅 대신 가상 머신을 사용하겠습니다). 까다롭게 들리겠지만 OpenBSD 6.1에는 mount_ext2fs기본 시스템에 명령이 있으므로 EXT2 파일 시스템은 최소한 기본적인 범위까지 지원되어야 합니다.

답변2

빠른 테스트를 사용하십시오 tar. 나는 당신이 모를 수도 있는 핵심은 플래그 -p나 옵션이라고 생각합니다. 이는 (기본적으로) 파일 권한 등을 보존하려는 시도입니다.

FreeBSD 시스템(OpenBSD 또는 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

Linux 시스템의 경우(몇 분 후):

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

두 시스템이 동일한 LAN에 있는 경우 그 중 하나에 NFS 또는 Samba 공유를 설정할 수 있습니다. 개인적으로 저는 FreeBSD와 Linux 간에 파일을 공유하기 위한 NFS 설정과 Windows 10 및 OSX용 Samba 설정을 갖춘 전용 파일 및 미디어 서버(FreeBSD)를 가지고 있습니다.

답변3

OpenBSD는 읽기/쓰기 및 예약된 권한이 있는 ext2 및 ext3을 지원합니다. OpenBSD는 ext4를 지원하지 않습니다.

Linux 파일 시스템( sd0a예를 들어)을 openbsd 시스템에 마운트하려면 루트로 다음을 수행하십시오:

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

mount_ext2fsext3 파일 시스템을 마운트 하는 데에도 사용할 수 있습니다 .

cp그런 다음 다음을 사용하여 디렉터리 간에 파일을 복사할 수 있습니다 tar.

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

openbsd와 Linux 디렉토리를 영구적으로 공유하려면 NFS를 사용하십시오(OpenBSD는 NFS 버전 1~3만 지원합니다).

Linux 측에서는 내보내기를 선언하고 nfs 데몬을 시작합니다. OpenBSD 측에서 다음을 수행하십시오( 다음 줄에서 linuxhostnameLinux 호스트 이름 또는 IP로 바꾸십시오).

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

/etc/fstab에서 이 설치를 선언할 수 있습니다:

linuxhostname:/home/pkdick /mnt/linux nfs rw,nodev 0 0

답변4

Ext2는 기본적으로 권한을 유지하는 Linux와 BSD 간의 유일한 공통 파일 시스템 형식입니다. 사용자 또는 그룹 ID가 다른 경우 chown 또는 chgrp를 사용해야 할 수도 있습니다. EXT2 타임스탬프의 해상도는 매우 낮고 EXT4의 해상도는 나노초입니다. EXT 변종(EXT4 포함)은 가비지 데이터(YMMV)를 생성하는 것으로 알려져 있으므로 주의해야 합니다.

BSD mtree(8)는 일부 Linux 배포판(예: OpenSUSE)에서 사용할 수 있으며 권한, 타임스탬프, 플래그, 소유자/그룹 등을 저장하고 복원하는 데 사용할 수 있습니다. (즉, mtree 파일을 사용하여 메타데이터를 저장하는 것은 파일 시스템에서도 사용할 수 있습니다. )는 FAT 변형을 포함하여 이 데이터를 직접 저장할 수 없습니다. 이와 관련하여 bsdtar는 일부 Linux 배포판에서도 사용할 수 있으므로 양쪽에서 호환되는 버전을 사용할 수 있습니다.

단일 멀티부팅 시스템이 아닌 두 개의 실행 중인 시스템이 있는 경우 네트워크 연결을 통한 rsync는 이러한 메타데이터를 보존할 수도 있습니다. rsync를 사용하지 않았다면 학습 곡선이 가파르지만 일단 익숙해지면 매우 유연합니다.

저는 EXT 변형을 사용하여 멀티 부팅 시스템에 공유 데이터를 저장하고, 네트워크를 통해 rsync를 사용하여 컴퓨터 간에 데이터를 공유하고 동기화합니다. MS 시스템에서 EXT2를 읽고 쓸 수 있는 드라이버도 있습니다. 내가 아는 가장 이상한 시스템(저는 macOS에 대해 거의 알지 못하며 그렇게 유지하고 싶습니다)은 Illumos와 이를 기반으로 하는 배포판입니다. 이는 다른 모든 시스템과 공통점이 없으며(ZFS를 사용함) 기본적으로 UFS를 지원할 수 있습니다. , NTFS일 수도 있지만 EXT 지원은 없습니다. MS 시스템에는 UFS가 없으며 일부 Windows 변형에는 ZFS 가용성이 제한되어 있습니다(엔터프라이즈 수준의 디스크 용량과 마스터 beadm 등을 지원하는 직원이 없는 경우). ., 아마도 ZFS를 원하지 않을 것입니다.]; Illumos에는 USB 3 지원도 부족하므로 USB 2 이하 포트 및 장치로 제한하지 않는 한 USB 전송은 옵션이 아닙니다.

관련 정보