문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 |
linuxfromscratch:12.1:152-stripping [2024/06/11 06:00] – 바깥 편집 127.0.0.1 | linuxfromscratch:12.1:152-stripping [2024/06/18 04:01] (현재) – [8.82. 스트립] baecy |
---|
|[[.:151-about_debugging_symbols|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:153-cleaning_up|다음]]| | |[[.:151-about_debugging_symbols|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:153-cleaning_up|다음]]| |
| |
|About Debugging Symbols | Cleaning Up| | |디버깅 심볼 | 정리| |
| |
---- | ---- |
| |
===== 8.82. 스트리핑 ===== | ===== 8.82. 스트립 ===== |
| |
이 섹션은 선택 사항입니다. 사용자가 프로그래머가 아니고 시스템 소프트웨어의 디버깅을 수행할 계획이 없는 경우 바이너리와 라이브러리에서 디버깅 심볼과 일부 불필요한 심볼 테이블 항목을 제거하여 시스템 크기를 약 2GB 줄일 수 있습니다. 이는 일반적인 Linux 사용자에게는 큰 불편을 초래하지 않습니다. | 이 장의 내용은 선택적인 사항입니다. 사용자가 프로그래머가 아니고 시스템 소프트웨어의 디버깅을 수행할 계획이 없는 경우 바이너리와 라이브러리에서 디버깅 심볼과 일부 불필요한 심볼 테이블 항목을 제거하여 시스템 크기를 약 2GB 줄일 수 있습니다. 이는 일반적인 Linux 사용자에게는 큰 불편을 초래하지 않습니다. |
| |
아래에 언급된 명령을 사용하는 대부분의 사람들은 어려움을 겪지 않습니다. 그러나 실수로 인해 새 시스템을 사용할 수 없게 만드는 것은 쉽습니다. 따라서 ''strip'' 명령을 실행하기 전에 현재 상태의 LFS 시스템을 백업하는 것이 좋습니다. | 아래에 언급된 명령을 사용하는 대부분의 사람들은 어려움을 겪지 않습니다. 그러나 실수로 인해 새 시스템을 사용할 수 없게 만드는 것은 쉽습니다. 따라서 **strip** 명령을 실행하기 전에 현재 상태의 LFS 시스템을 백업하는 것이 좋습니다. |
| |
''strip'' 명령은 //--strip-uneeded// 옵션을 사용하여 바이너리 또는 라이브러리에서 모든 디버그 심볼을 제거합니다. 또한 링커(정적 라이브러리의 경우) 또는 동적 링커(동적으로 링크된 바이너리 및 공유 라이브러리의 경우)에 필요하지 않은 모든 심볼 테이블 항목도 제거합니다. | **strip** 명령은 //--strip-uneeded// 옵션을 사용하여 바이너리 또는 라이브러리에서 모든 디버그 심볼을 제거합니다. 또한 링커(정적 라이브러리의 경우) 또는 동적 링커(동적으로 링크된 바이너리 및 공유 라이브러리의 경우)에 필요하지 않은 모든 심볼 테이블 항목도 제거합니다. |
| |
선택한 라이브러리의 디버깅 심볼은 Zlib로 압축되어 별도의 파일에 보존됩니다. 이 디버깅 정보는 나중에 BLFS에서 [[beyondlinuxfromscratch:installedpackages:valgrind]] 또는 [[beyondlinuxfromscratch:installedpackages:gdb]]로 회귀 테스트를 실행하는 데 필요합니다. | 선택한 라이브러리의 디버깅 심볼은 Zlib로 압축되어 별도의 파일에 보존됩니다. 이 디버깅 정보는 나중에 BLFS에서 [[beyondlinuxfromscratch:installedpackages:valgrind]] 또는 [[beyondlinuxfromscratch:installedpackages:gdb]]로 회귀 테스트를 실행하는 데 필요합니다. |
| |
''strip''은 처리 중인 바이너리 또는 라이브러리 파일을 덮어쓴다는 점에 유의하세요. 이로 인해 파일의 코드나 데이터를 사용하는 프로세스가 충돌할 수 있습니다. 스트립을 실행 중인 프로세스가 영향을 받으면 스트립되는 바이너리 또는 라이브러리가 파괴되어 시스템을 완전히 사용할 수 없게 될 수 있습니다. 이 문제를 방지하려면 일부 라이브러리와 바이너리를 /tmp로 복사하여 스트립한 다음 설치 명령으로 다시 설치합니다. ([[.:072-package_management#8.2.1. 업그레이드 문제|8.2.1절 "업그레이드 문제"]]의 관련 항목에서 설치 명령을 사용하는 근거를 확인할 수 있습니다.) | **strip**은 처리 중인 바이너리 또는 라이브러리 파일을 덮어쓴다는 점에 유의하세요. 이로 인해 파일의 코드나 데이터를 사용하는 프로세스가 충돌할 수 있습니다. 스트립을 실행 중인 프로세스가 영향을 받으면 스트립되는 바이너리 또는 라이브러리가 파괴되어 시스템을 완전히 사용할 수 없게 될 수 있습니다. 이 문제를 방지하려면 일부 라이브러리와 바이너리를 /tmp로 복사하여 스트립한 다음 **install** 명령으로 다시 설치합니다. ([[.:072-package_management#8.2.1. 업그레이드 문제|8.2.1절 "업그레이드 문제"]]의 관련 항목에서 **install** 명령을 사용하는 근거를 확인할 수 있습니다.) |
| |
<WRAP info center round 90%> | <WRAP info center round 90%> |