
Java는 공통 chroot 내에서 잘 실행됩니다.
그러나 grsec 강화 chroot에서는 VM을 빌드할 메모리가 충분하지 않다고 불평합니다.
그것을 실행하는 방법에 대한 아이디어가 있으면 정말 강화된 chroot가 필요하기 때문입니다.
감사해요.
답변1
일반적으로 Java는 grsec과 잘 작동합니다.
그러나 grsec에는 Java에 좋지 않은 문제를 해결하는 옵션이 있습니다.
커널에서 해당 옵션을 활성화한 것 같습니다.
다음에서 확인하세요.
[*] Grsecurity
Customize Configuration --->
PaX --->
Miscellaneous hardening features --->
[ ] Sanitize all freed memory
옵션이 비활성화되어 있는지 확인하고 Sanitize all freed memory
커널을 다시 컴파일하고(IMO에서는 sysctl을 통해 관리할 수 없음) 다시 시도하십시오.
답변2
자세한 내용(오류 메시지의 정확한 텍스트, 사용 중인 JVM 등)을 제공해야 합니다.
32비트 Gentoo Hardened(grsec도 있지만 chroot는 없음)에서 java를 실행하는 데 비슷한 문제가 있었습니다.https://bugs.gentoo.org/show_bug.cgi?id=344135
"서버" 대신 "클라이언트"를 사용하도록 jvm.cfg를 변경하여 이 문제를 해결해 볼 수 있습니다. 예를 들면 다음과 같습니다.
[jvm.cfg.patch]
--client IF_SERVER_CLASS -server
--server KNOWN
+-client KNOWN
또한 -client 및/또는 -Xmx256m 옵션을 사용하여 Java를 실행할 수도 있습니다.