애플리케이션(예: fdisk)을 설치했습니다. 그러나 실행하려면 라이브러리가 필요합니다. 정적 바이너리를 만드는 데 도움이 되는 유틸리티/도구를 찾고 있습니다.이미설치된 바이너리. 이렇게 하면 어디서나 사용할 수 있습니다.
내가 찾은 유일한 신뢰할 수 있는 도구 ErmineLight
는 다음과 같습니다.
여기, 그러나 이것은 셰어웨어입니다.
사용 가능한 오픈 소스 소프트웨어가 있나요?
EDIT
fdisk는 단지 예일뿐입니다. 저는 대부분 LFS에서 작업하므로 유틸리티를 사용해야 한다면 다음 단계를 따라야 합니다.
- 소스 코드 다운로드
- 구성
- 만들다
- 테스트를 수행하다
- 설치하기 위해서,
그래서 시간을 절약하기 위해 데비안, 페도라 또는 기타 배포판에서 정적 바이너리를 만들어 LFS에서 시도해 보고 제대로 작동하거나 요구 사항에 따라 소스 코드를 사용하여 컴파일하는 솔루션을 찾고 있습니다. .
답변1
fdisk가 단지 예시일 뿐이고 실제로 목표가 동적 실행 파일에서 정적 실행 파일을 생성하는 것이라면 다음을 시도해 보세요.엘프 안정제. 심지어Ermine과의 비교(Ermine 공급업체 제공, (비)구매자 주의). 알아채다
- 실행 파일이 많은 경우 전체 크기는 동적으로 연결된 실행 파일과 필요한 동적 라이브러리의 전체 크기보다 클 수 있습니다.
- GNU libc의 일부 기능은 정적으로 링크된 실행 파일에서 작동하지 않을 수 있습니다.국가안보국(사용자 이름, 호스트 이름 등의 데이터베이스) 및 로케일 관련 기능.
귀하의 목표가 작고 휴대 가능한 시스템 도구 세트를 갖는 것이라면 다음을 찾고 있습니다.바쁜 상자, 임베디드 시스템을 위한 핵심 도구 세트(포함)fdisk
). 다음과 같이 Glibc보다 작은 표준 라이브러리에도 관심이 있을 수 있습니다.푸드 라이브러리또는μClibc.
답변2
흠... 그건 정말 나쁜 생각인 것 같습니다. 그러나 가능합니다.
fdisk는 오픈 소스이므로 소스 코드를 얻고 Makefile을 살펴보세요. 컴파일할 때 "-static"을 gcc에 전달하는 옵션을 찾아야 합니다.
저는 C/C++ 전문가는 아니지만 제가 아는 한 기존의 동적으로 연결된 바이너리에서 정적으로 연결된 바이너리를 만드는 것은 불가능합니다.
어디에서나 사용하려면 몇 초 만에 부팅되고 모든 것을 수정할 수 있는 소규모 유지 관리 배포판을 사용하는 것이 좋습니다.
Linux/UNIX 설치가 실행되는 디스크를 수정하고 싶을 수도 있으므로 이것이 더 의미가 있습니다.
답변3
당신은 또한 사용할 수 있습니다ELFex 링커방금 발견한 정말 멋진 프로그램인 에는 동적 실행 파일에서 정적 실행 파일을 생성하는 GUI가 있습니다.