리눅스의 일부로경화우리는 삭제하고 싶어바쁜 상자다음에서 생성된 파일 시스템루트 디렉터리 구축.
하지만 시스템이 그것 없이도 부팅할 수 있는지는 확실하지 않습니다.
나는 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
이는 init
Busybox를 제거할 수 있는 다른 애플리케이션이 있음을 의미합니다. init
Busybox는 성공적인 실행에 필요한 많은 도구를 제공하므로 모든 명령을 대체 명령으로 바꿔야 합니다 .
그러나 다음과 같은 경우(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를 제거합니다.
데비안의 경우 문제는 설치 busybox
와 busybox-static
패키징을 동시에 허용하지 않는다는 것입니다.
복구/구조 옵션이 없는 시스템에서는 복구/구조 옵션이 더 제한된다는 점을 명심하세요. 예를 들어 공간을 절약하고 설치된 소프트웨어를 최소한으로 유지한다는 Unix의 오래된 황금률을 따르기 위해 가상 머신의 표준으로 제거한 물리적 시스템에 이를 유지할 수 있습니다.
최소한 Debian의 경우 제거는 추가 단계나 사용자 정의 없이도 뒤에서 필요한 수정을 수행합니다.