問題タブ [btrfs]
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 - Linux にソフトウェアをインストールした後、パッケージ化と展開のためにシステム変更をキャプチャする
RPM として利用できない Linux にソフトウェアをインストールし、システムの変更をキャプチャして、内部展開用の RPM としてパッケージ化するためのワークフローを開発しています。
これを行うために私が持っているアイデアの 1 つは、btrfs を活用し、インストール前とインストール後にスナップショットを作成し、スナップショットを比較し、それを使用して (いくつかの常識的な除外を除いて) rpm を構築することです。
これを行うより明白な方法はありますか?
linux - BTRFS と F2FS のユーザー空間ユーティリティのクロス コンパイル
btrfs および F2fs ユーザー空間ユーティリティをクロスコンパイルする手順を説明する Web リンク/ドキュメントはありますか? ステップはありますか?アームベースボード(AM335x)の特別なチューニング提案。
filesystems - BTRFS および ZFS スナップショットはどのように機能しますか?
より具体的には、サブボリューム全体をどのように見て、それに関するすべて (ファイル、ファイルのサイズ、フォルダー構造) を記憶しながら、それをこのような少量のデータに収めているのでしょうか。
rsync - Btrfs スナップショット WITH バックアップ
最初のバックアップでディスク全体をコピーし、次に rsync を使用する代わりにスナップショット ファイルをコピーして、btrfs ファイル システムをバックアップする方法はありますか (または、これは悪い考えですか)?
docker - btrfs ubuntu を使用したドッカー
btrfs を使用して docker deamon を開始するには、助けが必要です。
-s btrfs を使用してデーモンを起動しようとすると、デーモンが起動しません。btrfs で docker deamon を起動しようとすると、ログにエラーが記録されます (間違ったファイルシステム?)。
OSとしてubuntuを使用しています:
/var/lib/docker2 に btrfs を使用して新しいパーティションをマウントしました。
1.6.2 docker バージョンがインストールされています。
「/lib/systemd/system/docker.service」ファイルを編集したところ、次のようになりました。
/etc/default/docker ファイルに 2 つのオプションを挿入しました。
docker deamon を手動で開始しようとすると、次のエラーがログに記録されます。
ここにログファイル全体があります:
linux - ルート ディレクトリに特定の所有者を持つ btrfs ファイル システムをプログラムで作成する
バックグラウンド
ファイル システムをオンザフライで作成および破棄するテスト スクリプトがあり、一連のパフォーマンス テストで使用されます。
スクリプトを root として実行することを避けるために/dev/testdisk、特定のユーザーが所有するディスク デバイスtestuserと、適切なエントリが にあり/etc/fstabます。
これにより、通常のユーザーがディスクをマウントおよびアンマウントできるようになります。
質問
ルート ディレクトリが によって所有されるように、スクリプト ( として実行される) でbtrfsファイル システムtestuserをプログラムで作成したいと考えています。/dev/testdisktestuser
これは、スクリプトをルートとして実行せず、スクリプト内で権限昇格 (の使用sudo) に頼ることなく実行できますか?
他のファイルシステムとの比較
ext{2,3,4} を使用すると、次のコマンドを使用して、現在のユーザーがルート ディレクトリを所有するファイル システムを作成できます。
回避したい回避策 (可能であれば)
btrfs-convertこのツールを使用して、既存の (空の可能性がある) ext{2,3,4} ファイル システムを btrfs 形式に変換できることを認識しています。スクリプトでこの回避策を使用できます (最初に ext4 ファイルシステムを作成し、すぐに brtfs に変換します) が、btrfs ファイル システムを直接作成する方法がある場合は避けたいと思います。
ubuntu - /var/log を btrfs サブボリュームに移動するにはどうすればよいですか? (ubuntu 15.04 デスクトップ)
/var/log/ を移動しようとしています。独自のサブボリュームに。多くのことを試しましたが、/etc/fstab エントリは期待どおりに機能しません。ここでの例で使用/spamしているのは、これを解決している間にログ ファイルを破棄したくないためです。私の質問は以下の太字です。
うまくいかないことであなたを退屈させたりはしません。しかし、ここに私がいるところです:
fstab私の OpenSUSE マシン (したがって UUID が異なる) は、次のようなエントリを使用して一連のサブボリュームをマウントします。
Ubuntu マシンでこれを試してみると、起動しません。次のエラーで失敗するstraceシングル ユーザー モードからのショー:mount(2)
さらに、ディレクトリを df すると、次のようになります。
私の最初の質問: 何が欠けていますか? 動作がおかしいので、何かが間違っています。 2 番目の質問: 正しい場所に投稿していますか? ありがとう!
更新 1:
docker - Docker コンテナー内の大きなファイルの小さな変更により、巨大なレイヤーが生成されます
docker を使用して、ローカルの開発環境でバージョン管理されたデータベースを使用しています (たとえば、データベースの状態をスナップショット/元に戻すことができるようにするため)。仕事の性質上必要です。トランザクションを使用して目的を達成できません [理由の 1 つ - 一部のステートメントは DDL です]
したがって、1 つの大きなファイル (MySQL Inno db ファイル) を含む docker コンテナーがあります。
このファイルを少し変更して (テーブルの行を更新するなど)、コンテナーをコミットすると、新しいレイヤーが作成され、ファイル内の数バイトだけが変更されたとしても、このレイヤーのサイズはこの巨大なファイルのサイズになります。
docker ファイルの場合は「アトミック」構造であり、ファイルが変更されている場合、そのコピーが新しいレイヤーに作成され、このレイヤーが後で画像に含まれるために発生することを理解しています
この動作を変更し、ファイル レベルで差分を保存するように Docker を作成する方法はありますか? たとえば、10 GiG ファイルの 10 バイトが変更された場合、サイズが 10 GiG より小さいレイヤーを作成しますか?
Mb 他のストレージ エンジンを使用できますか? [どれ?(mb 画像形式は異なり、ファイル コンテンツ レベルで差分を保存できます)