Megtudtam, hogy ugyanez az update-alternatives rendszer működik a legtöbb disztrón (*SuSE, Fedora, Ubuntu, Debian rendszereken biztosan), legfeljebb az a különbség, hogy a rendszer állapotadatbázisát tartalmazó ún. adminisztratív könyvtár elérési útja az RPM alapú disztrókon /var/lib/rpm/alternatives, a DEB alapúakon pedig /var/lib/dpkg/alternatives. A különböző disztrók úgy készítik a szoftvercsomagjaikat, hogy installáláskor hozzák létre a saját linkcsoportjaikat, uninstalláláskor pedig töröljék őket.
Mivel az Oracle jdk RPM csomagja nem tartalmaz ilyen update-alternatives szkripteket, a `zypper install jdk-7u4-linux-x64.rpm`
parancs után a következő utasításokat adtam ki a megfelelő linkek létrehozásához:
update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_04/bin/java 20000 \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/java/jdk1.7.0_04/man/man1/java.1 \
--slave /usr/lib64/jvm/jre jre /usr/java/jdk1.7.0_04/jre \
--slave /usr/lib64/jvm-exports/jre jre_exports /usr/java/jdk1.7.0_04/jre/lib \
--slave /usr/bin/keytool keytool /usr/java/jdk1.7.0_04/bin/keytool \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/java/jdk1.7.0_04/man/man1/keytool.1 \
--slave /usr/bin/orbd orbd /usr/java/jdk1.7.0_04/bin/orbd \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/java/jdk1.7.0_04/man/man1/orbd.1 \
--slave /usr/bin/policytool policytool /usr/java/jdk1.7.0_04/bin/policytool \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/java/jdk1.7.0_04/man/man1/policytool.1 \
--slave /usr/bin/rmid rmid /usr/java/jdk1.7.0_04/bin/rmid \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/java/jdk1.7.0_04/man/man1/rmid.1 \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/jdk1.7.0_04/bin/rmiregistry \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/java/jdk1.7.0_04/man/man1/rmiregistry.1 \
--slave /usr/bin/servertool servertool /usr/java/jdk1.7.0_04/bin/servertool \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/java/jdk1.7.0_04/man/man1/servertool.1 \
--slave /usr/bin/tnameserv tnameserv /usr/java/jdk1.7.0_04/bin/tnameserv \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/java/jdk1.7.0_04/man/man1/tnameserv.1
update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/java/jdk1.7.0_04/jre/lib/amd64/libnpjp2.so 20001 \
--slave /usr/bin/javaws javaws /usr/java/jdk1.7.0_04/bin/javaws \
--slave /usr/share/man/man1/javaws.1 javaws.1 /usr/java/jdk1.7.0_04/man/man1/javaws.1
Vegyük észre, hogy a prioritásnak magasabbnak kell lennie a meglevő IcedTea csomag linkcsoportjaiénál, ahhoz, ahogy automata üzemmódban az Oracle Java legyen aktív, vagyis a prioritási számnak TÖBBNEK kell lennie a "gyári" java csomagokénál. Természetesen a /var/lib/rpm/alternatives könyvtárban megmaradnak azok az adatok, amelyek segítségével két rövid utasítással visszaválthatunk a szabad java-ra:
update-alternatives --set java /usr/lib64/jvm/jre-1.6.0-openjdk/bin/java
update-alternatives --set javaplugin /usr/lib64/IcedTeaPlugin.so
Ezzel ez a két linkcsoport automatikus módból kézi módba vált, mert másként nem hajlandó felülbírálni a prioritást az update-alternatives rendszer:
netadmin:~ # update-alternatives --get-selections
awk auto /bin/gawk
ftp auto /usr/bin/pftp
gst-install-plugins-helper auto /usr/lib/pk-gstreamer-install
gtk-update-icon-cache auto /usr/bin/gtk-update-icon-cache-3.0
java manual /usr/lib64/jvm/jre-1.6.0-openjdk/bin/java
javaplugin manual /usr/lib64/IcedTeaPlugin.so
jaxp_parser_impl auto /usr/share/java/xerces-j2.jar
jaxp_transform_impl auto /usr/share/java/xalan-j2.jar
jre_1.6.0 auto /usr/lib64/jvm/jre-1.6.0-openjdk
jre_openjdk auto /usr/lib64/jvm/jre-1.6.0-openjdk
ksh auto /lib64/ast/bin/ksh
mount.ntfs auto /sbin/mount.ntfs-3g
netcat auto /usr/bin/nc
openSUSE-default.xml auto /usr/share/wallpapers/openSUSE-default-static.xml
vim auto /bin/vim-normal
xml-commons-apis auto /usr/share/java/xerces-j2-xml-apis.jar
Amint látjuk, a get-selections parancs az adott linkcsoport nevét, állapotát és a mesterlink célpontját mutatja. Az alárendelt (ún. slave) linkek nem látszanak, és a set parancsnál sem kell megadni őket, mert a mesterlink magával hozza az egész "családját".
Az aktív szoftververzióváltását a szkriptelhető set parancs helyett az interaktív config paranccsal is végezhetjük:
netadmin:~ # update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/java/jdk1.7.0_04/bin/java 20000 auto mode
1 /usr/java/jdk1.7.0_04/bin/java 20000 manual mode
* 2 /usr/lib64/jvm/jre-1.6.0-openjdk/bin/java 17105 manual mode
Ha eltávolítjuk a rendszerről az Oracle java csomagját, töröljük a hozzá tartozó linkcsoportokat is. A slave linkeket ezúttal sem kell megadni, törlődik az egész csoport:
update-alternatives --remove java /usr/java/jdk1.7.0_04/bin/java
update-alternatives --remove javaplugin /usr/java/jdk1.7.0_04/jre/lib/amd64/libnpjp2.so
Tehát: Az update-alternatives rendszer jó, olvassátok el a man oldalt, és használjátok úgy, ahogy kell!
- nice blogja
- A hozzászóláshoz be kell jelentkezni
- 1772 megtekintés
Hozzászólások
Lehetek nagyon, nagyon, nagyon szemet? http://download.opensuse.org/repositories/home:/hrongyorgy/openSUSE_12… . Torold vissza az utolso elemet az utvonalbol, es hasznald egeszseggel! Amennyire tudom, rendszeresen frissitem.
Szerk: latom, kinn a 6u32, most epp le van rohadva a gepem, de hamarosan erkezik az is.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Na, most jól kicsesztél az emberiséggel ;-) (Amúgy a blogbjegyzés lényege nem is annyira a Java volt, hanem az alternatives, úgyhogy köszi a linket.) Gondolom, a te csomagjaid tartalmazzák megfelelő alternatives szkripteket. Egyébkén hogy gyártottad őket? Csak azért kérdezem, mert a http://download.opensuse.org/repositories/home:/hrongyorgy/openSUSE_12… könyvtárban mintha nem láttam volna a forrását. Miért az 1.6-os? Az 1.7-essel eddig minden kiválóan működött, amit kipróbáltam (abevjava, Brocade FC switch adminfelület, Sun ILOM virtuális konzol), meg is lepődtem rajta. Én is szeretnék ilyen build hozzáférést, csak eddig lusta voltam megcsinálni. Az xsidplay RPM-et gyártom le minden új verzióhoz már egy ideje. Nem lenne hülyeség, ha közzé tudnám tenni.
- A hozzászóláshoz be kell jelentkezni
http://download.opensuse.org/repositories/home:/hrongyorgy/openSUSE_12…
Ennek nyugos a forrasterjesztese, mert nem teljesen... ooize.. nem tudom, miert, egy kategoria az acrobat readerrel.
Egyebkent meg pofatlanul csaltam. Van a regi Java:sun:Factory repo, abbol kicsekkoltam a csomagot, kicsit szogeltem rajta, kellett bele nehany csavar is, de most mar faszan buildel.
Hogy miert 1.6? Nem tudom, engem sose csigazott fel az 1.7, plusz ha barmi javasat fejlesztek, jo, ha a default compilerem 1.6, es nem kell kapcsolgatni. Illetve nekem volt par apro nyugom az 1.7-tel egy banki feluletnel, illetve a SuperMicro javas cucca is mintha kohogott volna vele (JNI-vel teltuzott szorny, utalom).
Az OBS-re baromi konnyu regelni, csak csinalni kell egy Novell-es accot. Bonuszkent kapsz egy olyan OpenID-t, ami minden Novelles cuccal hasznalhato, pl. a SUSEStudio-val is.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Szia,
Csinálnál egy olyan Java csomagot is, ami ezt is tartalmazza? http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-…
KAMI | 神
--
Támogatás | OxygenOffice | Fordításaim és SeaMonkey
- A hozzászóláshoz be kell jelentkezni
Na, szoval az Oracle megint tekert a dolgokon ket menetnyit. Sajnos, megszigorodott a letoltesi policy, igy nem tudok az eddig megszokott modon OBS-en keresztul Java csomagokat buildelni. Az ok: kell nekik egy idoalapon kiallitott authentikacios parameter, amit pillanatnyilag nem tudok reprodukalni.
Viszont ez nem tantorit el. Ket verzio maradt:
- Amig engedik, az OBS-re felcommittolom a fajlokat, ebbol lehet buildelni. Nem szep, es elvben szabalyba utkozik (a mar sokat emlegetett Oracle licence miatt), de jelenleg_semmit_ nem tudok tenni. Az OBS eleg laza szabalyzasu, amig nem szolnak, addig lehet.
- Megbiztok bennem annyira, hogy ha ide kirakok egy URL-t, ami egy altalam hostolt repo, akkor onnan is le fogjatok tolteni a csomagot. Ugyanezek a csomagok lennenek, csak nem az OBS gyartana oket, hanem en.
Hosszabb tavon tervezem egy sajat OBS felallitasat, ahol mar en hozom a szabalyokat, es ott pl. lehetne Android SDK-t is buildelni (ertsd: ujracsomagolni), csak az ahhoz valo gep egyreszt meg nem all rendelkezesre, masreszt azt meg ossze is kellene szogelni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
dupe
- A hozzászóláshoz be kell jelentkezni
Ja, egyébként összefoglalná valaki három mondatban, hogy az Oracle Java miért nem része többé az openSUSE-nak (azt tudom, hogy licencelési okokból, de konkrétabban)? Mitől lett ekkora a különbség az Oracle és az IcedTea változat között?
- A hozzászóláshoz be kell jelentkezni
Egyszeru, az Oracle tobbe nem engedi meg a Java ujracsomagolasat, csak az o csomagjukkal terjesztheto. Amit termeszetesen OEL-hez csomagolnak, es nem teljesen SUSE-konform. A DEB csomagolokrol meg sem szeretnek emlekezni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Az utolsó distro-friendly release az 1.6.0.26, ami régi, 1.6-os téren is, plusz ott az 1.7. Amúgy Mint -re fél perc alatt fel lehet pattintani egy Oracle féle rilizt.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
A NAV ÁNYK-abevjava nyomtatványkitöltőjét (a legújabb, 2.49-es verziót) szeretném 12.2-re (32 bites desktop) telepíteni, nekem mindegy, hogy melyik módon, és melyik csomagból, a legegyszerűbb módszert választanám, csak működjön. Előnyben részesíteném a kattintgatást a parancssori megoldásokkal szemben.
Elolvastam ezeket is, más leírásokat is:
http://hup.hu/node/108925
http://www.nav.gov.hu/nav/ebevallas/abevjava/melyiket.html
https://sites.google.com/site/easylinuxtipsproject/java-for-opensuse
Azt hiszem, túl korán próbáltam ki egyiket vagy másikat (és nagyjából csak 12.1-hez találok útmutatást), tehát az eredmény negatív. Azt sejtem, nem távolítottam el megfelelően előzőleg mindent, amit kellett volna, mielőtt az oracle javát telepítettem, innen: http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-…. (Én még a jre-7u9-es rpm-mel próbálkoztam, de látom, már van 7u10-es.)
Szeretném az egészet elölről elkezdeni, ezért kérnék szépen egy vázlatos útmutatást kb. ezekben a kérdésekben:
1. Először miket szedjek le pontosan, a Yastban mire keressek rá?
2. Mit ne hagyjak leszedni, mit zároljak leszedés előtt a Yastban? (A LibreOffice képességeit meg szeretném őrizni, ill. a folyamat végén az újabb jre-verzióval a LO-nak is mennie kellene.)
3. Adjam-e hozzá a Yasthoz ezeket a javás repókat (melyiket?), és innen telepítsek-e az ÁNYK-nak megfelelő javát?:
http://download.opensuse.org/repositories/home:/hrongyorgy/openSUSE_12…
http://download.opensuse.org/repositories/home:/hrongyorgy/openSUSE_Fac…
vagy töltsem-e le az oracle oldaláról a legújabb jre-t, ill. esetleg egy régebbit?
4. A NAV abevjava-verziói (rpm, jar, webstartos) közül melyiket töltsem le úgy, hogy a programon belülről működjön a későbbiekben a verziófrissítés? (neten lógó gép)
5. Az elején leszedett csomagok közül melyeket kell pótlólag visszatennem ahhoz, hogy minden egyéb "a régi" módon működjön?
Előre is köszönöm szépen a segítséget! (Tudom, a kérdéseket a NAV-hoz kellene intéznem, tartok azonban tőle, hogy nem adnának konkrétan használható válaszokat... Azért lehet, hogy majd kipróbálom.)
- A hozzászóláshoz be kell jelentkezni
Köszönöm, de időközben sikerült megoldanom, így: http://hup.hu/node/120343
- A hozzászóláshoz be kell jelentkezni
Na, ami viszont most kiakasztott, az a HP és Brocade fibrechannels switchek java alapú management felületének letiltása az Oracle részéről. A probléma és a megoldás is megtalálható itt:
http://erwinvanlonden.net/2013/12/brocade-webtools-and-java/
Gyakorlatilag két dolgot kellett tennem a managemengt felület megnyitása előtt:
1.: Root-ként szerkeszteni az említett java.security fájlt. (Jelen esetben /usr/java/jdk1.7.0_76/jre/lib/security/java.security)
2.: A böngészőt futtató felhasználóként indítani a jcontrol programot, és a Security fülön a beállítást közepesre venni.
Ezek után kellene frissíteni a switch-ek firmware-ét.
- A hozzászóláshoz be kell jelentkezni