Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top
Table of Contents


This how-to is intended to explain how a non-privileged user can mount a NAS share on our Helvetios' front-end using the SMB / CIFS protocols.


Info
The explanation are given for the Helvetios cluster, as this is, at the moment, the only cluster where it is workingthe necessary software is installed.
Please contact us at 1234@epfl.ch if you would need to use it in the other clusters.



Access to the cluster's front-end


Code Block
languagebash
ssh [USERNAME]@helvetios.epfl.ch


top


Preparing the environment

Depending on the time needed for your copy:

Short time work

Launch the following command:

The tools used require a running dbus session, the recommended method is to start a shell with a dedicated session:

Code Block
languagebash
export $(dbus-launch)

Long time work

This method uses the screen command
dbus-run-session -- bash

The session above needs to be running for the whole duration of any file transfers. For file operations lasting for longer times you can start the above inside a screen session.
It allows you to quit your session without killing the mount.

  • Open a screen session:

    Code Block
    languagebash
    screen -R [ANY_NAME]

    Ex:

    Code Block
    languagebash
    screen -R john_session


  • From your screen session,

type the following command
  • start the dbus  session as above:

    Code Block
    languagebash
    dbus-run-session -- bash

See here for some basic screen usage.

Mounting your share


Info
titleTips

Instead of typing the long command, such as smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME], you can use a variable.

Ex:

MYSHARE="smb://intranet;[USERNAME]@[NAS_SERVER]/[SHARE_NAME]"
(warning) Without the backslash before the semicolon  " ; "

Note:
These are all case insensitive.



To mount your NAS share:

Code Block
languagebash
gio mount smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME]


Ex:

Code Block
languagebash
gio mount smb://intranet\;john@vpsi1files.epfl.ch/scitas-ge



Or with the variable:

Code Block
languagebash
gio mount $MYSHARE





Info

The information on your share can be found here  but these pages are not updated.

The NAS team is working to have a place where all these information will be available.


The other solution is to use the command-line:

smbclient -W INTRANET -U [USERNAME] -L [NAS_SERVER]

Ex:
smbclient -W INTRANET -U john -L vpsi1files.epfl.ch

Your will get a couple of share names. Try to find the appropriate one... .



top


Anchor
gio_cmd
gio_cmd
Basic gio commands


To get a list of files

Code Block
languagebash
gio list smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME]



To list files in a tree mode

Code Block
languagebash
gio tree smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME]



To copy files

  • From the share:

    Code Block
    languagebash
    gio copy smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME] [DESTINATION_PATH] 

    Ex:

    Code Block
    languagebash
    gio copy smb://intranet\;john@vpsi1files.epfl.ch/scitas-ge/Doc/my\ doc.txt /scratch/john/

    Note:
    In this example, the file to copy has a space in its name. That's why the space has to be backslashed (my\ doc.txt).


  • To the share:

    Code Block
    languagebash
    gio copy [YOUR_FILE] smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME]/




To unmount your share

Code Block
languagebash
gio mount -u smb://intranet\;[USERNAME]@[NAS_SERVER]/[SHARE_NAME] 


Or, if you are using screen, simply quit the session:

Code Block
languagebash
exit (twice)



top


Direct access to your share

The gio mount command actually mounts your share to /run/user/[USERID]/gvfs/[MOUNT_DATA_DIR] .


Ex:

/run/user/123456/gvfs/smb-share:domain=intranet,server=files7.epfl.ch,share=data,user=john


Part of this path can be found thanks to the $XDG_RUNTIME_DIR variable:

Code Block
languagebash
echo $XDG_RUNTIME_DIR

/run/user/[YOUR_USERID]


But the preferred method is to use the gio's sub-commands instead.



top


Basic screen usage

Anchor
screen_cmd
screen_cmd


To detach from your screen session:

Code Block
languagebash
CTRL-a d



To attach to you screen session:

Code Block
languagebash
screen -r [YOUR_SCREEN_NAME]

Ex:

Code Block
languagebash
screen -r john_session



To exit from your screen session:

Code Block
languagebash
exit (twice if you run the "dbus-run-session -- bash" command)



To get help (from screen session):

Code Block
languagebash
CTRL-a ?


top