Относно Debian

Никога не бих си помислил, че ще трябва да пиша такива ръководства, особено за себе си ... Но пътищата на копиристите са непостижими.

Всъщност. Ако някой не знае, в един момент компанията, която не може да бъде назована, промени лицензионното споразумение за JDK, така че стана невъзможно да го разпространява чрез хранилища на Linux.
OpenJDK, който остана в хранилищата, е пълна шлака и дори не може да изпълнява KVM аплети. Много.
Междувременно jdk прави огромни стъпки, 7-ма версия вече е пусната (по-бърза, по-висока, по-силна и най-важното, изобщо няма проблеми с достъпа до ipmi/ip-kvm).
Но инсталационният процес вече е малко нетривиален за драйверите на ubuntu.
Е, тъй като аз самият седя под бутон, това ще бъде полезно и за мен.

Най-лошото е, че сега няма да се актуализира, когато apt-get update. Е, че хората на Ораклов са задници - ние отдавна знаем. Все още трябва да го сложите. Те са толкова задници, че сега дори не можете да намерите статична връзка към най-новата версия (която може да бъде вмъкната в статията).

Ето защо, ние тъпчем тук Ето версия 7u4.
По приятелски начин трябва да отидете тук и да натиснете "изтегляне" под необходимата версия. Накратко, ужас.

Оттам трябва да изтеглите файла jdk-7u4-linux-x64.tar.gz или jdk-7u4-linux-i586.tar.gz (добре или съответно по-нов, ако го намерите). Е, не забравяйте да намерите и изберете елемента „Приемам лицензионно споразумение“ в грозното глупаво оформление на сайта. Тези идиоти също добавиха параметър GET към връзката под формата на ... ъ ... парче бисквитки, без които няма да можете да изтеглите този файл (накратко, определено ще ви трябва браузър и глупости от 2 ще го изтеглите от сървърната конзола).

Когато получим файла, най-накрая можем да се сбогуваме с govnosite на Oracle и спокойно да отидем до конзолата.

Взех файл jdk-7u4-linux-x64.tar.gz

$ tar -xvf jdk-7u4-linux-x64.tar.gz

Нека поставим този нахалник на правилното място от негова гледна точка:

# mv jdk1.7.0_04/usr/lib/jvm /

Нека създадем променлива, така че ръководството да остане универсално за всякакви версии (тогава всичко трябва да се прави в същия терминал):

# jdir = jdk1.7.0_04
# тук, след като е равно, трябва да посочите името на директорията, към която направихме mv

Сега нека създадем правилните символни връзки в системата:

# алтернативи за актуализация --install/usr/bin/javac javac/usr/lib/jvm/$ jdir/bin/javac 1

# алтернативи за актуализация --install/usr/bin/java java/usr/lib/jvm/$ jdir/bin/java 1

# алтернативи за актуализиране --install/usr/bin/javaws javaws/usr/lib/jvm/$ jdir/bin/javaws 1

# алтернативи за актуализиране --install/usr/bin/jar jar/usr/lib/jvm/$ jdir/bin/jar 1

Сега е моментът да убедим нашия ubuntu, че трябва да използваме 7-ми jdk, който току-що "инсталирахме". Ако не сте инсталирали други версии на jdk, трябва да въведете следните 3 команди, само за да успокоите съвестта си. Ако са го направили, тогава ще ни бъдат задавани всякакви глупави въпроси. Ще трябва да им отговорите:

# алтернативи за актуализация --config javac
Има 2 възможности за избор на алтернативен javac (предоставяне/usr/bin/javac).

Състояние на приоритет на пътя за избор
------------------------------------------------------------
* 0/usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 автоматичен режим
1/usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 ръчен режим
2 /usr/lib/jvm/jdk1.7.0_04/bin/javac 1 ръчен режим

Натиснете enter, за да запазите текущия избор [*], или номер за избор на тип: 2

# алтернативи за актуализация --config java
Има 2 възможности за избор на алтернативната java (предоставяне/usr/bin/java).

Състояние на приоритет на пътя за избор
------------------------------------------------------------
* 0/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 автоматичен режим
1/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 ръчен режим
2 /usr/lib/jvm/jdk1.7.0_04/bin/java 1 ръчен режим

Натиснете enter, за да запазите текущия избор [*], или номер за избор на тип: 2

# алтернативи за актуализиране - javaws на config
Има само една алтернатива в javaws на групи с връзки: /usr/lib/jvm/jdk1.7.0_04/bin/javaws
Няма нищо за конфигуриране.

# алтернативи за актуализация --config jar
.

Как да избера номер, мисля, че всички разбират =)
Сега нека проверим дали сме конфигурирали всичко правилно:

$ ls -la/etc/alternative/
lrwxrwxrwx 1 root root 33 май 23 01:40/etc/alternative/java -> /usr/lib/jvm/jdk1.7.0_04/bin/java
lrwxrwxrwx 1 корен на корен 34 май 23 01:39/etc/alternative/javac -> /usr/lib/jvm/jdk1.7.0_04/bin/javac
lrwxrwxrwx 1 root корен 35 май 23 00:29/etc/alternative/javaws -> /usr/lib/jvm/jdk1.7.0_04/bin/javaws
.

$ java -версия
java версия "1.7.0_04"
Java (TM) SE Runtime Environment (компилация 1.7.0_04-b20)
Java HotSpot (TM) 64-битов сървър VM (компилация 23.0-b21, смесен режим)

Е, остана и дреболия - да кажем на нашите браузъри, че имаме java плъгин за тях (това е от значение за почти всички браузъри, за FF и Chrome/Iron/Chromium - със сигурност):

# потребителско име = set_your_username_here; su $ -c "mkdir

$ /. mozilla/plugins "; rm /home/$/.mozilla/plugins/libnpjp2.so; su $ -c" ln -s /usr/lib/jvm/$jdir/jre/lib/amd64/libnpjp2.so

Можете да проверите дали е работил тук.

Бих искал също да присвоя асоциация с javawc на * .jnlp файлове, но това е отделна история (всъщност jnlp ще се отвори само чрез javawc).