Nieuws:

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

Auteur Topic: [opgelost] openSUSE: vereenvoudiging terminalopdracht mogelijk?  (gelezen 1160 keer)

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Ook voor openSUSE heb ik een Java-handleiding geschreven. Die wil ik graag wat vereenvoudigen. En wel inzake de volgende terminalopdracht:
mv -v /home/your-user-name/Downloads/jre-6u31-linux-i586.bin /opt/java/32
Wat ik graag weg wil hebben, is de noodzaak om de gebruikersnaam in te vullen. Het gaat vanuit het rootaccount, omdat Suus in principe via su werkt. Dat wil ik het liefst respecteren in mijn aanpak.

Context:
Citaat
3. Move the JRE file that you just downloaded, into this newest folder, with the following command.
Type (copy/paste):
mv -v /home/your-user-name/Downloads/jre-6u31-linux-i586.bin /opt/java/32

Press Enter.

Note: replace your-user-name by.... your user name (duh). Don't use capitals; in the system, your user name is all lower case.

Complete handleiding:
http://sites.google.com/site/easylinuxtipsproject/java-for-opensuse
« Laatst bewerkt op: 2012/04/24, 00:19:28 door Pjotr »

Offline vanadium

  • Lid
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #1 Gepost op: 2012/04/23, 17:44:20 »
Onder een systeem met "sudo" kon je natuurlijk ~ gebruiken, wat expandeert tot /home/$USER, maar dat weet je wellicht. Echter, onder SUSE ben je wellicht als root user bezig. En dan is $USER = root. Het lijkt me niet dat je in die omstandigheden automatisch de juiste gebruikersnaam kunt invullen.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #2 Gepost op: 2012/04/23, 18:27:11 »
Kan je niet "valsspelen" door su uit te voeren, ipv su - (zonder streepje vs met streepje)?
In het eerste geval worden een aantal variabelen niet veranderd naar die van de root user, in het tweede geval wel.
Ik weet verder niet of $HOME wel of niet veranderd wordt en of daar tussen distro's ook nog verschil zit.
Uit de man page van su in Ubuntu:
      -m, -p, --preserve-environment
           Preserve the current environment, except for:

           $PATH
               reset according to the /etc/login.defs options ENV_PATH or ENV_SUPATH (see below);

           $IFS
               reset to “<space><tab><newline>”, if it was set.

           If the target user has a restricted shell, this option has no effect (unless su is called by root).

           Note that the default behavior for the environment is the following:

               The $HOME, $SHELL, $USER, $LOGNAME, $PATH, and $IFS environment variables are reset.

               If --login is not used, the environment is copied, except for the variables above.

               If --login is used, the $TERM, $COLORTERM, $DISPLAY, and $XAUTHORITY environment variables are copied if they were set.

               Other environment might be set by PAM modules.

Afhankelijk van PAM en evt. andere configuraties in Suse zou je dus $HOME kunnen gebruiken.

Dus:
Java downloaden
su (of su -p)
mv $HOME/Downloads/jre-6u31-linux-i586.bin /opt/java/32
enz.

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #3 Gepost op: 2012/04/23, 18:45:22 »
Dank voor het meedenken.  :)

Ik ga het voor alle zekerheid ook even navragen op het Suusforum. Uiteraard koppel ik terug....

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #4 Gepost op: 2012/04/23, 19:15:15 »
Je kan het zelf al uitproberen.
Vergelijk de volgende uitkomsten:
Als gebruiker:
echo $HOME

Daarna:
su
echo $HOME
Vervolgens weer normale gebruiker worden en het nog eens proberen, maar dan met "su -" en "su -p" voordat je het echo commando geeft.
Krijg je ergens na een su commando toch nog /home/gebruiker ipv /root dan zit je goed :)

Offline vanadium

  • Lid
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #5 Gepost op: 2012/04/23, 19:27:42 »
Het lijkt er inderdaad op dat "su" zonder meer de omgeving van de huidige gebruiker in stand laat. De hyphen geeft aan dat de omgeving die van de gewenste gebruiker moet worden (root dus, zonder verder argument). Dan moet het inderdaad zonder meer werken met ~ of $HOME

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #6 Gepost op: 2012/04/23, 23:47:41 »
Alleen su -p echoot de gebruikersmap i.p.v. de rootmap.... Ik ga eens kijken hoe dit uitpakt in de Javahandleiding.

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
[opgelost] Re: openSUSE: vereenvoudiging terminalopdracht mogelijk?
« Reactie #7 Gepost op: 2012/04/23, 23:58:01 »
.... en su -p werkt zowaar uitstekend in de Javahandleiding. Mijn dank is groot!  :)