Если вы хотите использовать утилиту на вашем Linux (или другом Unix)серверbox, и для него требуется Java, и ни одно другое приложение на вашем сервере не требует Java, вас бы оттолкнуло то, что вам пришлось его установить?
То есть, смотрите ли вы на эту зависимость и думаете: «Раздутие, угроза безопасности, еще одна система, которую мне придется поддерживать», или на данный момент Java настолько безопасна и вездесуща, что с ней вообще нет никаких проблем?
решение1
Зависит от многих вещей.
- Что это за утилита? Насколько она важна и есть ли альтернативы, не относящиеся к Java?
- Почему вы не решаетесь установить Java?
- Каков профиль безопасности машины?
- Sun Java или из вашего дистрибутива Linux (который автоматически обновляется)?
По сути, это компромисс между стоимостью и выгодой. Java, как и все приложения, имеет недостатки в безопасности. Sun время от времени обновляет свою JVM, и поставщики Linux, поставляющие Java, делают то же самое. Как вы планируете загружать обновления на эту машину? Насколько это важно? Если на машине установлены надлежащие брандмауэры и запущено ограниченное количество сетевых демонов, Java как интерпретатор на диске, вероятно, не представляет большой опасности. Java обычно не запускается от имени root.
Почти все аргументы, которые можно привести в отношении Java, можно привести в отношении Perl, Mono, GCC или любого программного обеспечения, которое может выполнять произвольный код. Более того, большая часть программного обеспечения Linux обычно поставляется с дистрибутивом, поэтому вы часто можете положиться на обновления дистрибутива, чтобы обеспечить безопасность. 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 страницы ошибок «в стеке...», чтобы найти ошибку типа «пустая строка».