lzma에서 "unsquashfs"를 사용하는 방법은 무엇입니까?

lzma에서 "unsquashfs"를 사용하는 방법은 무엇입니까?

우분투 12.04를 사용하고 있습니다. lzma 이미지의 압축을 풀고 싶습니다. 난 끝냈어

sudo apt-get squashfs-tools

이제 내가 할 때

unsquashfs <squashed_image_filename>

알겠어요

Filesystem uses lzma compression, this is unsupported by this version

내가 짓밟은 이미지가 lzma라는 걸 알아요. lzma에 대한 지원을 설치하는 방법은 무엇입니까? 여기에서 squashfs-tools를 다운로드했습니다.http://sourceforge.net/projects/squashfs/files/

내가 이해한 바에 따르면, 해당 타르볼을 추출한 후 해당 줄의 주석 처리를 제거하여 cd편집 해야 합니다 squashfs4.2/squashfs-tools. 그런 다음 실행하기만 하면 됩니다.MakefileLZMA_XZ_SUPPORT = 1make

그것은 나에게 효과가 없습니다. 오류가 발생합니다.

gzip_wrapper.c:23:18: fatal error: zlib.: No such file or directory

lzma-devel와 을 설치해야 할 것 같습니다 xz-devel. 이것을 시도하고 Google에서 몇 시간 동안 검색했지만 어디에서도 찾을 수 없거나 작동 방법에 대한 확실한 지침을 찾지 못했습니다. 이 일을 한 사람이 나를 도와줄 수 있나요?저는 데스크톱 Linux를 처음 사용합니다.따라서 설명을 합리적으로 자세하게 설명해주시면 매우 감사하겠습니다.

답변1

@msw 덕분에 Ubuntu의 패키지 이름을 찾았습니다. 감사합니다! 미래의 누군가를 위한 전체 단계는 다음과 같습니다.

여기에서 소스 코드를 얻으세요:http://sourceforge.net/projects/squashfs/

# sudo apt-get install lzma-dev
# sudo apt-get install liblzma-dev
# tar -zxvf squashfs4.2.tar.gz
# cd squashfs4.2/squashfs-tools: Edit Makefile and uncomment this line "LZMA_XZ_SUPPORT = 1"
# make
# sudo make install
# sudo unsquashfs <path/lzma_filename_to_unsquash>

답변2

lzma를 지원하는 squashfs를 찾는 사람이라면 Ubuntu 22.10에서는 다음과 같습니다.

  • 커널(5.19.0)은아니요LZMA 압축된 squashfs 이미지 마운트 지원:
    Filesystem uses "lzma" compression. This is not supported
    
  • 이 도구는 (버전 1:4.5.1-1) unsquashfs에서 제공됩니다 .squashfs-tools하다LZMA는 특별한 옵션 없이 지원됩니다.

관련 정보