Linux(또는 기타 Unix)에서 유틸리티를 사용하려는 경우섬기는 사람상자에 Java가 필요하고 서버에 Java가 필요한 다른 응용 프로그램이 없으면 설치해야 한다는 사실이 꺼지겠습니까?
즉, 해당 종속성을 보고 "부풀어오르고, 보안 위험이 있고, 유지 관리해야 하는 또 다른 시스템"이라고 생각하십니까? 아니면 현재 Java가 매우 안전하고 어디에나 존재하므로 전혀 문제가 되지 않습니까?
답변1
많은 것들에 달려 있습니다.
- 유틸리티는 무엇입니까? 얼마나 중요하며 Java가 아닌 대안이 있습니까?
- Java 설치를 망설이는 이유는 무엇입니까?
- 머신의 보안 프로필은 무엇입니까?
- Sun Java 또는 Linux 배포판(자동으로 업데이트됨)의 Java입니까?
기본적으로 비용과 이점 사이의 절충안입니다. 모든 앱과 마찬가지로 Java에도 보안 결함이 있습니다. Sun은 때때로 JVM을 업데이트하며 Java를 제공하는 Linux 공급업체도 동일한 작업을 수행합니다. 이 컴퓨터에 업데이트를 어떻게 푸시할 계획인가요? 얼마나 중요합니까? 머신에 적절한 방화벽이 있고 실행 중인 네트워크 데몬이 제한되어 있다면 디스크의 인터프리터로서 Java는 그다지 위험하지 않을 것입니다. Java는 일반적으로 루트로 실행되지 않습니다.
Java에 관해 제기될 수 있는 거의 모든 주장은 Perl, Mono, GCC 또는 임의의 코드를 실행할 수 있는 모든 소프트웨어에 대해 제기될 수 있습니다. 또한 대부분의 Linux 소프트웨어는 일반적으로 distro를 통해 제공되므로 distro의 업데이트를 사용하여 보안을 유지할 수 있는 경우가 많습니다. 이 경우 Sun Java는 타사 소프트웨어와 동일합니다. 이 타사 유틸리티에 Java 라이브러리가 필요한지 여부가 중요합니까? 아마.
Java가 네트워크를 수신하는 Tomcat 또는 JBoss와 같은 서비스 애플리케이션을 실행하는 Java에 대해 이야기하는 경우 시나리오는 약간 다릅니다. 이 경우 보안 위험이 더 높습니다. 그러나 Apache 또는 SSH와 같은 네트워크 연결 애플리케이션에는 동일한 보안 위험이 있습니다.
답변2
내 Linux 서버에 Java가 필요한 앱이 없는 경우는 매우 드물며 Java가 필요한 앱에는 큰 문제가 없습니다. 너무 널리 사용되어 언젠가 필요할 것으로 예상됩니다. 내가 가지고 있는 대부분의 Linux 서버가 ERP 시스템용이기 때문일 수 있습니다.
하지만 다른 버전의 JVM이나 매우 특정한 버전의 JVM을 원하는 여러 앱에 문제가 있습니다.
답변3
최소한의 위험입니다. 모든 소프트웨어에는 약간의 위험이 있으므로 전혀 걱정하지 않는다고 말하는 것은 옳지 않지만 Java에 대해서는 더 이상 다른 것에 비해 특별한 걱정이 없습니다. 하지만 Java 초기에는 상황이 달랐습니다.
답변4
저는 Java를 Python, Perl, Ruby, PHP, Mono 또는 런타임이 필요한 모든 것과 동일한 범주에 넣습니다. 패키지 버전과 충돌하는 일부 사용자 정의 클래스, 플러그인 또는 모듈을 찾을 필요가 없는 한 설치에 문제가 없습니다.
즉, Java 앱을 사용하는 시스템 관리자가 되는 것은 시스템 관리자가 "빈 문자열"과 같은 오류를 찾기 위해 '스택 내...' 오류의 3페이지를 읽는 대신 오류를 바로 확인하는 것을 선호하기 때문에 약간의 시간이 소요되는 경향이 있습니다.