Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
E2fsprogs-1.47.0 | 스트립 |
대부분의 프로그램과 라이브러리는 기본적으로 디버깅 심볼이 포함된 상태로 컴파일됩니다(gcc의 -g 옵션 사용). 즉, 디버깅 정보를 포함하여 컴파일된 프로그램이나 라이브러리를 디버깅할 때 디버거는 메모리 주소뿐만 아니라 루틴과 변수의 이름도 제공할 수 있습니다.
이러한 디버깅 기호를 포함하면 프로그램이나 라이브러리가 크게 확대됩니다. 다음은 이러한 심볼이 차지하는 공간의 양을 보여주는 두 가지 예입니다:
bash
바이너리: 1200KBbash
바이너리: 480KB(60% 더 작음)/lib
및 /usr/lib
): 87MB크기는 사용된 컴파일러와 C 라이브러리에 따라 다르지만 디버깅 심볼이 제거된 프로그램은 일반적으로 제거되지 않은 프로그램보다 약 50%에서 80% 정도 작습니다. 대부분의 사용자는 시스템 소프트웨어에서 디버거를 사용하지 않기 때문에 이러한 심볼을 제거하면 디스크 공간을 많이 확보할 수 있습니다. 다음 섹션에서는 프로그램과 라이브러리에서 모든 디버깅 심볼을 제거하는 방법을 보여 드립니다.