Mesclando pastas de origem preexistentes em mksquashfs

4

Em esta resposta em uma pergunta anterior, descobri como modificar arquivos em um sistema de arquivos 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

No entanto, nessa última linha, tive alguns problemas ao criar o sistema de arquivos:

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

Essencialmente, como está sobrescrevendo um sistema de arquivos squashfs existente, em vez de mesclar arquivos duplicados, ele cria novas pastas e arquivos na raiz do sistema de arquivos denominado bin_1 , etc_1 , var_1 , tmp_1 etc.

Obviamente, isso não é desejado. Existe uma maneira que eu possa forçá-lo a mesclar os diretórios? Eu tentei executá-lo com -noappend , mas isso quebra a instalação do Clonezilla e não consigo entrar no assistente do Clonezilla. Alguma idéia?

    
por Naftuli Kay 23.06.2013 / 21:35

1 resposta

4

Como eu disse na minha outra resposta, você deve mover o antigo filesystem.squashfs para outro local (ou renomeá-lo) antes de reembalar o squashfs-root modificado em um novo filesystem.squashfs :

mv filesystem.squashfs /path/to/backup/

ou

mv filesystem.squashfs filesystem.squashfs.old

então:

mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot
    
por 23.06.2013 / 22:38