The server can be used to download and process larger amounts of data. The server is available at server.spaceforum.sk
. It can be accessed via SSH protocol. It is an old 32 core Opteron 6134 machine. If you have some demanding multicore computations, please be considerate to other users. At this time it is dedicated to the students in this course.
SSH Access Credentials
The SSH credentials are provided to students on an individual basis, typically via private DM message. You can change your password anytime.
SSH Clients
Probably the most convenient utility to use si ssh. This is typically available on Unix systems. It is also available on Windows 10 Pro, but it needs to be enabled. Naturally, you can use a popular utility called putty. However, I find using it inconvenient. There is also Bitvise SSH Client, which can save access credentials and also includes SFTP client.
Some guides about enabling ssh utility on Winodws:
- https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
- https://www.pugetsystems.com/labs/hpc/How-To-Use-SSH-Client-and-Server-on-Windows-10-1470/
With the ssh utility, you can log in in the following way: ssh your.username@server.spaceforum.sk
If your internet connection is unstable, you can also use Mosh protocol/utility.
Copying files to the server
Files can be copied to the server using SFTP protocol. This is supported in the majority of Linux GUI files managers (Nautilus, Nemo, Dolphin, …), on Windows, you can use WinSCP, FileZilla (Windows, Linux, macOS), Cyberduck (macOS, Windows).
You can also use scp utility to copy files from the command line.
Long-term running scripts
You do not need to be connected to the server to run your code, especially if it takes a long time to finish. One option is to use screen utility.
There are many tutorials that describe the usage of the utility. Just google “gnu screen” or “Linux screen”. These are some maybe useful pages:
- https://opensource.com/article/17/3/introduction-gnu-screen
- https://linuxize.com/post/how-to-use-linux-screen/
- https://www.gnu.org/software/screen/manual/
Some useful commands:
screen -ls
: List exiting screen sessionsscreen -S YOUR_SESSION_NAME
: Create a screen session- After the screen session is started:
Ctrl+a - c
: Create a new windowCtrl+a - w
: List windowsCtrl+a - n
: Next windowCtrl+a - p
: Previous windowCtrl+a - d
: Detach the session (return to the regular terminal)Ctrl+a - Esc
: Copy mode and the possibility to scroll the terminal output with arrows
screen -dr YOUR_SESSION_NAME
: Reconnect to an existing screen session.Ctrl+d
: end terminal line input, close the terminal
Downtime
The server will be down or restarted typically once a week.
Current plan: It will be down for updates on Wednesday, April 21st, from 17:30 to 19:00 CET. This might change. I will likely change the IP address of the server on this day.
Installed software
Anaconda: There is anaconda installed on this machine. No environment is activated by default, but you can activate the base environment by: conda init base
.
You should be able to create and activate your own environments as you need.conda create -n myenv ; conda activate myenv
See: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
Virtualenv: There is also virtualenv available. You can create and activate a virtual environment in the current working directory the following way: virtualenv -p python3 venv ; source venv/bin/activate
Docker: There is also Docker installed on this system. However, at this time users are not added to the docker group by default. If you need to use Docker, ask.
Others: All dependencies needed for Earth Observation Lab should be installed on the system (in standard system directories).
Running Jupyter notebooks
Install Jupyter notebook in your environment, then you can run your own Jupyter notebook server.
- If you enable access from all IPs (option
--ip 0.0.0.0
) then you can copy the address from the terminal into your web browser. Naturally use the domain or the server IP, not localhost.jupyter notebook --ip 0.0.0.0
- Another option is to use SSH Local Port Forwarding (ssh with
-L
option, see: How to Set up SSH Tunneling). Here you have to use localhost or localhost IP (127.0.0.1
might be more reliable)ssh -L LOCAL_PORT:localhost:DESTINATION_PORT your.username@server.spaceforum.sk