Notes on setting up the unidata LDM on a LinuxArch system; last updated:20130521
Host computer: heron
OS: Linux version 3.7.10-1-ARCH
The setup was based on the instructions given here Notes having to do with Arch Linux on Gryphon and friends. Here, I just want to point out some generalities of arch that help to know when following the installation instructions.
Most notably, arch uses the command systemd as the system and service manager, which in turns is controlled by the command systemctl.
The page on systemd also provides an explanation for the concepts of units and targets, which handle configuration files and run levels.
The arch filesystem hierarchy can be found at File system hierarchy
The logging system is handled by journal
The package manager is pacman
using the default repository did not work: mkinitcpio -p linux reported an error of kernel image not found. Solution: used different repository (Georgia Tech works)
After the first reboot, the internet was not up, with no clues about why. It turns out that a mistake in the file /etc/conf.d/netcfg was the problem. I did not realized this at first because during the installation a temporal network was set up, which gave me the impression that all configuration files were keep for the permanent installation (after all the internet was already working). However,the temporal setup is done by modifying /sys/class/net and /etc/resolv.conf; the permanent is set up with the files /etc/network.d/external, /etc/conf.d/netcfg, and /etc/resolv.conf (which stays the same). So, be sure to check these files if the network is not up after rebooting.
Special instructions for heron
Note: that heron is intended to be an stand alone server ( no resources from gryphon) instead of mounting remotely grypphon:/usr/local/etc, just copy its content over;
heron needs to share its data disk with merlin: modify the /etc/exports to include the line
and then add the daemons: systemctl enable rpcbind.service;
systemctl enable rpc-idmapd.service;
systemd enable rpc-mountd.service
to enable the daily backups of the home directories we need
to have pass-wordless connections to merlin and peregrine, so just copy over the public key (it was generated during the installation of ssh) to those machines. (this site is a good reference on pas-wordless connections: everyDay_LHT .)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@peregrine
ssh-copy-id -i ~/.ssh/id_rsa.pub root@merlin
The backups are manage by the root crontab --a copy of the crontab.root is located in /home/ldm
become root and cp /home/ldm/crontab.root /etc/rootcrontab
crontab -u /etc/rootcrontab
In order to monitor the system, we need EXIM to work. Just follow the instructions in EXIM notes
We need to create the group ldm and the users: ldm, mcidas
useradd -m -g users -G ldm -s /bin/bash ldm ; passwd ldm ; su -l ldm and run arch-setup
mcidas don't have to belong to the ldm group, but its home directory must be readable and serchable by the ldm user (for accessing libraries and headers)
useradd -m -g users -s /bin/bash mcidas ; passwd mcidas ; su -l mcidas and run arch-setup; chmod -R g+rX /home/mcidas/
The ldm requires a decoder from the package ldm-mcidas, namely (pnga2area). In order to compile this package, we need mcidasx (netcdf comes bunfled with this package), this in turns needs a FORTRAN compiler.
make sure that you have gfortran: pacman -S gcc-fortran
login as mcidas and open a browser to download the latest mcidasx package.
follow the instructions at Installing McIDAS-X on Unix or Mac OS X Workstations
login as ldm and open a browser to download the latest ldm-mcidas package
unpack according to the istructions at LDM-McIDAS:Building and Installing.
cd to /home/ldm/ldm-mcidas/ldm-mcidas-2012/src
set the "CUSTOMIZE" file. (a copy of the one that worked is here ~/ldm_mcidas_customize.set )
## Note: “make all” did not work -- it is trying to build some deprecated libs. instead just build decode_basic
make decode_basic > ldm-mcidas.log 2>&1
make decoders_install > ldm-mcidas-decoders_install.log 2>&1
make decode_test > ldm-mcidas-decode_test.log 2>&1
the required file is at /home/ldm/ldm-mcidas/bin/pnga2area copy or link this file to the directory /home/ldm/decoders/satellite
login as ldm and open a browser to download the latest ldm package.
Modify the files .bash_profile and .profile with copies from the backup directory ~/ldm
Unpack and install according to Installing, Configuring, and Activating the LDM System (follow the Long Installation Instructions)
activate the ldm crontab – a copy is at ~ldm/crontab.ldm
ldm not able to write to its own log files.
There are some tips about why and what to do in this ldm-archived discussion . So far the system is working, but the logs are own and written by root. The current workaround is to add the ldm user to the log group, so it is able to check the logs (usermod -a -G log ldm).
The crontab sent the following message:
bin/scour: line 171: /usr/local/ldm/etc/scour.conf: No such file or directory
after I activated the line to purge old data (0 8 * * * bin/scour > /dev/null).
The work around is to make a symbolic link of the ldm dir in /usr/local