Latest Ubuntu/Debian/RaspberryPi Packages - MdsWiki
Navigation
Personal tools

From MdsWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:51, 8 January 2019 (edit)
Jas (Talk | contribs)

← Previous diff
Revision as of 15:55, 8 January 2019 (edit)
Jas (Talk | contribs)

Next diff →
Line 26: Line 26:
deb [arch=amd64] <nowiki>http://www.mdsplus.org/dist/</nowiki>''os-selection''/repo MDSplus ''flavor'' deb [arch=amd64] <nowiki>http://www.mdsplus.org/dist/</nowiki>''os-selection''/repo MDSplus ''flavor''
 +
 +For example for 64 bit stable Ubuntu18 the line would be:
 +
 + deb arch=amd64 <nowiki>http://www.mdsplus.org/dist/</nowiki>'Ubuntu18/repo MDSplus stable
After adding the MDSplus repository to the apt configuration you will need to do the following commands to import the MDSplus signing key so that you can use the repository: After adding the MDSplus repository to the apt configuration you will need to do the following commands to import the MDSplus signing key so that you can use the repository:

Revision as of 15:55, 8 January 2019

MDSplus now provides a debian repository for Ubuntu and Debian linux distributions. This will enable you to subscribe to automatic updates as they are released. The MDSplus packaging has also been changed significantly. You can pick and choose which features of MDSplus you want to install on your linux system. Go back to downloads page.

Contents

Release Levels

There are currently 2 different release levels of MDSplus:

Release Level Description
Stable Updates occur less frequently.
New features added only after significant testing by sites using the alpha packages.
Bug fixes applied as needed.
Alpha Updates occur whenever a change to an MDSplus source module.
Reflects the CVS head in the repository.

Enabling MDSplus Debian Repository

To add an MDSplus repository to your system simply add the following line to the file /etc/apt/sources.list or create a file called /etc/apt/sources.list.d/mdsplus.list containing the following line:

deb http://www.mdsplus.org/dist/os-selection/repo MDSplus flavor

Where os-selection is one of Ubuntu11, Ubuntu12, Ubuntu14, Ubuntu16, Ubuntu18, DebianWheezy or raspberrypi and flavor is one of stable or alpha. You should not include more than one flavor of repository to your system since the packages from different flavors are likely to be incompatible. NOTE: Ubuntu11 is officially past its end of life and there will be no MDSplus updates available for U11.

Note: On Ubuntu18, there is only the amd64 version of MDSplus, which upon an apt update, will flag a warning that the 32-bit version is missing. To avoid this, add the "arch" specifier to the /etc/apt/sources.list or /etc/apt/sources.list.d/mdsplus.list file:

deb [arch=amd64] http://www.mdsplus.org/dist/os-selection/repo MDSplus flavor

For example for 64 bit stable Ubuntu18 the line would be:

deb arch=amd64 http://www.mdsplus.org/dist/'Ubuntu18/repo MDSplus stable

After adding the MDSplus repository to the apt configuration you will need to do the following commands to import the MDSplus signing key so that you can use the repository:

$ wget http://www.mdsplus.org/dist/mdsplus.gpg.key
$ sudo apt-key add mdsplus.gpg.key

Note: If there is already an mdsplus.gpg.key in your directory the wget command will add a version to the end of the file name (i.e. mdsplus.gpg.key.1) so either delete the file before downloading a new one or be sure to include the version in the file name used in the apt-key add command.

Finally you will need to update the repository cache:

$ sudo apt-get update

Enabling MDSplus Debian Repository to support downgrading to the previous release

To enable reverting to the previous release in the event that an update broke something you should also add a similar line to your sources list with MDSplus-previous instead of MDSplus:

deb [arch= if necessary] http://www.mdsplus.org/dist"os-selection"/repo MDSplus-previous "flavor"

This will enable you to specify the previous release number when using the apt-get install:

apt-get upgrade --only-upgrade 'mdsplus*'=n.n.n

where n.n.n is the version to downgrade to. To determine the version you can revert to use the following commands:

apt-get update apt-cache showpkg 'mdsplus*'

This should show two versions, the most recent and the previous version of MDSplus in the repository.

MDSplus Packaging

MDSplus has been split into several packages so that you can install only the parts which you need. The following is the list of packages available to install. You can alway add or remove packages as needed.

Package Description
Catch all. If specific package is not specified, a catch all package will be installed which contains dependencies to the core system MDSplus subpackages.
camac scripts and tdi functions for communicating with CAMAC serial highway data acquisition devices.
camac_bin Libraries and executables for communicating with CAMAC serial highway data acquisition devices.
devel Include files for software development.
devel_bin Static libraries for software development.
epics Configuration files to provide the interface between EPICS and MDSplus
d3d Tdi scripts for accessing data at the D3D experiment operated by GA in California.
epics Configuration files used to integrate MDSplus into the EPICS control system software package.
gsi Globus security infrastructure configuration files to enable secure mdsip communication using X.509 certificate authentication and authorization.
gsi_bin Globus security infrastructure interface libaries to enable secure mdsip communication using X.509 certificate authentication and authorization.
hdf5 tdi functions to convert between HDF5 and MDSplus data files.
hdf5_bin Libraries and utilities to convert between HDF5 and MDSplus data files.
idl Procedures used to access MDSplus from within the IDL (Interactive Data Language) product.
idl_bin Libraries needed to access MDSplus from within the IDL (Interactive Data Language) product.
java Java classes for accessing MDSplus from within java. Includes utilities such as jScope, jTraverser, and jDispatcher.
java_bin Libraries used for accessing MDSplus from within java. Includes utilities such as jScope, jTraverser, and jDispatcher.
kbsidevices Device support of devices used by the Korea Basic Science Institute.
kernel All the core scripts and configuration files needed for most if not all MDSplus functions. Most other packages will include dependencies on this package.
kernel_bin All the core libraries and executables needed for most if not all MDSplus functions. Most other packages will include dependencies on this package.
labview Labview VI's for accessing MDSplus.
labview_bin Libraries needed by Labview VI's for accessing MDSplus.
matlab Matlab interface for MDSplus
mitdevices Device support for many types of data acquisition devices developed at MIT Plasma Science and Fusion Laboratory.
mitdevices_bin Libraries needed to provide device support for many types of data acquisition devices developed at MIT Plasma Science and Fusion Laboratory.
motif Configuration files for Openmotif based utilities including dwscope, traverser, actmon, and actions.
motif_bin Libraries and user interface descriptions used by the MDSplus motif applications.
mssql Interface to Microsoft SQL relational databases.
php PHP interface to MDSplus used for web cgi development.
python Python language support for accessing MDSplus from python or python from MDSplus.
rfxdevices Device support for many types of data acquisition devices developed for the RFX experiment in Padova.

Performing the installation

Depending on the MDSplus packages you are installing you may need to install additional packages that MDSplus uses but may not be pulled in by automatically detected packages during the MDSplus package building process. The following table list some of those extra dependencies:

MDSplus package Dependency Installation
mdsplus-python python-numpy apt-get install python-numpy
mdsplus-java a java jre i.e. "apt-get install openjdk-6-jre". 6 or greater
should work.
mdsplus-motif libmotif4 On Debian you need to add the "non-free" repo
then apt-get install libmotif4
mdsplus-mitdevices PyXML May need to "easy_install" this python module if
not in any apt repository.

Once the MDSplus repository is added to the /etc/apt/sources.list file. Installing MDSplus packages can be done using the apt-get command as follows:

$ sudo apt-get install mdsplus[-flavor]-package

If you are using the stable repository the following are some example installation commands:

$ sudo apt-get install mdsplus-python   #### Installs the python module and dependencies
$ sudo apt-get install mdsplus-kernel    #### Installs the core part of MDSplus
$ sudo apt-get install mdsplus             #### Installs all the core MDSplus packages

If you are using the alpha repository you need to include the flavor in the package name:

$ sudo apt-get install mdsplus-alpha-camac #### Installs the alpha version of camac package
$ sudo apt-get install mdsplus-alpha           #### Installs all the alpha packages

Note you can only install packages from one flavor of repositories since packages from different releases may be incompatible.

After successfully installing MDSplus you will need to log out and back in to pick up environment variables needed to operate MDSplus.

Updating your installation

To perform updates of your MDSplus packages simply do:

$ sudo apt-get upgrade "mdsplus*"

Manually installing MDSplus packages

It is possible to manually install MDSplus debian packages instead of using a debian repository but you will need to deal with the dependencies your self. It is much easier to use the repository. The following tables are lists of the most recent MDSplus debian packages.

Latest Stable Packages


Latest Alpha Packages

Post Installation Configuration

If you are going to access MDSplus trees using the distributed tree mechanism you will need to define environment variables with the name 'treename'_path which define where the tree files are located. These environment variables can be defined individually by the user but an easier way to define these environment variables is to configure these for all users by creating a /usr/local/mdsplus/local/envsyms file with definitions such as:

mytree_path /mytreedirspec

When users log into the system the script called /etc/profile.d/mdsplus.sh (or .csh) processes the file called /usr/local/mdsplus/etc/envsyms to define environment variables. This envsyms file is part of the MDSplus kernel and should not be modified. Instead this configuration file contains "include" directives to include other configuration files such as /usr/local/mdsplus/local/envsyms which is where site specific modifications to the environment should be made.

You can enable remote data access from this computer by first installing xinetd if it is not already installed. If you want unencrypted mdsip access to your system you will need to modify /etc/xinetd.d/mdsip and change the disabled option to "no" and then reload the xinetd configuration by issuing the command:

/sbin/service xinetd reload

(If the file /etc/xinetd.d/mdsip doesn't exist, it can be copied from /usr/local/mdsplus/rpm/mdsipd.xinetd and renamed to /etc/xinetd.d/mdsip.)

If you have the gsi package installed and want to enable the encrypted gsi service you need to modify /etc/xinetd.d/mdsips and reload xinetd. You will also need to open these ports on the iptables firewall.

The control of who can connect to your computer using these services and which accounts the connections get mapped to is configured in a file called /etc/mdsip.hosts. This file should contain lines of the format:

remote-user-connection-string | local-account

where the remote-user-connection-string for unencrypted mdsip would be something like remote-username@remote-hostname. This connection string can contain wildcards. For example, one could specify *&*.mydomain.org to match any user connecting from a host in the mydomain.org domain. Each asterisk in the connection string will match zero or more arbitrary characters. A percent character will match any single character. You can use either host names or ipv4 addresses. When a connection is first made, the connection string is checked for a match in the mdsip.hosts file starting from the top. Match checking stops when the first match has been found. There is also a special MAP_TO_LOCAL keyword that can be used instead of a specific local-account name. This will attempted to map the incoming connection to the same account name as the remote user account name. If you place an exclamation mark as the first character in a line, a match on the incoming connection string will result in the connection being denied. Lines beginning with # will be treated as comments and will be ignored.

If you are using the gsi enabled service the remote user connection string consists of the distinguished name (DN) or the X.501 certificate used by the client to authenticate with the server followed by the remote hostname or ip address. Your mdsip.hosts account matching lines should then look something like:

/O=Grid/O=National Fusion Collaboratory/OU=MIT/CN=Thomas W. Fredian/* | xyz

Enabling automatic updates

Ubunutu automatic package updates are done by the unattended-upgrades package. Install and configure it as per: https://libre-software.net/ubuntu-automatic-updates/

Then add the following line to: /etc/apt/apt.conf.d/50unattened-upgrades in the 'Unattended-Upgrade::Allowed-Origins' section

       "MDSplus Development Team:*"