Sửa đổi một squashfs,


7

Rõ ràng, tôi không muốn thực sự sửa đổi một squashfs. Những gì tôi muốn làm là lấy một squashfs hiện có, một tập hợp các tập tin và tạo một squashfs mới giống với tập tin cũ ngoại trừ các tập tin trong tập hợp thay thế các tập tin tương tự trong squasfs hoặc chỉ được thêm vào nếu có không có tập tin tương tự

OK, phần cuối nghe có vẻ kỳ lạ. Vì vậy, hãy để tôi đưa ra một ví dụ:

Có một squashfs được gọi là mfs.squash. Bên trong nó có một tập tin ./a/foo. Tôi muốn tạo một squashfs mới giống hệt với squashfs cũ - ngoại trừ việc có một tệp mới a/bvà tôi ghi đè lên ./a/foobằng một trong những đặc điểm kỹ thuật của tôi.

Câu trả lời:


7

Gắn kết các squashfs:

mkdir /mnt/squishy
mount mfs.sqash /mnt/squishy -t squashfs -o loop

Sao chép squashfs sang nơi khác:

mkdir /tmp/squooshtacular
find /mnt/squishy -xdev -print0 | cpio -pa0V /tmp/squooshtacular

Sao chép các tập tin mới vào vị trí:

cp ./a.foo /tmp/squooshtacular/a.foo

Tạo các squashfs mới:

mksquashfs /tmp/squooshtacular mfs_with_bbq_sauce.squash

1
Tôi nghĩ rằng điều này nên đọc:find /mnt/squishy -xdev -print0 | cpio -pd0V /tmp/squooshtacular
fpmurphy

@fpmurphy Tại sao? -dkhông cần thiết vì findsản xuất tất cả các tên thư mục và không có lý do gì để xóa -a.
Gilles 'SO- ngừng trở nên xấu xa'

Không làm việc cho tôi mà không có tùy chọn -d
fpmurphy

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.