rootfsから重複ファイルを削除してブート時間を短縮し、メモリ使用量を改善します。

rootfsから重複ファイルを削除してブート時間を短縮し、メモリ使用量を改善します。

私は組み込みLinuxハードウェアをイメージするためにBuildrootを使用しています。主にブートシーケンスの速度を上げ、メモリ使用量を下げようとしており、さまざまな技術を試して成功しました。

私がしたいこと:最近、ディレクトリから重複ファイルを削除する方法(たとえば、これらのファイルをシンボリックリンクに置き換える)について聞いて、この方法を私のrootfsに適用したいと思います。

周りmake:Buildrootを使用すると、1(パッキング)ファイル(たとえば)で生成されるさまざまな種類のrootfs形式(cramfs、cpio、ext2/3/4など)を持つことができますrootfs.cpio。今、私は次のことをする方法を本当に知りません。

  • 画像を開く
  • 重複ファイルの削除(通常は重複ファイルを削除する方法を知っています)
  • rootfsを再圧縮して、ハードウェアで更新して実行できるようにします。

たぶん、まったくそうではないかもしれません。少なくとも静的ライブラリを使用すると、多くのファイルを置き換えることができると思います。

誰でもどんなアイデアがありますか?

ベストアンサー1

ビルドルートに関するトピックについては役に立ちません(重複したアイテムを削除する前にインストールまたは開始する必要があると言う以外に新しいrootfs(結果ファイルシステムから削除されます)ですが、重複排除は可能です。簡単なアプローチでは、find / -type f -exec sha256sum {} + | sort > checksums.txt結果ファイルを1行ずつ読み、while read -r checksum path各チェックサムを以前のチェックサムと比較してから削除(またはハードリンク) 重複しています。これは改行を含むような奇妙なファイル名を処理しませんが、あなたの場合は問題になりません。

おすすめ記事