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.shhas 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. The
DG-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.
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.
Make DG-NAME Writable
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
Keeping DG-NAME Updated
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.
Connecting to //Storage/LIBRARY/mcfatem
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
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
Updating DG-NAME from DG-MASTER
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.
Not Using Mac OS X?
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.