Aktualizacja systemu maszyn wirtualnych Java w Gentoo
1.
Zanim zaczniesz
Witamy. Zapewne zadajesz sobie teraz pytanie 'Po co mam aktualizować Javę?'.
Lub właśnie przechodziłeś przez ten proces i zostałeś skierowany na tę stronę
przez błąd instalacji? Bez względu na to, powodem, dla którego stworzono ten
dokument jest pomoc przy aktualizacji Javy do nowego systemu. No tak, ale o co
chodzi z tym nowym systeme Java?
Nowy system java
Dla tych, którzy nie znają jeszcze nowego systemu Javy, poniżej znajduje się
lista nowych opcji:
- Możliwość przełączania się do nowej maszyny wirtualnej w locie.
-
Zmiany jakie wprowadzi użytkownik widoczne są natychmiast i nie są
przechowywane w powłoce systemowej (tzn. nie trzeba więcej uruchamiać
polecenia env-update && source /etc/profile po przełączeniu maszyny
wirtualnej).
-
Koncepcja "budującej maszyny wirtualnej" używanej do instalacji pakietów
oraz konfigurowalnej niezależnie od systemowej maszyny wirtualnej.
-
Dla każdej wersji Javy, 1.3, 1.4, 1.5 itd., budująca maszyna wirtualna może
zostać skonfigurowana do odpowiedniej wersji i producenta maszyny
wirtualnej.
-
Maszyna wirtualna oraz jej pakiety zależne zostaną przełączone podczas
instalacji zgodnie z jej konfiguracją. Dla przykładu, niektóre pakiety nie
kompilują się z wersją 1.5. W takich przypadkach, do budowy zostanie użyta
wersja 1.4.
-
Pakietom Java, które budują się z ant, zostaną przepisane pliki build.xml
podczas kompilacji, aby mieć pewność, że zostanie skompilowany poprawny kod
bitowy java.
- Wersja 1.5 Javy została odmaskowana
-
Wersja 1.6 będzie dostępna dla użytkowników systemu, krótko po jej wydaniu.
Terminologia / Koncepcje
Gdy już wiemy z czym mamy do czynienia, poniżej znajdziemy kilka terminów oraz
koncepcji, które mogą nam się przydać w późniejszym czasie.
- Generacja
-
Nowa koncepcja. Generacja to zestaw programów i eklas
wykorzystywanych do tworzenia pakietów w języku Java. W pewnym momencie
zamierzamy przejść z obecnej generacji do nowszej. W międzyczasie obie
generacje mogą współistnieć. Na przykład, można mieć zainstalowaną
systemową maszynę wirtualną generacji 1 jednocześnie z maszyną
wirtualną generacji 2. W ten sposób pakiety korzystające z generacji
1 i generacji 2 mogą występować razem podczas przejścia na nowszą
generację.
- Pierwsza generacja
-
Składa się z obecnych wersji eklas (java-pkg, java-utils, and java) oraz
programu java-config-1.x. Pakiety generacji 1 uznane są za
przestarzałe i powoli rezygnuje się z ich użycia.
- Druga generacja
-
Nowa wersja zawierająca nowe eklasy (java-pkg-2, java-pkg-opt-2,
java-ant-2, and java-utils-2) oraz nową wersję programu java-config. jest
to generacja, na którą będziemy migrować.
- Systemowa maszyna wirtualna pierwszej generacji
-
Ta maszyna wirtualna służy do instalacji pakietów w języku Java
korzystających z eklas pierwszej generacji. Wybiera się ją za pomocą
polecenia java-config-1 --set-system-vm <wybrana maszyna>.
- Systemowa maszyna wirtualna drugiej generacji
-
Maszyna wirtualna, z której korzystają tylko root i użytkownicy, którzy
nie wybrali własnej maszyny wirtualnej.
- Instalacyjna maszyna wirtualna drugiej generacji
-
W drugiej generacji wprowadzono nowy rodzaj maszyny wirtualnej.
Służy ona do budowania pakietów korzystających z Javy. Standardowo
pakiety będą próbowały korzystać z maszyny wirtualnej o najniższym
numerze wersji. To, którego dostawcy maszyna wirtualna będzie
zastosowana, zależy od architektury. Wartości domyślne są ustawione w
pliku
/usr/share/java-config-2/config/jdk-defaults.conf.
Dodatkowo, instalacyjną maszynę wirtualną można wybrać w pliku
/etc/java-config-2/build/jdk.conf.
2.
Aktualizacja java-config
Nowy pakiet, java-config-wrapper, jest blokowany przez starsze wersje
java-config, należy więc je usunąć:
Listing 2.1: Usuwanie starej wersji java-config |
# emerge -C java-config
|
Teraz trzeba zainstalować nowy java-config:
Listing 2.2: Instalacja nowego java-config |
# emerge -1 "=java-config-1*" "=java-config-2*"
|
3.
Sprawdzenie środowiska Java
Dostarczamy nowy skrypt java-check-environment, służący do sprawdzenia
środowiska Java. Przekazuje on informacje na temat kroków, które należy podjąć,
aby zlikwidować znalezione problemy. Zatem należy uruchomić:
Listing 3.1: Sprawdzanie środowiska |
# java-check-environment
|
Jeżeli skrypt ten napotka na jakieś problemy, zatrzyma swoje działanie i
poinformuje nas o problemie oraz o sposobie jego rozwiązania. Należy zastosować
się do podanych wskazówek a następnie ponownie uruchomić java-check-environment
dopóki skrypt nie zakończy poprawnie działania.
4.
Aktualizacja... ukończono!
Jeżeli dotarłeś do tego momentu, aktualizacja systemu Java zakończyła się
sukcesem. Gratulacje!
Po przeprowadzeniu aktualizacji, być może będziemy chcieli zajrzeć do
zaaktualizowanej dokumentacji.
5.
Częste problemy i pytania
Aby ułatwić poszukiwania rozwiązań na problemy spotykane przy aktualizacji
zespół Java stworzył stronę wiki.
Przed szukaniem pomocy lub zgłaszaniem problemów prosimy o przeczytaniej tego
dokumentu.
Zawartość tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons -
Attribution / Share Alike.
|