DebianのDropboxはNTFS共有でEAGAINエラーを受け取ります。

DebianのDropboxはNTFS共有でEAGAINエラーを受け取ります。

Debianインストールでdropboxを使用すると、いくつかの奇妙な問題が発生します。

  • テストリポジトリが有効になっているDebianを実行しています。
  • ウェブサイトからDropboxをインストールしました。
  • マイアーカイブアカウントの場所は、NTFSでフォーマットされた共有パーティションにあります。

次の行を使用してfstabにdropbox-locationをインストールしました。

UUID=662058B320588C45 /media/ntfs-data ntfs-3g uid=1000,gid=users 0 0

これにより、ドライブへの読み取り/書き込みアクセスが可能になります。ドライブは、ファイルマネージャまたはコンソール(または他のプログラム)を使用してアクセスする限り機能します。

そのドライブに既に存在する場所にアクセスするようにアーカイブアカウントを設定した後、ほぼすべてのファイルのインデックスを作成し、次のメッセージで停止しました。

Downloading 38 files ...

私はstrace以下を生成するプロセスに接続して何が起こっているのかを確認しようとしました(メッセージが表示され続けるので、これは単なる抜粋です)。

recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 496) = 0 (Timeout)
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446674, {1372094398, 476504000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee840, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446680, {1372094398, 476765000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee840, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446687, {1372094398, 477169000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 0
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"5\30\4\0\26\10@\1[\0@\1\17\0\17\0=\0\4\0[\0@\1\0\0\0\0\17\0\17\0"..., 96}, {NULL, 0}, {"", 0}], 3) = 96
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"$\30\1\0&\10\2\0\341\0\0\0", 12}, {NULL, 0}, {"", 0}], 3) = 12
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1;U\0\0\0\0\341\0\0\0\177\0\300\0\246\5S\1\246\5S\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0\177\0\300\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1<U\0\0\0\0\341\0\0\0G\0`\2\246\5S\1\246\0*\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0G\0`\2", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1=U\0\0\0\0\341\0\0\0N\0`\2\246\5S\1\244\0*\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0N\0`\2", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1>U\0\0\0\0\341\0\0\0\0\0\0\0\246\5S\1\244\0\25\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"%\30\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 496  C-c C-c^C <unfinished ...>
Process 5687 detached

私は以下を実行しましたntfsck

sudo ntfsck /dev/sdb1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 219648 MFT records.
Unsupported cases found.

Windowsで再起動してchkdskを実行してもエラーは解決しませんでした。

これが何であるか/どのように修正できるかを知っている人はいますか?

答え1

TL;博士;

問題に対する最終的な解決策は#4です。

1. 代替 /etc/fstab オプション

私はあなたが望むことができると主張するいくつかの人々を見つけましたが、あなたと同様の問題への言及は見たことがありません。私が見つけることができる唯一の違いは、/etc/fstab彼らが使うマウントです。私は以下を試してみます:

UUID=662058B320588C45 /media/ntfs-data ntfs-3g defaults 0 0

これがうまくいかない場合は、特にこれを見つけました。ロケールに合わせて調整する必要がありますが、正直なところ、なぜ必要なのか理解できません。

UUID=662058B320588C45 /media/ntfs-data ntfs-3g defaults,locale=en_GB.UTF-8 0 0

2. $HOME/Dropbox をリンクとして使用

これは、NTFSパーティションでDropboxフォルダを直接使用するのではなく、$HOME/DropboxNTFSパーティションのDropboxフォルダを指す生成されたリンクを使用する別の方法です。

$ ln -s /media/ntfs-data/Windows/User/<username>/Dropbox /home/<username>/Dropbox

これがなぜ重要なのかはわかりませんが、Dropboxアプリケーションはコマンドで生成されたUnixリンクを介してアクセスするため、NTFS共有をEXT3 / 4ディレクトリとして認識する可能性がありますln

3. Dropboxの最新バージョンは何ですか?

あなたは最新バージョンのDropboxクライアントを使用していることを確認しました。あなたはできますここで更新されたバージョンを見つけてください。。これリリースノートはここにあります。しかも。

一般に、デプロイリポジトリに含まれるどのバージョンよりも、Dropboxのダウンロード可能なバージョンを使用する方がよいでしょう。

また、コマンドラインからインストールするときは、非公式のDropbox WikiのDropboxインストール手順も使用しました。トピックのタイトルは次のとおりです。フルテキストベースのLinux環境にDropboxをインストールします。

4.ntfs-3gにオプションをマウント

エントリにファイルとフォルダの正しいマスクを追加するだけです/etc/fstab(これを行うと、すべての場合でntfsドライブがLinuxと互換性があります)。

UUID=662058B320588C45 /media/ntfs ntfs-3g id=1000,gid=1000,dmask=022,fmask=133 0 0

引用する

関連情報