Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [opgelost] Hulp gevraagd voor het maken van een installatiescript  (gelezen 42774 keer)

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #25 Gepost op: 2011/12/04, 16:15:11 »
Ik ook ! Ben echt benieuwd naar dat resultaat ervan.
Gubuntu 17.04 wegens verdwijnen Unity binnenkort

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #26 Gepost op: 2011/12/05, 15:12:22 »
Iets om rekening mee te houden bij het script: het is het beste als bij aanwezigheid van OpenJDK of de verouderde Sun Java JRE, alleen de browser-plugin (icedtea-6-jre-cacao respectievelijk sun-java6-plugin) wordt verwijderd. En dus niet de rest van de bestaande pakketten.

Reden: bij systemen waarin zowel OpenJDK als de verouderde Sun Java JRE beschikbaar zijn in de pakketbronnen, raak je anders in een "oneindige lus": verwijdering van de volledige OpenJDK roept geforceerd de installatie van Sun Java JRE op, en vice versa. Daar kom je niet uit....

Zie deze voorbeelden:
Linux Mint:
http://forums.linuxmint.com/viewtopic.php?f=47&t=84993&p=507017#p506580

Ubuntu:
http://forum.ubuntu-nl.org/software-en-configuratie/openjdk-uit-updates-verwijderen/msg782009/#msg782009

Deze "oneindige lus" doet zich niet voor bij het uitsluitend verwijderen van de bestaande browser-plugin. Terwijl het verwijderen van alleen de plug-in, even effectief is. Het achterblijven van wat "slapende restpakketten" kan geen kwaad.

De Java-handleidingen op mijn beide webstekken, heb ik inmiddels dienovereenkomstig aangepast.
« Laatst bewerkt op: 2011/12/05, 15:15:37 door Pjotr »

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #27 Gepost op: 2011/12/05, 19:21:59 »
Dat is wat ik bedoelde met mijn opmerking van afgelopen woensdag en mijn aanvulling van vrijdag. Die lus ontstaat niet als je bij het verwijderen van die pakketten zorgt voor een alternatief dat de juiste 'Provides'-regel bevat in het controlbestand.
Het houdt wel in dat het script het niet makkelijk moet maken om de nieuwe installatie 'zomaar' te verwijderen. Dan zou je namelijk een instabiel systeem kunnen krijgen omdat er blijkbaar applicaties zijn die java nodig hebben (dat is de achterliggende oorzaak van die lus).

Uiteindelijk komt het erop neer dat het script en het pakket waar het in komt te zitten noodgedwongen heel nauw met elkaar samenhangen. Als je de door het script geïnstalleerde java-installatie wilt verwijderen, moet je ook het script(pakket) verwijderen, zodat de package manager ervoor kan zorgen dat er een alternatief wordt opgehaald. Om te testen zal het weliswaar mogelijk zijn het script 'los' te gebruiken, maar in de eindsituatie mag dat niet mogelijk zijn.

In feite is het script(pakket) gewoon een nieuwe versie van de oude sun-java6-pakketten. Het belangrijkste verschil met die pakketten is dat de java-installatie zelf daar in zat. Het scriptpakket heeft alle zaken die niet van Oracle zijn aan boord en haalt tijdens het installeren de java-binaries op en installeert die. Het eindresultaat moet qua functionaliteit niet te onderscheiden zijn van de sun-java6-verzameling. Geloof me, dat zal niet in één keer feilloos lukken. Ik heb inmiddels ook de changelogs van de oude pakketten doorgenomen en het blijkt dat er in de loop der jaren behoorlijk door de maintainers is gesleuteld om wat Sun leverde (beter) geschikt te maken voor Debian/Ubuntu. Dat kán ik niet negeren.

Het alternatief - alleen de plugin vervangen - levert de situatie op die ik vorige week woensdag schetste. Je laat dan stukken van de oude installatie staan en voor je het weet maakt de een of andere java-applicatie dáár gebruik van. Dat moet je niet willen.
« Laatst bewerkt op: 2011/12/05, 19:36:08 door grizzler »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #28 Gepost op: 2011/12/05, 19:34:48 »
het blijkt dat er in de loop der jaren behoorlijk door de maintainers is gesleuteld om wat Sun leverde (beter) geschikt te maken voor Debian/Ubuntu. Dat kán ik niet negeren.
Hmmm, misschien valt de noodzaak daarvoor wel mee... Ik gebruik al tijdenlang probleemloos de handmatig geïnstalleerde Oracle Java die ik van de webstek van Oracle pluk. Zonder enige aanpassing aan Ubuntu. Nog nooit een probleem tegengekomen...

Citaat
Het alternatief - alleen de plugin vervangen - levert de situatie op die ik vorige week woensdag schetste. Je laat dan stukken van de oude installatie staan en voor je het weet maakt de een of andere java-applicatie dáár gebruik van. Dat moet je niet willen.
Ook dit risico lijkt in de praktijk, mijn praktijk althans, mee te vallen: ik heb nimmer last gehad van achtergebleven restanten van andere Java's.

De afweging is uiteraard aan jou, maar wellicht kun je jezelf een hoop extra moeite besparen...  :)

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #29 Gepost op: 2011/12/05, 19:48:34 »
het blijkt dat er in de loop der jaren behoorlijk door de maintainers is gesleuteld om wat Sun leverde (beter) geschikt te maken voor Debian/Ubuntu. Dat kán ik niet negeren.
Hmmm, misschien valt de noodzaak daarvoor wel mee... Ik gebruik al tijdenlang probleemloos de handmatig geïnstalleerde Oracle Java die ik van de webstek van Oracle pluk. Zonder enige aanpassing aan Ubuntu. Nog nooit een probleem tegengekomen...
Neem ik zonder meer aan. Ik maak zelf nauwelijks gebruik van Java. De changelogs bevatten echter verwijzingen naar bugmeldingen die 'gerepareerd' zijn door bepaalde zaken aan te passen. Kennelijk heeft niet iedereen daar op dezelfde manier last van gehad.

Citaat
De afweging is uiteraard aan jou, maar wellicht kun je jezelf een hoop extra moeite besparen...  :)
Daar is het een beetje te laat voor, want ik ben eigenlijk al klaar met de benodigde aanpassingen.  8-)

Op dit moment ben ik aan het worstelen met het pakketgebeuren. Ik maak normaal gesproken alleen 'binary'-pakketten -alleen met scripts of voorgecompileerde ELF-binaries- en wil ik dit spul in een PPA kwijt kunnen, dan moet ik een 'source'-pakket aanleveren (launchpad accepteert geen kant-en-klare debs). Dat gooit mijn build-structuren nogal overhoop.  >:(

De rest van de avond heb ik echter andere verplichtingen...

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #30 Gepost op: 2011/12/06, 23:27:35 »
Tijd voor wat testjes. De bijlage bij dit bericht is - als het goed is - een tarball met daarin versie 0.6.0 van het script. Deze versie is geschikt voor zelfstandig gebruik en voor gebruik vanuit een deb-pakket met volledige ondersteuning door de package manager. Zover zijn we echter nog niet...

Installeren

Zelfstandig gebruik wil zeggen:
- downloaden en uitpakken (maakt niet uit waar);
- controleren of de 'uitvoerbaar'-bits van het script het transport hebben overleefd;
- uitvoeren.

De opdrachtregel om het script uit te voeren is (de l na het streepje is een kleine letter L):sudo ./update-sun-jre -lv installDat veronderstelt dat je de terminal open hebt in de map met het script. Je kunt uiteraard ook het volledige pad opgeven. Stel dat je het script in /opt/scripts hebt gezet, dan werkt sudo /opt/scripts/update-sun-jre -lv installook.

De opties l en v schakelen 'logging' en 'verbose output' in. Dat is zeker aan te raden zolang we nog niet zeker weten dat alle bugs eruit zijn.

Uiteraard doet iedere tester dit geheel voor eigen risico. Op mijn machine heb ik de installatie inmiddels een keer of tien zonder problemen uitgevoerd en weer ongedaan gemaakt (zie verderop), maar dat wil niet zeggen dat het overal foutloos zal verlopen. Voer dit dus bij voorkeur uit op een testsysteem. Dat geldt vooral voor de 64-bitters. Ik heb geen 64-bits-systeem tot mijn beschikking en in dat opzicht dus helemaal niets kunnen testen!

Bij zelfstandig gebruik zal het script niet proberen een eventueel aanwezige (oude) versie van de sun-java6-pakketten te verwijderen. De daarvoor benodigde logica zit namelijk in de pakketbeheerder en die komt (nu nog) niet aan bod. Je kunt zo'n oude versie echter zonder problemen laten staan, want het script zorgt ervoor dat die in de praktijk geheel 'onzichtbaar' wordt, door alle mogelijk links om te leiden naar de installatie in /opt/java.

Dat gebeurt voor een belangrijk deel met behulp van het alternatives-systeem. Het script gebruikt een priority van 2000 voor zijn alternatieven en dat is ruimschoots voldoende om boven de sun-java6- en OpenJDK-pakketten uit te komen (die gebruiken respectievelijk 63 en 1061).
Niet alles kan echter op deze manier. Tijdens de installatie worden enkele bestanden onder /usr/lib en /usr/share 'hard' aangepast. Om dat later eventueel weer ongedaan te kunnen maken, worden de oorspronkelijke versies van die bestanden opgeslagen in de cache (/var/cache/update-sun-jre).

Verwijderen

Het script is dus ook te gebruiken om de /opt-installatie te verwijderen. Dat doe je met de opdracht:sudo ./update-sun-jre -lv -d force remove
Daarna zou alles weer helemaal in de oude staat moeten zijn.

Dat is de theorie. In de praktijk ben ik al één dingetje tegengekomen dat zich in dit opzicht niet helemaal gedraagt: de starters voor enkele Java-tools in het menu. Die staan (in ieder geval op mijn systeem) na een installatie namelijk niet standaard aan. Activeer je er een in de menubewerker, dan maakt dat ding een kopie van het bijbehorende .desktop-bestand en zet die in een directory onder je eigen homedirectory (~/.local/share/applications). Dat exemplaar blijft vervolgens opkomen, ook als je de installatie later aanpast. Irritant, maar ik weet er zo gauw geen nette oplossing voor. Waarschijnlijk zie ik iets voor de hand liggends over het hoofd. Wie het weet mag het zeggen...

Overigens heeft deze versie alleen de Engelstalige teksten aan boord. Het script is wel gemaakt voor gebruik met taalbestanden, maar daar ben ik verder nog niet mee bezig geweest.

Nog een aanvullinkje: het tooltje galternatives (zit in de repo) is verdraaid handig om te kijken hoe het met de alternatives staat...

Edit: script vooralsnog verwijderd wegens fout.
« Laatst bewerkt op: 2011/12/07, 19:48:01 door grizzler »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #31 Gepost op: 2011/12/06, 23:53:22 »
Dat is snel! Ik ga het morgen uitproberen en zal de resultaten hier posten.

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #32 Gepost op: 2011/12/07, 19:16:50 »
Foutmelding:
pjotr@pjotr-Reserved:~$ cd Downloads
pjotr@pjotr-Reserved:~/Downloads$ sudo ./update-sun-jre -lv install
[sudo] password for pjotr:
Starting update-sun-jre 2011-12-07 19:13:30+01:00
Selected action: install
System architecture: 32 bit
Creating /opt/java/32 (if necessary) . . .
Creating /var/cache/update-sun-jre (if necessary) . . .
Creating /tmp/update-sun-jre-transfer (if necessary) . . .
Options for wget: -nd -v --progress=dot:binary -a /var/log/update-sun-jre.log
Downloading info page from http://www.java.com/en/download/linux_manual.jsp . . .
Extracted version number: 6u29
New install directory: /opt/java/32/jre1.6.0_29
Checking cache . . .
Nothing suitable in cache
Downloading binary package from http://javadl.sun.com/webapps/download/AutoDL?BundleId=56690 (using --trust-server-names) . . .
Cleaning up name of package to /tmp/update-sun-jre-transfer/jre-6u29-linux-i586.bin . . .
Unpacking package (will not show output on screen) . . .
Full path name of plugin: /opt/java/32/jre1.6.0_29/lib/i386/libnpjp2.so
Caching downloaded package as /var/cache/update-sun-jre/jre-6u29-linux-i586.bin . . .
Updating files for new installation . . .
- /opt/java/32/jre1.6.0_29/bin/javaws
Moving/linking settings files . . .
- fontconfig.properties
- swing.properties
- calendars.properties
- content-types.properties
- flavormap.properties
- logging.properties
- net.properties
- sound.properties
- jvm.cfg
- cacerts
- java.policy
- java.security
- .systemPrefs
Creating symlinks to Open Database Connectivity drivers . . .
Installing alternatives . . .
- ControlPanel
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/ControlPanel to provide /usr/bin/ControlPanel (ControlPanel) in auto mode.
- java
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/java to provide /usr/bin/java (java) in auto mode.
- java_vm
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/java_vm to provide /usr/bin/java_vm (java_vm) in auto mode.
- javaws
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/javaws to provide /usr/bin/javaws (javaws) in auto mode.
- jcontrol
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/jcontrol to provide /usr/bin/jcontrol (jcontrol) in auto mode.
- keytool
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
- pack200
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
- policytool
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode.
- rmid
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
- rmiregistry
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
- unpack200
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
- orbd
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
- servertool
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
- tnameserv
update-alternatives: using /opt/java/32/jre1.6.0_29/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
- jexec
update-alternatives: using /opt/java/32/jre1.6.0_29/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
Activating class data sharing (ignoring errors) . . .
Installing plugin . . .
- firefox
update-alternatives: error: kan van /usr/lib/firefox/plugins/libjavaplugin.so.dpkg-tmp geen symbolische koppeling naar /etc/alternatives/firefox-javaplugin.so maken: Bestand of map bestaat niet
pjotr@pjotr-Reserved:~/Downloads$

Op een verse Lubuntu 11.10 op mijn proefbak. Geen updates, alleen Firefox en openJDK + Icedtea-plugin erbij geïnstalleerd.

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #33 Gepost op: 2011/12/07, 19:41:45 »
update-alternatives: error: kan van /usr/lib/firefox/plugins/libjavaplugin.so.dpkg-tmp geen symbolische koppeling naar /etc/alternatives/firefox-javaplugin.so maken: Bestand of map bestaat niet
libjavaplugin.so.dpkg-tmp?

Kan me voorstellen dat-ie zegt dat dat niet bestaat, want het hoort ook niet te bestaan. Dat .dpkg-tmp slaat nergens op. Zit ook niets in de code wat daarop lijkt. Raadselachtig.
Eerst even iets checken. Wat is de md5sum van het script? Zou edd701252a24e3386b4e6452824ba13c moeten zijn.

Aan de andere kant... Het zou kunnen dat /usr/lib/firefox/plugins ook niet bestaat. Op mijn pc bestaat dat mapje omdat ik de sun-java6-pakketten geïnstalleerd heb staan. OpenJDK zorgt daar blijkbaar niet voor. Ik wíst dat ik tegen onterechte aannames aan zou lopen.

Ik ga even wat aan het script sleutelen...

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #34 Gepost op: 2011/12/07, 19:58:15 »
Okee, hierbij versie 0.6.1 (md5sum 30544537f4a83fd6f0ee2d0ff9b2eb12).

Overigens is de kans groot dat je nu bij een poging de /opt-installatie te verwijderen vrijwel direct de foutmelding 'no cached files' krijgt. Dat komt door een aanname die samenhangt met de vorige. Daar komt een oplossing voor in de volgende versie.  =D

Edit: ook hier bijlage verwijderd wegens fout.
« Laatst bewerkt op: 2011/12/08, 09:10:50 door grizzler »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #35 Gepost op: 2011/12/07, 19:59:53 »
Gecontroleerd: Lubuntu 11.10 heeft alleen /usr/lib/firefox-8.0/plugins (de plugins niet als map, maar als koppeling). Xubuntu 11.10 daarentegen, op mijn netboekje (volledig bijgewerkt met updates plus een hoop andere progjes), heeft beide: zowel /usr/lib/firefox/plugins (echte map) als /usr/lib/firefox-8.0/plugins (de plugins niet als map, maar als koppeling).

Het ziet er dus inderdaad naar uit, dat /usr/lib/firefox/plugins niet standaard aanwezig is, waardoor creatie door het script noodzakelijk is (indien niet aanwezig).

---Toevoeging: ik ga de nieuwe versie nu proberen. Waarbij ik ervan uitga, dat die "over" de installatie van het vorige script heen kan.

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #36 Gepost op: 2011/12/07, 20:05:44 »
OK... Succes!  =D

Verified Java Version
Congratulations!
You have the recommended Java installed (Version 6 Update 29).

md5sum kwam overeen, trouwens.

pjotr@pjotr-Reserved:~$ cd Downloads
pjotr@pjotr-Reserved:~/Downloads$ md5sum update-sun-jre
30544537f4a83fd6f0ee2d0ff9b2eb12  update-sun-jre
pjotr@pjotr-Reserved:~/Downloads$ sudo ./update-sun-jre -lv install
[sudo] password for pjotr:
Starting update-sun-jre 2011-12-07 20:03:11+01:00
Selected action: install
System architecture: 32 bit
Creating /opt/java/32 (if necessary) . . .
Creating /var/cache/update-sun-jre (if necessary) . . .
Creating /tmp/update-sun-jre-transfer (if necessary) . . .
Options for wget: -nd -v --progress=dot:binary -a /var/log/update-sun-jre.log
Downloading info page from http://www.java.com/en/download/linux_manual.jsp . . .
Extracted version number: 6u29
New install directory: /opt/java/32/jre1.6.0_29
Checking cache . . .
BundleIds: 56690 (from info page) =?= 56690 (from cache)
Retrieving binary package jre-6u29-linux-i586.bin from cache . . .
Unpacking package (will not show output on screen) . . .
Full path name of plugin: /opt/java/32/jre1.6.0_29/lib/i386/libnpjp2.so
Updating files for new installation . . .
- /opt/java/32/jre1.6.0_29/bin/javaws
Moving/linking settings files . . .
- fontconfig.properties
- swing.properties
- calendars.properties
- content-types.properties
- flavormap.properties
- logging.properties
- net.properties
- sound.properties
- jvm.cfg
- cacerts
- java.policy
- java.security
- .systemPrefs
Creating symlinks to Open Database Connectivity drivers . . .
Installing alternatives . . .
- ControlPanel
- java
- java_vm
- javaws
- jcontrol
- keytool
- pack200
- policytool
- rmid
- rmiregistry
- unpack200
- orbd
- servertool
- tnameserv
- jexec
Activating class data sharing (ignoring errors) . . .
Installing plugin . . .
- firefox
- iceape
- iceweasel
- mozilla
- midbrowser
- xulrunner
- xulrunner-addons
Removing downloaded package from /tmp . . .
Updating desktop database . . .
Error in file "/usr/share/applications/gnumeric.desktop": "zz-application/zz-winassoc-xls" is an invalid MIME type ("zz-application" is an unregistered media type)
Updating mime database . . .
Stopping update-sun-jre 2011-12-07 20:03:26+01:00
pjotr@pjotr-Reserved:~/Downloads$

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #37 Gepost op: 2011/12/07, 20:16:24 »
OK... Succes!  =D

Verified Java Version
Congratulations!
You have the recommended Java installed (Version 6 Update 29).
Prima. Zit ik nog even met die (nieuwe?) map /usr/lib/firefox-8.0 in Lubuntu. Ik neem aan dat de koppeling plugins daarin naar de OpenJDK-plugin verwijst? Zoals bovenstaand resultaat aantoont maakt dat op zich niet uit, maar toch...

Ik vraag me af wie steeds bedenkt dat nieuwe firefox-versies die functioneel nauwelijks verschillen van de vorige een 'eigen' mapje in /usr/lib moeten hebben. In oudere installaties zie je vaak /usr/lib/firefox, /usr/lib/firefox-3 en /usr/lib/firefox-3.5 en zo. Noodzakelijk zijn ze kennelijk niet, alweer gelet op bovenstaand resultaat, dus waarom dan? Wordt zo'n rommeltje...

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #38 Gepost op: 2011/12/07, 20:25:57 »
Ja, en zo'n firefox-8.0 mapje is nog eens extra nutteloos, nu we elke paar weken een nieuwe Firefoxversie aangeleverd krijgen.... Enfin, het kan tenminste geen kwaad.  :P

Goed werk van je! Dank.

Je kunt Clément Lefebvre blij gaan maken:
https://bugs.launchpad.net/linuxmint/+bug/890278
« Laatst bewerkt op: 2011/12/07, 20:27:36 door Pjotr »

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #39 Gepost op: 2011/12/07, 20:32:31 »
Grizzler,

Waarom gebruik je niet de 'standaard' plugin map "/usr/lib/mozilla/plugins/"
Voor zoveer mij bekend zoek elke browser hierin de plugins.

Ik zal het script eens testen op U 11.10 64 bits waneer ik thuis bent (morgen).
MvG,
MauRice
Registered Linux user: 473556

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #40 Gepost op: 2011/12/07, 20:33:13 »
Ja, en zo'n firefox-8.0 mapje is nog eens extra nutteloos, nu we elke paar weken een nieuwe Firefoxversie aangeleverd krijgen.... Enfin, het kan tenminste geen kwaad.  :P

Goed werk van je! Dank.
Graag gedaan. Jij bedankt voor het testen.

Citaat
Je kunt Clément Lefebvre blij gaan maken:
https://bugs.launchpad.net/linuxmint/+bug/890278
Nog even niet. Ik heb in de twee 'logs' een paar zaken ontdekt die om nader onderzoek vragen. Bovendien - heel belangrijk - nog geen terugkoppeling van (een) tester(s) met een 64-bits systeem.

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #41 Gepost op: 2011/12/07, 20:35:19 »
Waarom gebruik je niet de 'standaard' plugin map "/usr/lib/mozilla/plugins/"
Voor zoveer mij bekend zoek elke browser hierin de plugins.
Die staat ook in het rijtje. Ik ben uitgegaan van de zeven items die in de Debianversie van sun-java6-plugin worden gebruikt.

Citaat
Ik zal het script eens testen op U 11.10 64 bits waneer ik thuis bent (morgen).
Graag. Bij voorbaat dank.
« Laatst bewerkt op: 2011/12/07, 20:42:59 door grizzler »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #42 Gepost op: 2011/12/07, 23:39:15 »
Ik zal het morgen ook eens uitproberen in 64-bit. Mijn netboekje (met 64-bit-Atomprocessor) heeft nog een vrije partitie....

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #43 Gepost op: 2011/12/08, 06:03:43 »
Grizzler,

Zoals belooft... De test.
En wat ik al vermoede met je script door te lezen liep het de eerste keer fout:
Citaat
maurizio@U11-64:~$ sudo ~/bin/update-sun-jre -lv install
Starting update-sun-jre 2011-12-08 05:44:06+01:00
Selected action: install
System architecture: 64 bit
Creating /opt/java/64 (if necessary) . . .
Creating /var/cache/update-sun-jre (if necessary) . . .
Creating /tmp/update-sun-jre-transfer (if necessary) . . .
Options for wget: -nd -v --progress=dot:binary -a /var/log/update-sun-jre.log
Downloading info page from http://www.java.com/en/download/linux_manual.jsp . . .
Extracted version number: 6u29
New install directory: /opt/java/64/jre1.6.0_29
Checking cache . . .
Nothing suitable in cache
Downloading binary package from  (using --trust-server-names) . . .
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.
Error: failed to download binary package
maurizio@U11-64:~$

De fout zit op regel 283 in de URL van de web-site.
Het is niet hetzelfde.
Orgineel:
# package URL depends on architecture
if [ $Bit = 32 ]; then
PackageURL=$(sed -n '/Linux (self-extracting/ s/.*href="\(.*\)" .*$/\1/p;T;q' <$Info)
else
PackageURL=$(sed -n '/Linux x64 (self-extracting/ s/.*href="\(.*\)" .*$/\1/p;T;q' <$Info)
fi

Aangepast:
# package URL depends on architecture
if [ $Bit = 32 ]; then
PackageURL=$(sed -n '/Linux (self-extracting/ s/.*href="\(.*\)" .*$/\1/p;T;q' <$Info)
else
PackageURL=$(sed -n '/Linux x64 */ s/.*href="\(.*\)" .*$/\1/p;T;q' <$Info)
fi

Daarna liep de installatie goed.
Citaat
maurizio@U11-64:~$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
maurizio@U11-64:~$

De-installeren ging weer niet.
Citaat
maurizio@U11-64:~$ sudo ~/bin/update-sun-jre  -lv -d force remove
Starting update-sun-jre 2011-12-08 06:01:27+01:00
Selected action: remove
Error: no cached files
Stopping update-sun-jre
maurizio@U11-64:~$
« Laatst bewerkt op: 2011/12/08, 06:05:22 door MauRice2 »
MvG,
MauRice
Registered Linux user: 473556

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #44 Gepost op: 2011/12/08, 09:00:11 »
De fout zit op regel 283 in de URL van de web-site.
Het is niet hetzelfde.
Inderdaad. Dat 'self-extracting' staat alleen bij de 32-bits versie. Iets te snel kopiëren/plakken gedaan...

Citaat
Aangepast:PackageURL=$(sed -n '/Linux x64 */ s/.*href="\(.*\)" .*$/\1/p;T;q' <$Info)
Daarna liep de installatie goed.
Gaat fout als ze ooit de volgorde omdraaien en de RPM als eerste zetten. Niet dat ik dat verwacht, maar... Ik zal nog even kijken wat ik nog kan toevoegen om het onderscheid duidelijker uit te laten komen. Een dubbel aanhalingsteken direct achter de x64 zou voldoende moeten zijn.

Citaat
De-installeren ging weer niet.
Nee, dat klopt. Zie mijn opmerking in de posting van gisteravond 19:58:15.

Bedankt voor het testen.
« Laatst bewerkt op: 2011/12/08, 09:08:31 door grizzler »

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #45 Gepost op: 2011/12/08, 09:09:59 »
Ik zal het morgen ook eens uitproberen in 64-bit. Mijn netboekje (met 64-bit-Atomprocessor) heeft nog een vrije partitie....
Wacht daar s.v.p. nog even mee tot de volgende versie beschikbaar is...

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #46 Gepost op: 2011/12/08, 22:44:19 »
Versie 0.7.0. Verwijderen zou nu ook moeten werken op systemen waar aanvankelijk geen sun-java6 op stond. Ook installaties die met een vorige versie zijn uitgevoerd kunnen met deze worden verwijderd.

Verder heb ik de ontbrekende zaken die normaal gesproken door de pakketbeheerder worden geplaatst in een aparte tarball update-sun-jre-support.tar.gz gezet. Als je die (onuitgepakt) in dezelfde directory zet als het script, wordt hij vanzelf gevonden. Met de -t optie kan hij eventueel op een andere plaats worden gevonden.

Als het goed is, wordt nu alles geïnstalleerd dat in een complete installatie thuishoort. In de vorige versie werden een paar onderdeeltjes overgeslagen, omdat ik steeds heb aangenomen dat het script bij zelfstandig gebruik een oude sun-java6-installatie zou aantreffen. Voor pc's waarop die niet staat, moet eigenlijk de pakketversie worden gebruikt. Daar ben ik echter nog mee bezig. Ik wil de buildstructuur op mijn machine eerst aanpassen aan de launchpad/ppa-methode, al ben ik er nog steeds niet uit hoe ik de distributie ga doen.

Edit: bedenk ineens dat ik dat 'automatisch vinden' van de support tarball nog moest verfijnen. Hij vindt hem nu alleen zelf als hij in de current working directory staat. Enfin, dat wordt dan wel weer verbeterd in de volgende versie...
« Laatst bewerkt op: 2011/12/08, 22:56:39 door grizzler »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #47 Gepost op: 2011/12/08, 23:21:16 »
Morgen ga ik deze nieuwe versie uitproberen op een 64-bits-systeem, en uiteraard zal ik daarover hier verslag uitbrengen.

Over de distributie: het meest efficiënt lijkt me (niet meer dan mijn persoonlijke mening!) de "schot hagel"-methode. Meerdere sporen dus. Je kunt het tegelijkertijd aanbieden aan verschillende distro's: Mint, Ubuntu en Debian. Wat ze ermee doen, is vervolgens hun zaak.

Bij Mint kun je het aanbieden in het bekende Launchpaddraadje, waarvoor ik al een webkoppeling heb gegeven. Bij Ubuntu heb ik ook enkele relevante recente Launchpaddraadjes voor je.

In scriptvorm (dus niet als .deb), kun je het desgewenst zelfs aanbieden aan Fedora en openSUSE.

Verder: een eigen PPA. Dan hoef je de ontwikkelingen bij de distro's niet verder af te wachten, en kan iedereen er meteen al van profiteren.

Onderschat het belang van je werk vooral niet! Jouw werkstuk heeft verstrekkende betekenis. Ter vergelijking: mijn Engelstalige instructiepagina's over handmatige installatie van Oracle Java, trekken dagelijks tussen de 400 en 500 unieke bezoekers van over de hele wereld. Jouw werkstuk heeft nog veel meer "hitpotentie".

Tot slot: je werkstuk hoeft niet 100 % volmaakt te zijn, voordat je het publiceert. Het credo bij open-bron-software is immers: "release early, release often". Andere mensen kunnen meedenken en verbeteringsvoorstellen aandragen...

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #48 Gepost op: 2011/12/09, 15:48:04 »
Ook met 64-bit: succes!

Gecontroleerde Java-versie
Gefeliciteerd!
U beschikt over de juiste Java-versie (Version 6 Update 29).

Geïnstalleerd in een 64-bits Lubuntu 11.10, met daarin vooraf alleen bijgeïnstalleerd Firefox en openJDK 6 + bijbehorende Icedtea-plugin.

In de map Downloads had ik tevens de support.tar.gz uitgepakt; dat had ik blijkbaar beter niet kunnen doen, gezien de uitvoer van het script, en gewoon de support-tarball laten staan (die zat nu in de prullenbak). Daarover straks meer.

Terminaluitvoer:
pjotr@pjotr-HP-Mini-110-3000:~$ cd Downloads
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$ sudo ./update-sun-jre -lv install
[sudo] password for pjotr:
Starting update-sun-jre 2011-12-09 15:36:41+01:00
Selected action: install
System architecture: 64 bit
Creating /var/cache/update-sun-jre (if necessary) . . .
Creating /tmp/update-sun-jre-transfer (if necessary) . . .
Tarball update-sun-jre-support.tar.gz with support files not found - ignored
Options for wget: -nd -v --progress=dot:binary -a /var/log/update-sun-jre.log
Downloading info page from http://www.java.com/en/download/linux_manual.jsp . . .
Extracted version number: 6u29
New install directory: /opt/java/64/jre1.6.0_29
Checking cache . . .
Nothing suitable in cache
Downloading binary package from http://javadl.sun.com/webapps/download/AutoDL?BundleId=56692 (using --trust-server-names) . . .
Cleaning up name of package to /tmp/update-sun-jre-transfer/jre-6u29-linux-x64.bin . . .
Caching downloaded package as /var/cache/update-sun-jre/jre-6u29-linux-x64.bin . . .
Creating /opt/java/64 (if necessary) . . .
Unpacking package (will not show output on screen) . . .
Full path name of plugin: /opt/java/64/jre1.6.0_29/lib/amd64/libnpjp2.so
Creating symlinks to Open Database Connectivity drivers . . .
Updating new installation's javaws link . . .
Moving/linking settings files . . .
- fontconfig.properties
- swing.properties
- calendars.properties
- content-types.properties
- flavormap.properties
- logging.properties
- net.properties
- sound.properties
- jvm.cfg
- jmxremote.access
- jmxremote.password
- management.properties
- snmp.acl
- cacerts
- java.policy
- java.security
- .systemPrefs
Updating files in /usr/lib and /usr/share . . .
- /usr/lib/mime/packages/sun-java6-bin not found
- /usr/share/application-registry/sun-java6-archive.applications not found
- /usr/share/application-registry/sun-java6-web-start.applications not found
- /usr/share/applications/sun-java6-controlpanel.desktop not found
- /usr/share/applications/sun-java6-java.desktop not found
- /usr/share/applications/sun-java6-javaws.desktop not found
- /usr/share/applications/sun-java6-policytool.desktop not found
- /usr/share/menu/sun-java6-bin not found
Installing alternatives . . .
- ControlPanel
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/ControlPanel to provide /usr/bin/ControlPanel (ControlPanel) in auto mode.
- java
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/java to provide /usr/bin/java (java) in auto mode.
- java_vm
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/java_vm to provide /usr/bin/java_vm (java_vm) in auto mode.
- javaws
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/javaws to provide /usr/bin/javaws (javaws) in auto mode.
- jcontrol
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/jcontrol to provide /usr/bin/jcontrol (jcontrol) in auto mode.
- keytool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
- pack200
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
- policytool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode.
- rmid
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
- rmiregistry
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
- unpack200
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
- orbd
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
- servertool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
- tnameserv
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
- jexec
update-alternatives: using /opt/java/64/jre1.6.0_29/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
Activating class data sharing (ignoring errors) . . .
Installing plugin . . .
- firefox
- iceape
- iceweasel
- mozilla
- midbrowser
- xulrunner
- xulrunner-addons
Removing downloaded package from /tmp . . .
Updating desktop database . . .
Error in file "/usr/share/applications/gnumeric.desktop": "zz-application/zz-winassoc-xls" is an invalid MIME type ("zz-application" is an unregistered media type)
Updating mime database . . .
Stopping update-sun-jre 2011-12-09 15:37:05+01:00
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$

Wegens de ontbrekende support-tarball heb ik de verwijderingsopdracht uitgevoerd, om de boel straks weer te herinstalleren *met* support-tarball:
pjotr@pjotr-HP-Mini-110-3000:~$ sudo ./update-sun-jre -lv -d force remove
[sudo] password for pjotr:
sudo: ./update-sun-jre: command not found
pjotr@pjotr-HP-Mini-110-3000:~$ cd Downloads
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$ sudo ./update-sun-jre -lv -d force remove
Starting update-sun-jre 2011-12-09 15:50:46+01:00
Selected action: remove
Removing runtime installation in /opt/java/64/jre1.6.0_29 . . .
Removing plugin . . .
- firefox
- iceape
- iceweasel
- mozilla
- midbrowser
- xulrunner
- xulrunner-addons
Removing alternatives . . .
- ControlPanel
- java
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/java to provide /usr/bin/java (java) in auto mode.
- java_vm
- javaws
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/javaws to provide /usr/bin/javaws (javaws) in auto mode.
- jcontrol
- keytool
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
- pack200
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
- policytool
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode.
- rmid
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
- rmiregistry
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
- unpack200
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
- orbd
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
- servertool
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
- tnameserv
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
- jexec
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
Restoring modified files from cache . . .
- /usr/lib/mime/packages/sun-java6-bin not found
- /usr/share/application-registry/sun-java6-archive.applications not found
- /usr/share/application-registry/sun-java6-web-start.applications not found
- /usr/share/applications/sun-java6-controlpanel.desktop not found
- /usr/share/applications/sun-java6-java.desktop not found
- /usr/share/applications/sun-java6-javaws.desktop not found
- /usr/share/applications/sun-java6-policytool.desktop not found
- /usr/share/menu/sun-java6-bin not found
Removing support files that were not installed already . . .
Removing /opt/java/64/jre1.6.0_29 . . .
Updating desktop database . . .
Error in file "/usr/share/applications/gnumeric.desktop": "zz-application/zz-winassoc-xls" is an invalid MIME type ("zz-application" is an unregistered media type)
Updating mime database . . .
Stopping update-sun-jre 2011-12-09 15:50:47+01:00
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$

En daarna weer geïnstalleerd, met de support-tarball erin:
pjotr@pjotr-HP-Mini-110-3000:~$ cd Downloads
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$ sudo ./update-sun-jre -lv install[sudo] password for pjotr:
Starting update-sun-jre 2011-12-09 15:54:40+01:00
Selected action: install
System architecture: 64 bit
Creating /var/cache/update-sun-jre (if necessary) . . .
Creating /tmp/update-sun-jre-transfer (if necessary) . . .
Extracting tarball update-sun-jre-support.tar.gz with support files . . .
Options for wget: -nd -v --progress=dot:binary -a /var/log/update-sun-jre.log
Info page /tmp/update-sun-jre-transfer/infopage found
Extracted version number: 6u29
New install directory: /opt/java/64/jre1.6.0_29
Checking cache . . .
BundleIds: 56692 (from info page) =?= 56692 (from cache)
Retrieving binary package jre-6u29-linux-x64.bin from cache . . .
Creating /opt/java/64 (if necessary) . . .
Unpacking package (will not show output on screen) . . .
Full path name of plugin: /opt/java/64/jre1.6.0_29/lib/amd64/libnpjp2.so
Creating symlinks to Open Database Connectivity drivers . . .
Updating new installation's javaws link . . .
Moving/linking settings files . . .
- fontconfig.properties
- swing.properties
- calendars.properties
- content-types.properties
- flavormap.properties
- logging.properties
- net.properties
- sound.properties
- jvm.cfg
- jmxremote.access
- jmxremote.password
- management.properties
- snmp.acl
- cacerts
- java.policy
- java.security
- .systemPrefs
Updating files in /usr/lib and /usr/share . . .
- /usr/lib/mime/packages/sun-java6-bin not found
- /usr/lib/mime/packages/update-sun-jre
- /usr/share/application-registry/sun-java6-archive.applications
- /usr/share/application-registry/sun-java6-web-start.applications
- /usr/share/applications/sun-java6-controlpanel.desktop
- /usr/share/applications/sun-java6-java.desktop
- /usr/share/applications/sun-java6-javaws.desktop
- /usr/share/applications/sun-java6-policytool.desktop
- /usr/share/menu/sun-java6-bin not found
- /usr/share/menu/update-sun-jre
Installing alternatives . . .
- ControlPanel
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/ControlPanel to provide /usr/bin/ControlPanel (ControlPanel) in auto mode.
- java
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/java to provide /usr/bin/java (java) in auto mode.
- java_vm
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/java_vm to provide /usr/bin/java_vm (java_vm) in auto mode.
- javaws
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/javaws to provide /usr/bin/javaws (javaws) in auto mode.
- jcontrol
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/jcontrol to provide /usr/bin/jcontrol (jcontrol) in auto mode.
- keytool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
- pack200
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
- policytool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode.
- rmid
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
- rmiregistry
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
- unpack200
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
- orbd
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
- servertool
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
- tnameserv
update-alternatives: using /opt/java/64/jre1.6.0_29/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
- jexec
update-alternatives: using /opt/java/64/jre1.6.0_29/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
Activating class data sharing (ignoring errors) . . .
Installing plugin . . .
- firefox
- iceape
- iceweasel
- mozilla
- midbrowser
- xulrunner
- xulrunner-addons
Removing downloaded package from /tmp . . .
Updating desktop database . . .
Error in file "/usr/share/applications/gnumeric.desktop": "zz-application/zz-winassoc-xls" is an invalid MIME type ("zz-application" is an unregistered media type)
Updating mime database . . .
Stopping update-sun-jre 2011-12-09 15:54:53+01:00
pjotr@pjotr-HP-Mini-110-3000:~/Downloads$

De foutmelding voor Gnumeric is eigenlijk het enige wat opvalt, maar die lijkt me van ondergeschikt belang. Kortom: je mag in de Stamkroeg op mijn kosten een fles champagne opentrekken!  =D
« Laatst bewerkt op: 2011/12/09, 15:58:14 door Pjotr »

Re: Hulp gevraagd voor het maken van een installatiescript
« Reactie #49 Gepost op: 2011/12/09, 17:35:18 »
Grizzler,

Werkt...
Zowel de-installeren en weer installeren op mijn U 11.10 64bits.
Dus voor mij is die prima zo.
Als je ook de support-tarball in de updater-tarball stopt..
Heb je EEN tarball van +/- 18K groot, waar alles in zit.
Uitpakken en installeren is de boodschap.

MvG,
MauRice
Registered Linux user: 473556