![Debian에서 'ZLIB_1.2.9' 버전을 찾을 수 없습니다(libpng16.so.16에 필요).](https://linux55.com/image/194621/Debian%EC%97%90%EC%84%9C%20'ZLIB_1.2.9'%20%EB%B2%84%EC%A0%84%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4(libpng16.so.16%EC%97%90%20%ED%95%84%EC%9A%94)..png)
나는 이것이 기본적으로 정확한 질문이라는 것을 알고 있습니다https://stackoverflow.com/questions/48306849/libz.so.1
, 그러나 거기에 대한 대답은 모두 심볼릭 링크를 생성하라고 말하기 때문에 나에게는 올바른 것 같지 않습니다 . 하지만,
내 데비안 불스아이에는 이미 libz.so
및 가 있으며 libz.so.1
둘 다 에 심볼릭 링크되어 있습니다 libz.so.1.2.11
.
libpng16.so.16
그래서 이것은 더 낮은 버전의 ZLIB(v1.2.9)를 고수하는 문제인 것 같습니다 . 반면 제 것은 이미 입니다 v.1.2.11
. 그렇죠?
모든 세부정보는 다음과 같습니다.
$ mitmweb
/usr/bin/x-www-browser: /tmp/_MEIi9PAKI/libz.so.1: version `ZLIB_1.2.9' not found
(required by /lib/x86_64-linux-gnu/libpng16.so.16)
cd /usr/lib/x86_64-linux-gnu
$ ls -l libz.so*
lrwxrwxrwx 1 root root 36 2020-02-24 16:07 libz.so -> /lib/x86_64-linux-gnu/libz.so.1.2.11
lrwxrwxrwx 1 root root 14 2020-02-24 16:07 libz.so.1 -> libz.so.1.2.11
-rw-r--r-- 1 root root 113088 2020-02-24 16:07 libz.so.1.2.11
$ apt-cache policy libpng16-16:amd64
libpng16-16:
Installed: 1.6.37-3
Candidate: 1.6.37-3
Version table:
*** 1.6.37-3 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
$ ldd /lib/x86_64-linux-gnu/libpng16.so.16
linux-vdso.so.1 (0x00007fff01872000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa21425d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa214119000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa213f54000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa2142c2000)
$ realpath /usr/bin/x-www-browser
/export/opt/google/chrome/google-chrome
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux bullseye/sid
답변1
zlib1g
이는 데비안 이나 libpng16-16
패키지 의 문제가 아니라 데비안의 버그입니다 .바이너리 제공mitmweb
. 여기에는 런타임 시 임시 디렉터리에 압축이 풀린 여러 라이브러리가 포함되어 있으며 LD_LIBRARY_PATH
동적 링커가 해당 라이브러리를 사용할 수 있도록 임시 디렉터리로 설정됩니다. 이는 제공된 바이너리에서는 제대로 작동 mitmweb
하지만 실행을 시도하는 브라우저 LD_LIBRARY_PATH
에는 전달됩니다 .mitmweb
라이브러리 패키지에 libz
버전 1.2.8이 포함되어 있어 만족할 수 없을 만큼 오래되었습니다 libpng16-16
. 따라서 필요한 브라우저를 libpng16-16
시작할 수 없습니다. (바이너리는 이전 배포판을 기반으로 구축되었습니다.이렇게 하면 결국에는 새로운 라이브러리가 필요하지 않게 됩니다..)
그 자체로는 쉬운 수정이 없으며 mitmweb
소스에서 다시 빌드할 수 있는 방법이 없지만 오류를 쉽게 해결할 수 있습니다. mitmweb
부팅을 기다린 다음 브라우저(또는 지정한 경우 적합한 URL)에서 http://localhost:8080을 엽니다. --web-host
또는 )을 사용하는 다른 호스트 또는 포트 --web-port
.
mitmweb
(관심 있는 독자는 실행하지 않고도 분석을 통해 구조에 대해 배울 수 있습니다 binwalk
.)