64MBのフラッシュメモリが3048MBに達するのはなぜですか?

64MBのフラッシュメモリが3048MBに達するのはなぜですか?

私は64MBのフラッシュと256MBのRAMを備えたLinuxベースのSTB(セットトップボックス)を持っています。別の画像に更新する前に、いくつかの設定をバックアップしたいのですが、正確にどこにあるのかわかりません。それは後で調べてみると思います。だから私はFTP経由でボックスに接続し、すべてのファイルとフォルダをダウンロードすることにしました。 FTPクライアントでボックスのルートを右クリックし、Windowsデスクトップの専用フォルダにダウンロードすることを選択しました。

ダウンロードは続き、決して止まらないようです。ただし、FTPサーバーによってFTP接続が終了します(ログにそのように表示されているようです)。結局、2.97GBのデータができました。どうやってこれができますか?このデータはどこから来ますか? ...256MB以上を保存できませんか? ! ...

Linuxシステムのルートディレクトリをすぐにコピーし、他のすべてのファイルやフォルダもコピーされると期待できないのはなぜですか?これはWindowsでC:\をコピーするのと同じではありませんか?リアルタイムシステムなのでそうでしょうか? ...最初に閉じるか、ログアウトしてプロセスを停止する必要がありますか?その時は待機モードでしたが…

ベストアンサー1

STBに保存できるよりも多くのデータを転送するには、少なくとも3つの理由があります。

  • スパースファイル: ファイルには常にファイルの開始時刻から現在の長さまでの連続したバイト列が含まれているようです。ただし、(通常はバイナリ)ファイルを生成し、特定のバイト範囲のみを書き込むことができます。この場合、これらのバイト範囲の間の穴(記録されていない)を読み取ると、値が0のバイトが含まれているように見えます。ファイルシステムは、ソフトウェアがこれらの「脆弱性」を生成するときに気づきますが、実際にはそれをディスクに保存しません。このようにして1000000バイトのファイルを生成し、999999の場所にシングルバイトを書き込むことができます。ファイルサイズはほぼ1MBですが、ディスク容量は1ブロックしか占めません。

    ファイル形式では、ファイルの一部が特定のバイトオフセットにある必要がありますが、すべての内容が入力されない場合は、特定の種類のデータベースまたはインデックスファイルが希薄になる可能性があります。

    ファイルレプリケータは、ファイルが開始位置でリーンであることを知らないため、ソースからファイル全体をバイトストリームとして読み込み、同じバイトストリームをターゲットに書き込みます。ファイルのすべてのバイトがターゲットに書き込まれるため、ターゲットのファイルシステムはスパースファイルを生成しません。

    データセットのスパースファイルがサイズを増やすと思われる場合は、--sparse次のオプションを試してください。同期。ソースに値が0のバイト数が多いたびに、ターゲットにスパースファイルを生成します。 (ソースファイルがあるかどうかはわかりません。実際に希薄かもしれませんが、とにかく目的地では稀になります。 )

    STBには、1つ以上のスパースファイルを使用して実装できる一種の内部データベースを含めることができます。ソースファイルシステムでは、非常に大きなファイル、特にSTBのストレージ容量よりも大きいファイルを見つけます。それら持つ稀になる。

  • アイテムは複数の場所にインストールされます。。 STBなどの組み込みシステムは、製造元のソフトウェア配布とユーザーデータの一部である読み取り専用パーティションと読み取り/書き込みパーティションを混在させる可能性があるため、ファイルシステムのレイアウトが奇妙なことがよくあります。これは、Raw Flashのさまざまな種類のファイルシステム用に設計されています。 (ブロックデバイスではありません)、ブートローダパーティション、非常に簡単に工場初期化機能を可能にする共同でマウントされたファイルシステム、RAMディスク(停電時にファイルシステムを損傷することなく正常に動作するため)など...したがって、実際に同じコンテンツは、さまざまな独立した場所にインストールできます(工場出荷時の形式、共同設置、他の目的のためのバンドルの設置など)。

    この問題を解決するには、このdfコマンドが役立ちます。ただし、一部の組み込みシステムメーカーでは、出力で実行されている作業がはっきりしないほど奇妙な作業を行いますdf。ただし、少なくともどのファイルシステムが存在し、各ファイルシステムがどの程度完全であるかを確認できる必要があります。

  • ハードリンク:FTPはハードリンクを認識しないため、同じファイルに2つのリンクをコピーするように要求すると、ファイルを2回コピーして宛先の2倍のスペースを占有します。ファイルに複数のリンクがある場合、それに応じてリンクが掛けられます。

    この問題を解決するには、rsyncの--hard-linksオプションを試してください。

3つのうち2つのケースでは、rsyncを使用してファイルをコピーすることをお勧めします。これは、STBへのシェルアクセス権があり、rsyncがインストールされているかインストール可能な場合、またはSTBがrsyncをファイル転送プロトコルとして提供している場合にのみ可能です(STBはそうではありませんが、一部のホームNASデバイスでは提供されています)。

利用可能であれば、rsync はあるシステムから別のシステムに大量のデータをコピーする良い方法です。上記の3つの問題のうち2つ(または3つすべてを参照--one-file-system)を選択的に解決できるだけでなく、中断されたレプリケーションを再開するのにも非常に便利です。

おすすめ記事