Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
logging_in [2017/01/19 17:40] mgstauff [Windows] |
logging_in [2018/03/02 20:32] (current) mgstauff [Screen & tmux] |
====== Overview ====== | ====== Overview ====== |
| |
The CfN cluster is a linux-based system (CentOS 6.6). You connect to it using //ssh//, a tool for remote secure connections between computers. The initial connection and your interaction with the cluster are done using a standard linux //shell// environment (aka 'command line', 'command line interface (CLI)' or 'terminal'). This is a text window where you type commands and get text back as a response. | The CfN cluster is a linux-based system (CentOS 6.9). You connect to it using //ssh//, a tool for remote secure connections between computers. The initial connection and your interaction with the cluster are done using a standard linux //shell// environment (aka 'command line', 'command line interface (CLI)' or 'terminal'). This is a text window where you type commands and get text back as a response. |
| |
---- | ---- |
| |
---- | ---- |
| ====== Some Useful Linux Things ===== |
| |
| ==== Screen & tmux ==== |
| |
| The ''screen'' and ''tmux'' tools are very useful. They let you create multiple terminal instances from one screen, and most importantly, let you 'detach' from a terminal instance/session and reconnect to it later, even if you've logged out, or lost your network connection or have closed your terminal window. This is **very** useful for running a long terminal program without having to keep your terminal and computer running. |
| |
| Screen - [[https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=115540034|Very Simple Usage Instructions]] |
| |
| tmux - [[https://hackernoon.com/a-gentle-introduction-to-tmux-8d784c404340|A Gentle Introduction to tmux]] |
| |
| ==== Simple Bash script loop ==== |
| |
| [[using_ogs_sge#simple_bash_loop|Here's a simple example]] of a Bash script to loop through patients and run a ''qsub'' job on the cluster. |
| |
| ---- |
| ====== Windows and the Linux/Bash Shell ====== |
| |
| There are a number of ways to use Linux/Bash commands on Windows machines. This can be useful for running ''rsync'' for file copying, for example. The options include: |
| |
| == Windows Subsystem for Linux == |
| |
| This is a new subsystem in Windows 10 for running Bash shell. It's not a full Linux VM. |
| |
| https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/ |
| |
| == Cygwin == |
| |
| Tried and true, a little awkward though. Known to work for ''ssh'' and ''rsync'', although I'm not sure about X-Windowing/X11/GUI support. |
| |
| https://www.howtogeek.com/175008/the-non-beginners-guide-to-syncing-data-with-rsync/ |
| |
| == Git bash shell == |
| |
| Git on windows includes its own shell app. This has been touted as being good and simple for ''ssh''. ''rsync'' might work as well. |
| |
| http://www.hurryupandwait.io/blog/need-an-ssh-client-on-windows-dont-use-putty-or-cygwinuse-git |
| |
| ---- |
====== Logging In ====== | ====== Logging In ====== |
| |
| |
You need to install [[http://xquartz.macosforge.org/landing/ | XQuartz]], the open-source X Server for Mac (developed orginally by Apple). | You need to install [[http://xquartz.macosforge.org/landing/ | XQuartz]], the open-source X Server for Mac (developed orginally by Apple). |
| |
| === XQuartz 2.7.11 Issue === |
| The issue mentioned below for 2.7.9 persists, however the fix is simpler. On your local machine (i.e. your laptop or desktop, not the cluster), run this command in Terminal: |
| |
| defaults write org.macosforge.xquartz.X11 enable_iglx -bool true |
| |
=== Xquartz 2.7.9 Issue === | === Xquartz 2.7.9 Issue === |
| |
After this and a restart of XQuartz, it works as normal. | After this and a restart of XQuartz, it works as normal. |
| |
| === Xquartz 2.8.8 fallback === |
| |
**If this still doesn't work**, you might have luck downgrading to [[https://www.xquartz.org/releases/XQuartz-2.7.8.html| version 2.7.8]] | **If this still doesn't work**, you might have luck downgrading to [[https://www.xquartz.org/releases/XQuartz-2.7.8.html| version 2.7.8]] |
==== -- Windows -- ==== | ==== -- Windows -- ==== |
| |
You'll need an X Server app like [[http://sourceforge.net/projects/xming/ | Xming]], or [[http://mobaxterm.mobatek.net/ | MobaXterm ]]. | You'll need an X Server app like [[http://mobaxterm.mobatek.net/ | MobaXterm ]], or the [[http://sourceforge.net/projects/xming/ | Xming]]. |
| |
| Note that mobaXterm is multi-tool application, including a terminal and sftp client, but its X11 Server is available to other applications on your system (like the x2go client), in our experience. |
| |
| === Terminal application === |
| |
| You'll need a terminal application, that is, a command-line text application that can connect to remote servers. |
| We recommend the mobaXterm app (see above) that includes terminal and sftp (and other) tools along with the X11 Server functionality. |
| |
=== Putty on Windows === | === Putty on Windows === |
| |
---- | ---- |
====== 'rm -fr' command WARNING ====== | ====== 'rm' command WARNING ====== |
**This is a general warning about using the command ''rm -fr''.** | **This is a general warning about using the command ''rm'' and in particular ''rm -fr''.** |
| |
| **When you delete a file in Linux using ''rm'', you can NOT recover it.** We maintain tape backups of all cluster data on a 2-3 month cycle. These are intended for worst-case scenario disaster recovery, and thus generally backups are not available for mistaken deletions by individual users, although you can check with the admins. |
| |
| This command removes whatever files **and directories** you list after it without asking for confirmation, //and// recursively, meaning it goes into every sub-directory and deletes that too. One user recently ran ''rm -fr /*'' instead of ''rm -fr ./*''. The missing '.' meant that instead of trying to delete everything in her current working directly, it tried to delete everything **on the whole front end**. Most files were protected so she couldn't delete them, but when the command hits /data, it will delete **everything** in there that is owned by her, or for which she has permissions to delete because of group membership. This could be very bad, obviously. Luckily in the recent case the user stopped the command before it got to the /data directory. |
| |
| This warning also applies to the ''rm'' and ''rm -r'' commands, which by default will remove files without asking confirmation. |
| |
This command removes whatever files and directories you list after it without asking for confirmation, //and// recursively, meaning it goes into every sub-directory and deletes that too. One user recently ran ''rm -fr /*'' instead of ''rm -fr ./*''. The missing '.' meant that instead of trying to delete everything in her current working directly, it tried to delete everything **on the whole front end**. Most files were protected so she couldn't delete them, but when the command hits /data, it will delete **everything** in there that is owned by her, or for which she has permissions to delete because of group membership. This could be very bad, obviously. Luckily in the recent case the user stopped the command before it got to the /data directory. | You may also have an issue, for example, if you are in a different directory than you think, and run something like ''rm *.nii''. It will remove all files in the current directory without prompting for confirmation, and you'll have lost them for good. |
| |
Be careful. It's often good to replace 'rm -fr' with 'ls' first to make sure you're getting what you intend. | ===How to use it carefully=== |
| Be careful. It's often good to replace your ''rm'' command with ''ls'' first to make sure you're getting what you intend. After you run ''ls <my list of files or glob command>'', use the up-arrow key in your terminal to recall the previous command and edit it to replace ''ls'' with your ''rm'' command, so that you're sure not to introduce a typo in the list of files or glob command. |
---- | ---- |
====== Editing Text Files ====== | ====== Editing Text Files ====== |