Code owners
Assign users and groups as approvers for specific file changes. Learn more.
- IOC Deployment and Troubleshooting
- 1 Setup
- 1.1 Configure Environment Variables
- 1.1.1 Set enviroment variables specific to this training
- 1.1.2 Set EPICS_HOST_ARCH
- 1.1.3 Clear EPICS environment variables
- 1.2 Create directories needed for the training
- 1.3 Confirm the directories exist
- 2 Deploy a new IOC
1-Setup.md 2.52 KiB
IOC Deployment and Troubleshooting
1 Setup
1.1 Configure Environment Variables
1.1.1 Set enviroment variables specific to this training
Determine which shell is used
$ echo ${SHELL}
output
/bin/bash
or
/bin/tcsh
Note: the EPICS_DIR environment variable can be changed if it is desirable to create the files for this training in a different location.
bash
$ export EPICS_DIR=${HOME}/PET-S2/epics
$ export IOC_DIR=${EPICS_DIR}/synApps_6_2_1/ioc
$ export SUPPORT_DIR=${EPICS_DIR}/synApps_6_2_1/support
tcsh
$ setenv EPICS_DIR ${HOME}/PET-S2/epics
$ setenv IOC_DIR ${EPICS_DIR}/synApps_6_2_1/ioc
$ setenv SUPPORT_DIR ${EPICS_DIR}/synApps_6_2_1/support
1.1.2 Set EPICS_HOST_ARCH
Run the following command to determine the RHEL version.
$ cat /etc/redhat-release
output
Red Hat Enterprise Linux Server release 7.9 (Maipo)
or
Red Hat Enterprise Linux release 8.7 (Ootpa)
Set EPICS_HOST_ARCH based on the major RHEL version & shell
RHEL7 | RHEL8 | |
---|---|---|
bash | $ export EPICS_HOST_ARCH=rhel7-x86_64 |
$ export EPICS_HOST_ARCH=rhel8-x86_64 |
tcsh | $ setenv EPICS_HOST_ARCH rhel7-x86_64 |
$ setenv EPICS_HOST_ARCH rhel8-x86_64 |
1.1.3 Clear EPICS environment variables
These EPICS environment variables can cause problems with this training, so they should be cleared before continuing.
bash
$ unset EPICS_BASE
$ unset EPICS_CA_ADDR_LIST
$ unset EPICS_CA_AUTO_ADDR_LIST
tcsh
$ unsetenv EPICS_BASE
$ unsetenv EPICS_CA_ADDR_LIST
$ unsetenv EPICS_CA_AUTO_ADDR_LIST
1.2 Create directories needed for the training
$ mkdir -p ${IOC_DIR} ${SUPPORT_DIR}
1.3 Confirm the directories exist
$ tree ${EPICS_DIR}
output
$ tree ${EPICS_DIR}
/home/beams/USERNAME/PET-S2/epics
└── synApps_6_2_1
├── ioc
└── support
3 directories, 0 files
If the tree command doesn't exist, there is a workaround:
workaround
The find command can be used to show all directories inside a specific directory.
bash
$ tree() { find $1 -type d | grep -v git; }
tcsh
$ alias tree "find \!* -type d | grep -v git"
Once the bash function or tcsh alias is defined, the tree command can be rerun:
$ tree ${EPICS_DIR}