Difference between revisions of "AFS Course Space"

From PrattWiki
Jump to navigation Jump to search
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
AFS is no more...alas
 +
<!--
 
This page will describe the structure of the AFS shared spaces given to courses and will explain the process for setting up your account to use it.
 
This page will describe the structure of the AFS shared spaces given to courses and will explain the process for setting up your account to use it.
  
 
== Introduction ==
 
== Introduction ==
 
Prior to 2013, Duke's public computers used the Andrew File System to store files.  This system allowed individuals to set seven different permissions to each folder within their space.  Users could assign permissions to single users or to groups.  While this system was extremely flexible, over time, support for it dwindled.  In the Spring semester of 2013, Duke switched to CIFS as a file system.  While this system has many positive features, it is entirely lacking in the ability to grant permissions to individual folders.  It also does not allow for symbolic links.  Given these drawbacks, and given the current lack of an alternate way for students and instructors to set up shared course spaces within CIFS, Duke is maintaining a section of AFS-hosted folders, specifically for courses.
 
Prior to 2013, Duke's public computers used the Andrew File System to store files.  This system allowed individuals to set seven different permissions to each folder within their space.  Users could assign permissions to single users or to groups.  While this system was extremely flexible, over time, support for it dwindled.  In the Spring semester of 2013, Duke switched to CIFS as a file system.  While this system has many positive features, it is entirely lacking in the ability to grant permissions to individual folders.  It also does not allow for symbolic links.  Given these drawbacks, and given the current lack of an alternate way for students and instructors to set up shared course spaces within CIFS, Duke is maintaining a section of AFS-hosted folders, specifically for courses.
 +
 +
'''Note''' In Spring of 2014, the Go* shortcuts were all replaced with symbolic links.  Apologies to anyone who took a class with Dr. G in 2013...
  
 
== Goals ==
 
== Goals ==
Line 12: Line 16:
 
The AFS folders are all located at
 
The AFS folders are all located at
 
  /afs/acpub.duke.edu/courses/YEAR_SEMESTER/DEPARTMENT/CLASS
 
  /afs/acpub.duke.edu/courses/YEAR_SEMESTER/DEPARTMENT/CLASS
For example, the Spring 2013 offering of EGR 103L has a set of folders at
+
For example, the Spring 2015 offering of EGR 103L has a set of folders at
  /afs/acpub.duke.edu/courses/2013_spr/egr/103l
+
  /afs/acpub.duke.edu/courses/2015_spr/egr/103l
 
Within the CLASS folder, there will be a folder for each section (for example, 002).  For Dr. Gustafson's courses, however, students will not need to worry about the section folder, only the CLASS folder.
 
Within the CLASS folder, there will be a folder for each section (for example, 002).  For Dr. Gustafson's courses, however, students will not need to worry about the section folder, only the CLASS folder.
  
 
== Personal AFS Folders ==
 
== Personal AFS Folders ==
 
For Dr. Gustafson's classes, each student will have a folder within the CLASS folder.  The folder will be the same as the student's NET ID.  For example, in EGR 103L, a student with a NET ID of mrg would have a folder:
 
For Dr. Gustafson's classes, each student will have a folder within the CLASS folder.  The folder will be the same as the student's NET ID.  For example, in EGR 103L, a student with a NET ID of mrg would have a folder:
  /afs/acpub.duke.edu/courses/2013_spr/egr/103l/mrg
+
  /afs/acpub.duke.edu/courses/2015_spr/egr/103l/mrg
 
If you find that you do not have a folder, be sure to check the directory.  If you are in the correct directory and still do not have a folder, let Dr. G. know.
 
If you find that you do not have a folder, be sure to check the directory.  If you are in the correct directory and still do not have a folder, let Dr. G. know.
  
 
When these folders are created, permissions are set as follows:
 
When these folders are created, permissions are set as follows:
* system:administrators and mrg have all permissions
+
* system:administrators and instructors have all permissions
 
* the student and the TAs have read, list, insert, delete, write, and lock permissions, but not administer permissions
 
* the student and the TAs have read, list, insert, delete, write, and lock permissions, but not administer permissions
 
* no one else has any other permissions
 
* no one else has any other permissions
Line 28: Line 32:
  
 
There is also a folder called public within the CLASS directory.  For this folder,
 
There is also a folder called public within the CLASS directory.  For this folder,
* system:administrators and mrg have all permissions
+
* system:administrators and instructors have all permissions
 
* all students and TAs have read and list permissions
 
* all students and TAs have read and list permissions
 
This way, files that students need to copy can be hosted in the shared space and all students can copy the file without any chance of accidentally (or intentionally) removing those files.
 
This way, files that students need to copy can be hosted in the shared space and all students can copy the file without any chance of accidentally (or intentionally) removing those files.
 
  
 
== Shortcuts ==
 
== Shortcuts ==
One problem with the CIFS is that it will not allow symbolic links, or shortcuts, to folders.  In other words, to get to the public space for EGR 103L, a person would have to type out
+
One problem with the CIFS is that it is in a different structure from AFS.  In other words, to get to the public space for EGR 103L, a person would have to type out
  cd /afs/acpub.duke.edu/courses/2013_spr/egr/103l/public
+
  cd /afs/acpub.duke.edu/courses/2015_spr/egr/103l/public
 
every time (unless a path using .. were available).   
 
every time (unless a path using .. were available).   
  
To make life a little easier, you should create an alias that changes into your space within a particular class.
+
To make life a little easier, you can either create a symbolic link to your directory or an alias that changes into your space within a particular class.  
'''<big>NOTE:</big>THE SHORTCUTS DEPEND ON WHAT KIND OF SHELL YOU ARE USING.'''  To check, type
 
echo $SHELL
 
in a terminal window.  If your shell is /bin/bash, follow the first set of instructions; it it is /bin/tcsh, follow the second.
 
  
=== For /bin/bash (newer users) ===
+
=== Creating a Symbolic Link ===
To create a set of aliases, you will first need to make sure that the system checks a configuration file called .bashrc whenever you log in or make a terminal windowYou will therefore need to create a file in your home directory called .bash_profile that contains the following:
+
Creating a symbolic link basically places a "folder" in your home directory that is linked to the AFS folder you want to use.  You can then use that link in exactly the same way you would use any other folderThe command to make a symbolic link is:
<source lang=bash>
+
ln AFS_FOLDER -s LINK_NAME
# start .bash_profile
+
Also, in UNIX, the code <code>$USER</code> can be used to get a person's user name. As a result, for people 
if [ -f ~/.bashrc ]; then
+
to make a symbolic link from their /winhomes/NETID directory to the /afs/acpub.duke.edu/courses/2015_spr/egr/103l/NETID directory, they might type
. ~/.bashrc
+
cd
fi
+
to get to the home directory, followed by
# end .bash_profile
+
ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/$USER -s EGR103
</source>
+
After running that command, there should be a "folder" called <code>EGR103</code> inside the user's home directory.  To make sure the <code>ln</code> process worked, type
Type
+
  ls -l
  emacs ~/.bash_profile
+
and then look for the shortcut you just madeOn [[PuTTY]], the link should be a cyan color and point to the correct directory. If the link in PuTTY is red, it is not pointing to the correct place - you will need to remove it
copy the above into it, then save that fileYou should only ever have to do this once.
+
rm SHORTCUT
 +
where SHORTCUT is the name of the shortcut you just made and then correct the <code>ln</code> command
  
Next, you will add the aliases to the bash configuration file, called .bashrc.  To do that, type:
+
Once the alias is pointing to the correct place, to switch into the AFS folder it references, the user could just use the cd command:
  emacs ~/.bashrc &
+
  cd EGR103
The file may be empty to start with or it may have some other items in it.  Regardless, go to the very bottom of the .bashrc file and then add something like the following:
+
or, if not in the home directory to start with,
  alias Go103='cd /afs/acpub.duke.edu/courses/2013_spr/egr/103l/NETID'
+
  cd ~/EGR103
where NETID is your NET ID.  For Dr. G's 2013 courses, use the following:
+
 
 +
For Dr. G's Spring 2015 courses, use the following:
 
* EGR 103L
 
* EGR 103L
  alias Go103='cd /afs/acpub.duke.edu/courses/2013_spr/egr/103l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/$USER -s EGR103
 
* ECE 110L
 
* ECE 110L
  alias Go110='cd /afs/acpub.duke.edu/courses/2013_spr/ece/110l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/ece/110l/$USER -s ECE110
 
* EGR 224L
 
* EGR 224L
  alias Go224='cd /afs/acpub.duke.edu/courses/2013_spr/egr/224l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/egr/224l/$USER -s EGR224
* ECE 382 (note - no "L")
+
* ME 344L
  alias Go382='cd /afs/acpub.duke.edu/courses/2013_spr/ece/382/NETID'
+
ln /afs/acpub.duke.edu/courses/2015_spr/me/344l/$USER -s ME344
After you have added the appropriate line, save the file and close emacs.  Then, on the command line, type
+
* ECE 382 (note - no "l" after course number)
source ~/.bashrc
+
  ln /afs/acpub.duke.edu/courses/2015_spr/ece/382/$USER -s ECE382
You will only need to do this once; .bashrc generally runs whenever a new window is opened and .bash_profile - which will run your .bashrc - runs whenever you log in, so from this point forward, the alias will exist.  To make sure it worked, type the appropriate alias name and it should take you to your space within the shared CLASS directory.
 
  
From this point forward, whenever you need to do work for a particular class, just use the alias to get into the space and then work as usual.
 
  
=== For /bin/tcsh (older users) ===
+
=== Creating a Symbolic Link (for Lab TA use) ===
To do that, type
+
Creating a symbolic link basically places a "folder" in your home directory that is linked to the AFS folder you want to use.  The issue is that TAs will not have personal folders in the classes for which they are a TA.  If you create a link,  
  emacs ~/.cshrc &
+
you can then use that link in exactly the same way you would use any other folder. As a result, teaching assistants should make a link to the class directory one level above the students' directories. For example,  TAs to make a symbolic links from their /winhomes/NETID directory to the /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ directory, they might type
Go to the very bottom of the .cshrc file and then add something like the following:
+
  cd
  alias Go103 'cd /afs/acpub.duke.edu/courses/2013_spr/egr103l/NETID'
+
to get to the home directory, followed by
where NETID is your NET ID.  For Dr. G's 2013 courses, use the following:
+
ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ -s EGR103ta
 +
After running that command, there should be a "folder" called <code>EGR103ta</code> inside the user's home directory.  To make sure the <code>ln</code> process worked, type
 +
ls -l
 +
and then look for the shortcut you just made.  On [[PuTTY]], the link should be a cyan color and point to the correct directory.  If the link in PuTTY is red, it is not pointing to the correct place - you will need to remove it
 +
rm SHORTCUT
 +
where SHORTCUT is the name of the shortcut you just made and then correct the <code>ln</code> command
 +
 
 +
'''Note''': ''returning'' TAs may already have one of these; best bet is to move the old one before making a new one - for instance
 +
mv EGR103ta EGR103taF14
 +
to move the link from the Fall 2014 semester before making a new one for Spring of 2015.
 +
 
 +
Once the alias is pointing to the correct place, to switch into the AFS folder it references, the user could just use the cd command:
 +
cd EGR103ta
 +
or, if not in the home directory to start with,
 +
  cd ~/EGR103ta
 +
 
 +
For Dr. G's Spring 2015 courses, TAs only should use use the following:
 
* EGR 103L
 
* EGR 103L
  alias Go103 'cd /afs/acpub.duke.edu/courses/2013_spr/egr/103l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/egr/103l/ -s EGR103ta
 
* ECE 110L
 
* ECE 110L
  alias Go110 'cd /afs/acpub.duke.edu/courses/2013_spr/ece/110l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/ece/110l/ -s ECE110ta
 
* EGR 224L
 
* EGR 224L
  alias Go224 'cd /afs/acpub.duke.edu/courses/2013_spr/egr/224l/NETID'
+
  ln /afs/acpub.duke.edu/courses/2015_spr/egr/224l/ -s EGR224ta
* ECE 382 (note - no "L")
+
* ME 344L
  alias Go382 'cd /afs/acpub.duke.edu/courses/2013_spr/ece/382/NETID'
+
ln /afs/acpub.duke.edu/courses/2015_spr/me/344l/ -s ME344ta
After you have added the appropriate line, save the file and close emacsThen, on the command line, type
+
* ECE 382 (note - no "l" after course number)
source ~/.cshrc
+
  ln /afs/acpub.duke.edu/courses/2015_spr/ece/382/ -s ECE382ta
You will only need to do this once; .cshrc generally runs whenever a new window is open, so from this point forward, the alias will exist. To make sure it worked, type the appropriate alias name and it should take you to your space within the shared CLASS directory.
+
 
 +
=== Creating an Alias ===
 +
The method of using aliases pioneered in 2013 has been retired in favor of the aliases aboveThis section will remain, but commented out, in case it turns out the aliases fail...
  
From this point forward, whenever you need to do work for a particular class, just use the alias to get into the space and then work as usual.
 
  
 
== Copying public files ==
 
== Copying public files ==
Many times you will need to copy files from the public space into your own directory.  For example, in EGR 103L, Lab 1 has several files you will need.  Because symbolic links no longer work, you will just use .. to go up the directory structure the the CLASS folder, then down into the public folder.  For example, if user mrg needs to get the Lab 1 files from the public directory and put them into mrg's own lab1 directory, that might be:
+
Many times you will need to copy files from the public space into your own directory.  For example, in EGR 103L, Lab 1 has several files you will need.  Once you get into the appropriate AFS directory, you will just use .. to go up the directory structure the the CLASS folder, then down into the public folder.  For example, if user NETID needs to get the Lab 1 files from the public directory and put them into NETID's own lab1 directory, that might be:
  Go103
+
  cd ~/EGR103
to get into the user's own egr/103l/mrg space, followed by
+
to get into the user's own egr/103l/NETID space, followed by
 
  mkdir lab1
 
  mkdir lab1
 
to make a folder for that assignment.  Then
 
to make a folder for that assignment.  Then
Line 106: Line 123:
 
to go up two levels (the CLASS folder), then go into public and from there into public's lab1 folder.  Don't forget the space and . at the end.
 
to go up two levels (the CLASS folder), then go into public and from there into public's lab1 folder.  Don't forget the space and . at the end.
  
 
+
== Transferring Files ==
 +
The slightly odd location of the AFS space makes transferring files from a personal or lab computer over to the AFS space a little more complicated.  The basic process is as follows:
 +
* Start a file transfer client.  In the B209 lab, this means SSH Secure Shell's Secure File Transfer Client; the rest of the instructions are based on that program.
 +
* Click "Quick Connect"
 +
*:If you get an error opening the default file, click OK
 +
** In "Host Name," enter <code>login-teer.oit.duke.edu</code>
 +
** In "User Name," enter your NET ID
 +
** Click "Connect"
 +
**: If you get a warning about Host Identification, click "Yes" to save the new host key
 +
** Enter your password when prompted
 +
* The window should now be divided in two sections - a Local section and a Remote section.  Click on the folder that represents the shortcut to your AFS space - for instance, for EGR 103 that would be the <code>EGR103</code> folder. This should take you to your AFS course space.
 +
* In the Remote section, click the new folder icon to add a new folder for the particular assignment; give the folder an appropriate name
 +
* In the Remote section, double-click the folder you just created.  The Remote section should now have a window pointing to your (empty) folder.
 +
 
 +
You can now drag files in from either the Local section on the left of the SSH Secure File Transfer client, from the MATLAB "Current Directory" window, or from any other place you can click and drag an icon.
  
 
== Questions ==
 
== Questions ==
Line 115: Line 146:
 
== References ==
 
== References ==
 
<references />
 
<references />
 +
 +
[[Category:EGR 103]]
 +
[[Category:ECE 110]]
 +
[[Category:EGR 224]]
 +
[[Category:ME 344]]
 +
[[Category:ECE 382]]
 +
[[Category:Semester Update]]
 +
-->

Latest revision as of 00:06, 30 March 2016

AFS is no more...alas