問題タブ [ext3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - ext3 ファイルシステムの破損をシミュレートするにはどうすればよいですか?
組み込みシステムがどのように反応するかをテストする目的で、ファイルシステムの破損をシミュレートし、最終的に可能な限り正常に失敗するようにしたいと思います。頻繁に変更され、NAND/NOR でのストレージには適さないデータには、さまざまな種類のブロック デバイス エミュレート フラッシュ ストレージを使用します。
ファイルツリーのさまざまな部分でデータが変更される頻度と、機密データが保存されている場所について、かなり良い考えを持っているためです。ランダムにではなく、特定の領域にエラーを挿入したいと思います。
緊急の場合fsck -y
、システムを起動して非常に悪い状態にあることを報告するための最後の手段として使用します。システムの復旧能力への影響を調査するために、fsck が修復を試行する原因となるエラーを発生させたいと考えています。
dd if=/dev/random
制御されたエラーを挿入するために簡単に使用できないため、私の目的には十分に正確ではありません。私のニーズにより適した他のツールや方法はありますか、それとも自分で発明する必要がありますか?
linux - SDカード書き込み性能
SDカードに一定の速度でjpeg画像を書き込む小さなアプリケーションを書いています。EXT3 ファイルシステムを選択しましたが、EXT2 ファイルシステムでも同じ動作が観察されました。
私の書き込みループは次のようになります。
またはこのように:
また、いくつかのタイミング統計を表示すると、プログラムが数秒間ブロックされていることがわかります。受信画像を fifo に保持すると、そのようなストールの後に短時間で多くの画像を書き込むため、平均レートはまだ良好です。OSの問題なのかSDカード自体の問題なのか分かりますか?どうすればリアルタイムに近づくことができますか? 強力なリアルタイムは必要ありませんが、数秒間停止することは受け入れられません。
ある程度の精度:はい、すべてのファイルの後にfsyncする必要があります。これは、イメージをユーザーまたはカーネルバッファーではなくディスクに配置したいためです。fsync を使用しないと、スルー出力が大幅に改善されますが、それでも許容できないほどのストールが発生します。最初のストールは 50M バイトが書き込まれた後に発生するため、バッファの問題ではないと思います。また、man ページによると、fsync は正確にここにあり、データがバッファリングされていないことを確認します。
平均書き込み速度に関する精度 : 使用しているカードで維持できる速度で書き込みを行っています。fsync が完了するのを待っている間に着信イメージをパイルすると、この失速後に書き込み転送速度が上昇し、すぐに平均速度に戻ります。平均転送速度は約 1.4 MBytes/s です。
システムは、ストックキー(2.6.24.19)を備えたubuntu 8.04を実行する最新のラップトップです
linux - Linux ファイルシステムのベンチマークのベスト プラクティス
(実際にはプログラミングの質問ではありません、申し訳ありません)
Linuxボックスでの特定の状況で、さまざまなファイルシステムオプション(たとえば、noatime、relatimeなど)を使用して、さまざまなファイルシステム(最も重要なのはext3)のベンチマークに取り組んでいます。
生のファイルシステムのベンチマークについては、bonnie と bonnie++ を調べています。
ファイルシステムのベンチマークに bonnie と bonnie++ を使用する最も便利な方法は何ですか?
ファイルシステムのベンチマークに関するベスト プラクティスは何ですか?
ところで、ext3 ファイルシステムをマシンにマウントするにはどうすればよいでしょうか?
linux - 組み込みシステムで ext3 を fsck する必要がありますか?
ブロックデバイスエミュレーションを備えたフラッシュストレージに存在するファイルシステムへの読み取り/書き込みアクセスを必要とする組み込みシステムが多数あります。当社の最も古いプラットフォームはコンパクト フラッシュで動作し、これらのシステムは 3 年以上使用されていますが、起動時に fsck が実行されることはありません。これまでのところ、ファイル システムまたは CF に起因する障害は発生していません。
最新のプラットフォームでは、最初の生産に USB フラッシュを使用しましたが、現在は読み取り/書き込みストレージ用にディスク オン モジュールに移行しています。しばらく前に、USB ストレージで実行されている多くのデバイスのファイルシステムに問題があったため、e2fsck を有効にして、それが役立つかどうかを確認しました。不良品のフラッシュ メモリを受け取ったことが判明したため、それらを交換すると問題は解消されました。それ以来、システムの信頼性が向上したという兆候はなく、歴史的にはそれがなくても問題がなかったので、e2fsck を無効にしました。
Disk-on-Module ユニットの導入を開始したので、ファイルシステム エラーが再び発生するようになりました。突然、システムが特定のファイルを読み書きできなくなり、緊急コンソールからファイルにアクセスしようとすると、「入出力エラー」が発生します。e2fsck を再度有効にすると、すべてのファイルが修正されました。
O'Reilly の「Building Embedded Linux Systems」では、ext2 ファイルシステムで e2fsck を実行することを推奨していますが、ext3 に関しては言及していないため、有効にするかどうかについて少し混乱しています。
組み込みシステムで fsck を実行することについてどう思いますか? fsckが重要なシステムバイナリを誤って削除しないように、バイナリをar/oパーティションに配置し、ar/wパーティションで変更する必要があるファイルのみを同じフラッシュデバイスに配置することを検討しています。そのようなセットアップの経験がある人はいますか? (良し悪し)?
windows - 暗号化をサポートする Windows 用のオープン ソース ファイルシステムはありますか?
NTFS が暗号化をサポートしていることは知っていますが、それ以外はクローズド ソースです。同様に、truecrypt などのアドインについては認識していますが、暗号化が組み込まれているのではなく、ボルトで固定されていることに興味があります。
rename - すべてのファイル名を 255 文字で切り詰めるコマンド
NTFS ディレクトリが bash シェルで開かれています。ディレクトリ内のすべてのファイル名を ext3 に必要な 255 文字の制限に再帰的に切り詰めるコマンドは?
windows - Windows から Fedora パーティションを読み取るにはどうすればよいですか?
Windows は Fedora パーティションを認識してドライブ文字を与えますが、空白として表示されます。ウィンドウに ext3 ファイルシステムを読み込ませる方法はありますか? Fedora 10 パーティションです。
python - PythonにはEXT3へのフックがありますか
ftpプロキシが中央サーバーにログを記録するcronジョブがいくつかあります。これらのファイルはかなり大きく、転送に時間がかかる場合があります。このプロジェクトの要件の一部は、これらの転送の成功または失敗をログに記録するログメカニズムを提供することです。これは簡単です。
私の質問は、ファイルが現在書き込まれているかどうかを確認する方法はありますか?私の最初の解決策は、指定された時間枠内にファイルサイズを2回チェックし、ファイルサイズをチェックすることでした。しかし、同僚は、Pythonを介してEXT3ファイルシステムにフックし、属性をチェックして、ファイルが現在追加されているかどうかを確認できる可能性があると述べました。私のGoogle-Fuは空になりました。
ファイルの状態をチェックできるEXT3などのモジュールはありますか?サーバーは、EXT3ファイルシステムを備えたFedoraCore9を実行しています。
linux - Linux で ext3 パーティションのボリューム名をクエリまたは設定する効率的な方法は?
少し掘り下げて、Linux ボックスで ext3 パーティションのボリューム名を設定および取得する方法を発見しました。
ボリューム ラベルを設定する
tune2fs -L MY-NEW-NAME /dev/disk/by-path/pci-0000:00:1f.2-scsi-2:0:0:0-part1
ボリュームの現在のレベルを取得する
dumpe2fs -h /dev/disk/by-path/pci-0000:00:1f.2-scsi-2:0:0:0-part1 | grep 'ボリューム名'
これらは問題なく動作しますが、いくつか質問があります。
1) これらのコマンドは、ボリューム名を設定/取得するための最良の方法ですか? または、私が知らない簡単な方法はありますか?
2) ボリュームのラベルを変更すると何かが壊れる可能性はどのくらいありますか? つまり、標準の Linux システムは、特定の名前を持つボリュームに依存していますか? または、問題を起こさずに、好きな名前にボリュームの名前を変更できますか?
3) ある時点で、上記の機能への GUI インターフェイスをプログラムに組み込みたいと考えています。これを行う 1 つの方法は、私のプログラムに上記のシェル コマンドを (system() などを介して) 実行させることですが、それは少し不格好で重いように思えます...同じことを行うために呼び出すことができる直接関数はありますか? もしそうなら、それらは何ですか?
ありがとう、ジェレミー
linux - ext3ファイルシステムからブロックを読み取りますか?
ブロックレベルでext3ファイルシステムにアクセスする最も簡単な方法は何ですか?ファイルや生のバイトは気にせず、一度に1ブロックずつFSを読み取る必要があります。これを行う簡単な方法はありますか(Cで)?それとも、インスピレーションを得るためにソースを調べることができるシンプルなアプリですか?ネット上で使用可能なチュートリアルは見つかりませんでした。カーネルソースに飛び込んでその方法を見つけるのは少し怖いです。