mksquashfsに既存のソースフォルダをマージする

mksquashfsに既存のソースフォルダをマージする

存在するこの回答以前の質問で、私はsquashfsファイルシステムのファイルを変更する方法を見つけました。

# unsquash the filesystem to a local directory
sudo cp /media/clonezilla/live/filesystem.squashfs ./
sudo unsquashfs filesystem.squashfs
# now, insert my own script which I want as part of the distribution
sudo cp ~/autobackup squashfs-root/usr/sbin/
# now, resquash the filesystem to be able to use it
sudo mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot

しかし、最後の行でファイルシステムを作成する際にいくつかの問題があります。

Source directory entry bin already used! - trying bin_1
Source directory entry dev already used! - trying dev_1
Source directory entry etc already used! - trying etc_1
Source directory entry home already used! - trying home_1
Source directory entry initrd.img already used! - trying initrd.img_1
Source directory entry lib already used! - trying lib_1
Source directory entry lib64 already used! - trying lib64_1
Source directory entry media already used! - trying media_1
Source directory entry mnt already used! - trying mnt_1
Source directory entry opt already used! - trying opt_1
Source directory entry proc already used! - trying proc_1
Source directory entry root already used! - trying root_1
Source directory entry run already used! - trying run_1
Source directory entry sbin already used! - trying sbin_1
Source directory entry selinux already used! - trying selinux_1
Source directory entry srv already used! - trying srv_1
Source directory entry sys already used! - trying sys_1
Source directory entry tmp already used! - trying tmp_1
Source directory entry usr already used! - trying usr_1
Source directory entry var already used! - trying var_1
Source directory entry vmlinuz already used! - trying vmlinuz_1

bin_1デフォルトでは、既存のsquashfsファイルシステムを上書きするため、重複したファイルをマージせずにファイルシステムのルートに、、etc_1などという名前var_1の新しいフォルダとファイルを作成します。tmp_1

明らかにこれは望ましくない。ディレクトリを強制的にマージする方法はありますか?を使って実行してみましたが、-noappendこれによりClonezillaのインストールが中断され、Clonezillaウィザードに入ることができませんでした。どんなアイデアがありますか?

ベストアンサー1

他の回答で述べたように、この変更されたファイルを新しいファイルに再パッケージ化する前に、古いファイルを別の場所filesystem.squashfsに移動するか名前を変更する必要があります。squashfs-rootfilesystem.squashfs

mv filesystem.squashfs /path/to/backup/

または

mv filesystem.squashfs filesystem.squashfs.old

それから:

mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot

おすすめ記事