Note: This file is maintained as a public gist to simplify sharing. It can be found at https://gist.github.com/Digital-Grinnell/f0900e9af9341e67433633be3fa0895d.
DG-FEDORA is the name of a USB stick/volume that I designed long ago to be a "portable" FEDORA repository intended for use with a local ISLE stack. It holds a pre-configured and populated sample of FEDORA digital objects gleaned from Digital.Grinnell. Using DG-FEDORA you could easily add a pre-populated repository of objects to your "demo" or "local" environment ISLE project in as little as 5 minutes.
The canonical USB stick was renamed DG-MASTER on 28-Oct-2020 and it now includes utility scripts for many purposes. One script,
clone-to-X.sh
has been used to create numerous copies of DG-MASTER for distribution to multiple devices and colleagues. Each copy is given a UNIQUE name to identify its owner or purpose. For example, I have a personal copy named DG-MARK1. TheDG-
prefix is REQUIRED, so do not change it!
In the remainder of this document mentions of DG-NAME
can be assumed to mean "the DG-something stick in your possession".
Note: The script and document portions of the DG-MASTER stick are controlled in a private repository at https://github.com/Digital-Grinnell/DG-MASTER-Scripts. NO data is held in this GitHub repository, only code and documentation.
Building https://dg.localdomain
See Compact Build of dg.localdomain - Concise Instructions for the quick-and-easy steps required to launch a local https://dg.localdomain ISLE stack on your OS X (or Linux) workstation.
To successfully use this USB stick your system will need to meet the following prerequisite requirements.
- Your workstation must meet all the hardware requirements of ISLE. See ISLE's ./docs/install/host-hardware-requirements.md for details.
- Your workstation environment must meet all the minimum software requirements of ISLE. See ISLE's ./docs/install/host-software-dependencies.md for details.
- This workflow assumes your workstation is running OS X. Other workstation types supported by ISLE may be acceptable, but this USB volume will have to be mounted differently.
- You must have a working "demo" or "local" ISLE stack already running, or use the steps documented in Compact Build of dg.localdomain - Concise Instructions to start a https://dg.localdomain stack of your own.
In Mac OS X you simply have to plug the DG-NAME USB stick into an available USB port on your Mac workstation. After a few seconds the USB stick will be automatically mounted as /Volumes/DG-NAME, and the /Volumes directory is automatically "shared" with Docker.
In Mac OS X, open a terminal and use the following command to make DG-NAME writable, so that you can save newly ingested objects and updates to existing objects:
sudo mount -u -w /Volumes/DG-NAME
I also keep a MASTER copy, as the name implies, on the Grinnell College STORAGE server at smb://Storage/LIBRARY/mcfatem. Before using your DG-NAME
stick you may wish to connect to //Storage/LIBRARY/mcfatem
and update as described below.
You should be able connect your Mac workstation to //Storage/LIBRARY/mcfatem
by first initiating a VPN connection to campus, if needed. Once VPN has been established, open Finder and select Go
then Connect to server...
from its menu. In the selection window, pick or enter 'smb://Storage/Library/mcfatem', click Connect
, and supply your campus login credentials, if necessary.
If your connection is successful you should be able to open a terminal on your workstation and successfully cd /Volumes/mcfatem/DG-MASTER
, where you can then list the contents of the network drive using ls -alh
. At a minimum the contents should include:
╭─markmcfate@MAD25W812UJ1G9 /Volumes/mcfatem/DG-MASTER ‹ruby-2.3.0›
╰─$ ls -alh
total 408
drwx------ 1 markmcfate staff 16K Oct 21 14:51 .
drwx------ 1 markmcfate staff 16K Oct 21 12:44 ..
-rwx------ 1 markmcfate staff 10K Oct 21 13:50 .DS_Store
drwx------ 1 markmcfate staff 16K Oct 20 10:45 .Spotlight-V100
drwx------ 1 markmcfate staff 16K Oct 20 10:45 .TemporaryItems
drwx------ 1 markmcfate staff 16K Oct 20 10:50 .Trashes
drwx------ 1 markmcfate staff 16K Oct 20 10:51 .fseventsd
-rwx------ 1 markmcfate staff 90B Oct 21 14:51 DG-FEDORA-Master.md
drwx------ 1 markmcfate staff 16K Oct 20 17:23 Extras
-rwx------ 1 markmcfate staff 5.8K Oct 21 12:55 README.md
-rwx------ 1 markmcfate staff 2.3K Oct 21 10:22 RESTART-1.sh
-rwx------ 1 markmcfate staff 1.8K Oct 21 10:33 RESTART-2.sh
-rwx------ 1 markmcfate staff 1.3K Oct 21 11:26 RESTART-3.sh
-rwx------ 1 markmcfate staff 516B Oct 21 11:20 RESTART-4.sh
drwx------ 1 markmcfate staff 16K Oct 5 2019 Storage
drwx------ 1 markmcfate staff 16K Mar 18 2020 datastreamStore
drwx------ 1 markmcfate staff 16K Mar 17 2020 objectStore
-rwx------ 1 markmcfate staff 1.0K Oct 20 20:17 reset-keychain-access.md
A script is now provided to "pull" updates from the master repository at //Storage/LIBRARY/mcfatem/DG-MASTER
to your mounted USB stick using rsync
. If your DG-NAME
stick is properly mounted you should download https://gist.github.com/Digital-Grinnell/69c3cca524071098bbf5c865ec632164 and save the file to /Volumes/DG-NAME/pull-from-master.sh
. After fetching and saving the script, make it executable using chmod +x /Volumes/DG-NAME/pull-from-master.sh
.
Now, with the new script in place you can update your USB stick like so:
cd /Volumes/DG-NAME
./pull-from-master.sh
Be patient and enjoy the show! The time it will take depends on many factors, so it's a good idea to plan ahead and run this command overnight, if possible.
If your workstation is not a Mac, you will need to insert the USB stick and take appropriate steps to:
- Mount the stick with read/write permissions as /Volumes/DG-NAME.
- Share the /Volumes or /Volumes/DG-NAME directory in your Docker settings/preferences.