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上にある場合は、それらの1つにNFSまたはSamba共有を設定できます。個人的には、FreeBSDとLinuxの間でファイルを共有するためのNFS設定と、Windows 10およびOSX用のSamba設定を備えた専用ファイルとメディアサーバー(FreeBSD)を持っています。

答え3

OpenBSDは、読み取り/書き込みと予約された権限を持つext2とext3をサポートします。 OpenBSDはext4をサポートしていません。

Linuxファイルシステム(sd0aたとえば)をopenbsdシステムにマウントするには、rootとして次のようにします。

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 ディストリビューションでも使用できるため、両側で互換性のあるバージョンを使用できます。

単一のマルチブートシステムではなく2つの実行中のシステムがある場合、ネットワーク接続を介してrsyncはこれらのメタデータを保存することもできます。 rsyncを使用していない場合は、学習曲線が急になりますが、慣れたら非常に柔軟です。

私はEXTバリアントを使用してマルチブートシステムに共有データを保存し、ネットワークを介してrsyncを使用してコンピュータ間でデータを共有および同期します。 MSシステムでEXT2を読み書きできるドライバもあります。私が知っている最も奇妙なシステム(私はmacOSについてほとんど知らず、それを維持したい)はIllumosとそれに基づいたディストリビューションです。これは他のすべてのシステムと共通するものではなく(ZFSを使用)、デフォルトでUFSをサポートできます。 、NTFSかもしれませんが、EXTサポートはありません。 MSシステムにはUFSがなく、一部のWindowsバリアントにはZFSの可用性が制限されています(エンタープライズレベルのディスク容量とマスターbeadmなどをサポートする従業員がいない場合)。 .、おそらくZFSが欲しくないでしょう。]; IllumosにはUSB 3のサポートもないため、USB 2以下のポートとデバイスに限定されない限り、USB転送はオプションではありません。

関連情報