New World file system layout: Difference between revisions

From techdocs
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
|-
|-
|/usr/local/acc
|/usr/local/acc
|Passwords used by <code>[[acc]]</code> to access Active Directory and CSE's own [[User Database]] ([[UDB]])
|-
|-
|/usr/local/bin
|/usr/local/bin
|Symlink to <code>extrafiles/bin</code>, i.e., to teaching-administered <code>bin</code> directory
|-
|-
|/usr/local/etc
|/usr/local/etc
|CSG-administered configuration and miscellaneous files including <code>ARCH</code> (the local host CPU architecture: Intel, AMD, ARM, etc.)
|-
|-
|/usr/local/extrafiles
|/usr/local/extrafiles
|An entire file system sub-tree managed by teaching. Its contents are rsync'd from the [[cfengine]] hub [[holus-bolus]]. See <code>[[/usr/local/extrafiles]]</code>
|-
|-
|/usr/local/extrapackages
|/usr/local/extrapackages
|Teaching-administered lists of additional standard Debian packages to be installed beyond the packages specified by CSG
|-
|-
|/usr/local/games
|/usr/local/games
|Debian standard
|-
|-
|/usr/local/include
|/usr/local/include
|Debian standard
|-
|-
|/usr/local/infrastructure
|/usr/local/infrastructure
|Directories and files maintained by [[CSG]]
|Directories and files maintained by [[CSG]]
|-
|/usr/local/infrastructure/bin
|Scripts maintained by [[CSG]]. This directory is used instead of <code>/usr/local/bin</code> to minimise confusion for students. The reasoning is that many of them may already be familiar with looking in <code>/usr/local/bin</code> (which teaching administers) while more savvy users (including CSG) will not have problems with looking for scripts in this current directory
|-
|-
|/usr/local/lib
|/usr/local/lib
|Debian standard
|-
|-
|/usr/local/man
|/usr/local/man
|Debian standard, which is a symlink to <code>share/man</code> which actually, in turn, points into teaching-administered file system space. See <code>/usr/local/share</code> (below)
|-
|-
|/usr/local/mlalias
|/usr/local/mlalias
|Passwords used by <code>[[mlalias]]</code> to access CSE's [[User Database]] ([[UDB]])
|-
|-
|/usr/local/priv
|/usr/local/priv
|[[priv]] scripts
|-
|-
|/usr/local/qemu_machines
|/usr/local/qemu_machines
|Custom QEMU virtual machine images and support scripts. See also <code>/etc/sudoers.d</code> and <code>/usr/local/infrastructure/bin</code> for sudo configurations and start scripts, respectively
|-
|-
|/usr/local/sbin
|/usr/local/sbin
|Debian standard
|-
|-
|/usr/local/share
|/usr/local/share
|Symlink to <code>extrafiles/share</code>
|-
|-
|/usr/local/src
|/usr/local/src
|Debian standard
|-
|-
|/usr/local/tigervnc
|/usr/local/tigervnc
|Version of TigerVNC server as directly downloaded from the TigerVNC website. This is more recent than the version which comes with Debian. Used on [[VLAB]] servers
|-
|-
|/usr/local/uservms
|/usr/local/uservms
|Experimental QEMU virtiual machines used for testing user-created-and-run VM's
|-
|-
|/usr/local/vlab
|/usr/local/vlab
|Support scripts used for starting up the VLAB environment for each user
|-
|-
|/usr/local/vmimages
|/usr/local/vmimages
 
|CSG-managed VM's used by students
|}
|}

Revision as of 13:19, 21 August 2023

New World computers start life as out-of-the-box standard, minimally-configured Debian systems. The vast majority of software and configuration files on these computers is installed from standard Debian repositories by apt. Thus, to a very large extent, where things are in the file system is pretty-much dictated by Debian. This includes binaries, libaries, man pages and configuration files.

CSE-specific files — such as administration scripts, configuration files, teaching-related files., etc. — are largely located under either /etc or /usr/local. Below is a broad outline of what's where, why and how it gets there.

Path Discussion
/etc System configuration files. Most are left as they are out-of-the-box
/usr/local/acc Passwords used by acc to access Active Directory and CSE's own User Database (UDB)
/usr/local/bin Symlink to extrafiles/bin, i.e., to teaching-administered bin directory
/usr/local/etc CSG-administered configuration and miscellaneous files including ARCH (the local host CPU architecture: Intel, AMD, ARM, etc.)
/usr/local/extrafiles An entire file system sub-tree managed by teaching. Its contents are rsync'd from the cfengine hub holus-bolus. See /usr/local/extrafiles
/usr/local/extrapackages Teaching-administered lists of additional standard Debian packages to be installed beyond the packages specified by CSG
/usr/local/games Debian standard
/usr/local/include Debian standard
/usr/local/infrastructure Directories and files maintained by CSG
/usr/local/infrastructure/bin Scripts maintained by CSG. This directory is used instead of /usr/local/bin to minimise confusion for students. The reasoning is that many of them may already be familiar with looking in /usr/local/bin (which teaching administers) while more savvy users (including CSG) will not have problems with looking for scripts in this current directory
/usr/local/lib Debian standard
/usr/local/man Debian standard, which is a symlink to share/man which actually, in turn, points into teaching-administered file system space. See /usr/local/share (below)
/usr/local/mlalias Passwords used by mlalias to access CSE's User Database (UDB)
/usr/local/priv priv scripts
/usr/local/qemu_machines Custom QEMU virtual machine images and support scripts. See also /etc/sudoers.d and /usr/local/infrastructure/bin for sudo configurations and start scripts, respectively
/usr/local/sbin Debian standard
/usr/local/share Symlink to extrafiles/share
/usr/local/src Debian standard
/usr/local/tigervnc Version of TigerVNC server as directly downloaded from the TigerVNC website. This is more recent than the version which comes with Debian. Used on VLAB servers
/usr/local/uservms Experimental QEMU virtiual machines used for testing user-created-and-run VM's
/usr/local/vlab Support scripts used for starting up the VLAB environment for each user
/usr/local/vmimages CSG-managed VM's used by students