apt-get install은 우분투 또는 데비안에서 동일한 경로를 대상으로 하지 않습니다.

apt-get install은 우분투 또는 데비안에서 동일한 경로를 대상으로 하지 않습니다.

apt-get install이 Ubuntu(16.04)에서 호출되는지 또는 debian(stretch-slim docker 이미지)에서 호출되는지에 따라 왜 동일한 방식으로 작동하지 않는지 궁금합니다.

기본적으로 다음을 수행합니다.

root@ubuntu $ apt-get install libfcgi-dev 
...
root@ubuntu $ dpkg -L  libfcgi-dev 
/.
/usr
/usr/lib
/usr/lib/libfcgi++.a
/usr/lib/libfcgi.a
/usr/share
/usr/share/doc
/usr/share/doc/libfcgi-dev
/usr/share/doc/libfcgi-dev/copyright
/usr/include
/usr/include/fastcgi.h
/usr/include/fcgi_config.h
/usr/include/fcgios.h
/usr/include/fcgio.h
/usr/include/fcgiapp.h
/usr/include/fcgi_stdio.h
/usr/include/fcgimisc.h
/usr/lib/libfcgi.so
/usr/lib/libfcgi++.so
/usr/share/doc/libfcgi-dev/changelog.Debian.gz

컨테이너에서도 마찬가지입니다.

root@container $ apt-get install libfcgi-dev 
...
root@container $ dpkg -L  libfcgi-dev 
/.
/usr
/usr/include
/usr/include/fastcgi.h
/usr/include/fcgi_config.h
/usr/include/fcgi_stdio.h
/usr/include/fcgiapp.h
/usr/include/fcgimisc.h
/usr/include/fcgio.h
/usr/include/fcgios.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libfcgi++.a
/usr/lib/x86_64-linux-gnu/libfcgi.a
/usr/share
/usr/share/doc
/usr/share/doc/libfcgi-dev
/usr/share/doc/libfcgi-dev/changelog.Debian.amd64.gz
/usr/share/doc/libfcgi-dev/changelog.Debian.gz
/usr/share/doc/libfcgi-dev/copyright
/usr/lib/x86_64-linux-gnu/libfcgi++.so
/usr/lib/x86_64-linux-gnu/libfcgi.so

나는 패키지가 설치 위치를 결정하는 것이라고 생각했는데([이 게시물][1]에 따라) apt-install이 debian 아래에 "x86_64-linux-gnu"를 추가하는 것 같습니다.

모든 라이브러리 경로가"/x86_64-리눅스-gnu"부분

누구든지 이 문제를 해결하고 모든 x86_64-linux-gnu/*를 /usr/lib에 하드링크하거나 make 파일을 다시 작성하지 않고 빌드를 수행할 수 있는 방법에 대한 팁을 갖고 있습니까?

답변1

이것은 apt경로를 변경하지 않습니다. Ubuntu 16.04 패키지는 "이전" 경로를 사용하여 구축되었으며 Debian 9 패키지는 다중 아키텍처 경로를 사용하여 구축되었습니다(참조).패키징 버전 8.4에 대한 변경 로그).

경로를 하드 코딩할 필요가 전혀 없습니다. 컴파일러는 이러한 라이브러리를 찾을 위치를 알고 있습니다.

관련 정보