buildroot에서 busybox 제거

buildroot에서 busybox 제거

리눅스의 일부로경화우리는 삭제하고 싶어바쁜 상자다음에서 생성된 파일 시스템루트 디렉터리 구축.

하지만 시스템이 그것 없이도 부팅할 수 있는지는 확실하지 않습니다.

나는 busybox에 의존하는 init 파일이 있다고 확신합니다.

busybox 없이 시작할 수 있습니까? 아니면 초기화를 사용자 정의해야 합니까?

답변1

이는 배포판에서 Busybox를 사용하는지 여부에 따라 다릅니다 init.

올바른 방향을 안내하려면 을 실행하세요 ls -l /sbin/init.

다음과 같은 결과가 나오는 경우(OpenWRT의 예):

~# ls -l /sbin/init
-rwxr-xr-x    1 root     root         10824 Jan 31  2016 /sbin/init

이는 initBusybox를 제거할 수 있는 다른 애플리케이션이 있음을 의미합니다. initBusybox는 성공적인 실행에 필요한 많은 도구를 제공하므로 모든 명령을 대체 명령으로 바꿔야 합니다 .

그러나 다음과 같은 경우(Alpine Linux의 예):

~$ ls -l /sbin/init
lrwxrwxrwx    1 root     root            12 May  3 04:49 /sbin/init -> /bin/busybox

init즉, Busybox에서 제공하므로 Busybox를 교체품으로 교체 할 수 없으면 부팅할 수 없습니다 .init

결국 하나의 바이너리를 여러 바이너리로 교체하게 되므로 이렇게 하면 시스템이 실제로 강화되는지 여부를 고려해야 합니다.

답변2

나는 종종 메인 템플릿/Debian VM에서 busybox를 제거합니다.

데비안의 경우 문제는 설치 busyboxbusybox-static패키징을 동시에 허용하지 않는다는 것입니다.

복구/구조 옵션이 없는 시스템에서는 복구/구조 옵션이 더 제한된다는 점을 명심하세요. 예를 들어 공간을 절약하고 설치된 소프트웨어를 최소한으로 유지한다는 Unix의 오래된 황금률을 따르기 위해 가상 머신의 표준으로 제거한 물리적 시스템에 이를 유지할 수 있습니다.

최소한 Debian의 경우 제거는 추가 단계나 사용자 정의 없이도 뒤에서 필요한 수정을 수행합니다.

관련 정보