Устанавливаю Oracle Java 7 на Ubuntu 13.10. Делаю это следующим образом:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
Смотрю, что в консоль пишет последняя команда: ага, вот интересные строки:
using /usr/lib/jvm/java-7-oracle/jre/bin/java to provide /usr/bin/java (java) in auto mode
Правильно ли я понимаю, что оно скачало все необходимые файлы и положило в директорию: /usr/lib/jvm?
Почему именно в /usr/lib?
Гугл подсказывает, что:
/usr/lib/ - Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
или
каталог /usr/lib содержит объектные файлы, библиотеки и внутренние исполняемые файлы, которые не могут вызываться непосредственно пользователями из командной строки или скриптов оболочки.
Пока еще не сформировалось у меня четкое понимание, почему именно все было сложено в /usr/lib ну надеюсь со временем понимание придет само.
Делаю следующий шаг:
выполняю команду
- о, замечательно, все установилось, Java в системе установлена.
Дальше:
/usr/bin/java
Эм, как так? А если еще сделать вот так:
bash: cd: /usr/bin/java: Not a directory
- Получается, что такой директории нету?
Я пробовал гуглить: я не нашел 100% ответа, я так понял это какие то софт линки? или как оно так получилось? Объясните, пожалуйста.
У меня есть подозрение, что оно все работает как то следующим образом:
когда я выполняю команду java, система проходит по всем директориям, которые прописаны в $PATH, в том числе и по /usr/bin, в этой директории находит поддиректорию /java, хотя это не директория(?), которая в свою очередь ссылается на /usr/lib/jvm/java-7-oracle/jre/bin/java. Верно?