Difference between revisions of "OpenSuse"
Line 1: | Line 1: | ||
The observatory's servers and control computers run on the OpenSuse distribution of Linux-based software. Most current systems use the long-term 13.1 release which is expected to be maintained until 2016. Our evolving installation notes given below were written for 13.1 and may work with minor adjustments for other releases. | The observatory's servers and control computers run on the OpenSuse distribution of Linux-based software. Most current systems use the long-term 13.1 release which is expected to be maintained until 2016. Our evolving installation notes given below were written for 13.1 and may work with minor adjustments for other releases. | ||
The latest version 13.2 has at least two major structural changes: the full implementation of systemd and the introduction of a wicked, a new comprehensive network manager based on dbus. Unfortunately, the wicked network management as implemented in OpenSuse 13.2 is not yet suitable for our use. After a reboot, it may leave the system inaccessible by SSH and unresponsive to a ping from users outside the subnet on which the computer is located. Discussion in the OpenSuse forum on Factory suggest this is one of several issues which make version 13.2 unsuitable for production environments. While version 13.2 is otherwise a useful Linux distribution, especially for the desktop or laptop, | The latest version 13.2 has at least two major structural changes: the full implementation of systemd and the introduction of a wicked, a new comprehensive network manager based on dbus. Unfortunately, the wicked network management as implemented in OpenSuse 13.2 is not yet suitable for our use. After a reboot, it may leave the system inaccessible by SSH and unresponsive to a ping from users outside the subnet on which the computer is located. Discussion in the OpenSuse forum on Factory suggest this is one of several issues which make version 13.2 unsuitable for production environments. While version 13.2 is otherwise a useful Linux distribution, especially for the desktop or laptop, until this issue is resolved, we will not install it on a critical system. | ||
The following describes how to build a system with OpenSuse that provides a solid foundation of software for physics and astronomy, particular for real-time control of telescopes and observatories, operating small servers, and processing astronomical data. | The following describes how to build a system with OpenSuse that provides a solid foundation of software for physics and astronomy, particular for real-time control of telescopes and observatories, operating small servers, and processing astronomical data. |
Revision as of 22:25, 21 December 2014
The observatory's servers and control computers run on the OpenSuse distribution of Linux-based software. Most current systems use the long-term 13.1 release which is expected to be maintained until 2016. Our evolving installation notes given below were written for 13.1 and may work with minor adjustments for other releases.
The latest version 13.2 has at least two major structural changes: the full implementation of systemd and the introduction of a wicked, a new comprehensive network manager based on dbus. Unfortunately, the wicked network management as implemented in OpenSuse 13.2 is not yet suitable for our use. After a reboot, it may leave the system inaccessible by SSH and unresponsive to a ping from users outside the subnet on which the computer is located. Discussion in the OpenSuse forum on Factory suggest this is one of several issues which make version 13.2 unsuitable for production environments. While version 13.2 is otherwise a useful Linux distribution, especially for the desktop or laptop, until this issue is resolved, we will not install it on a critical system.
The following describes how to build a system with OpenSuse that provides a solid foundation of software for physics and astronomy, particular for real-time control of telescopes and observatories, operating small servers, and processing astronomical data.
During installation:
Prepare a DVD or a USB memory stick with the ISO image of the 64-bit distribution. OpenSuse's imagewriter is a convenient way to create the correct structure on the USB device.
Use the BIOS setup to change the boot priority to the medium of choice. Insert the medium, reboot the system, and select Installation from the splash screen.
Select a user interface of "Other" rather than KDE or Gnome, and then Xfce as default environment to have a lightweight but fully functional system.
Select almost all packages including PHP, MySQL, and Apache except those clearly not needed for your use. Decline KDE and Gnome desktop but add their development code. Some KDE and Gnome applications may be loaded individually later. Do not install laptop tools unless you are configuring a laptop. Otherwise network management will default to be selecctively controlled by the user rather than by the system at boot time.
Set the computer system clock to use UTC
Add nano so that you will have a simple terminal-based editor after booting the first time
Delete pk-update to avoid nagware about package updates
Turn off firewall (assuming your system is already behind an institutional or local firewall)
Open port for SSH
Complete the installation from the media (either USB or DVD)
Remove the medium, reset the boot priority to the hard disk, reboot
From OpenSuse using YAST:
Start yast from the command line as su with "yast --qt"
Disable DVD or USB in software respositories
Unless doing GPU development, do not include the repository for nvidia (creates a long term maintenance problem) and use the Nouveau Xorg driver
Perform all updates based on default respositories as needed
Note that in removing packages, as of OpenSuse 13.2, select Options --> Cleanup when deleting packages to prevent their automatic reinstalling though the preselection feature of Yast. Generally it is not necessary to remove packages unless there is something about them that interferes with your use of the system. In most cases they may be disabled in subsequent system configuration.
Remove really annoying pk-update-icon if you forgot and let it stay in the installation
Remove or disable modemmanager because it interferes with serial ports used for instruments
Remove avahi as unnecessary in our environment
Add findutils-locate if you forgot to include it originally
Edit /etc/sysconfig to set locate default search to root
Add texlive
Add lsb
Confirm gfortran
Add apache if used as web server
Add php and packages if used as web server
Add gsl and gsl-devel
Add nano
Add timidity
Add audacity
Add audio-recorder
Add celestia (kde-celestia)
Remove libxine
Remove xine-ui if present
Add libavutil52 (for ffmpeg) or build ffmpeg from source (for development)
Add galculator
Add gnome-disk-utility (previously palimpsest)
Add gnumeric
Add gtkglext-devel
Add hdf5 (required by Python Pynpoint-exoplanet)
Add hdf5-devel
Add hdf5-devel-static
Add imagewriter
Add libatlas3 (optional required by astromatic software)
Add libatlas3-devel (optional required by astromatic software)
Add netpbm
Add libnetpbm-devel
Add pavucontrol (pulse audio control to work around problems with defaults)
Add plplot
Add plplot-devel (optionally other plplot packages as needed)
Add python-cairo-devel
Add python-Cython
Add python-dateutil
Add python-distutils-extra
Add python-Distutils2
Add python-idle
Add python-matplotlib and related packages
Add python-numpy
Add python-numpy-devel
Add python-pip
Add python-qt4
Add python-scipy
Add python-scipy-weave
Add libevent-devel
Add fftw3-devel, fftw3-threads, and fftw3-threads-devel
Add stellarium
Add xfig
Add ufraw
Add gimp-ufraw
Add gphoto but not gphotofs
Add qiv
Add luvcview
Add motif
Add motif-devel
Add motif-devel-32bit
Add other motif libraries if they are not installed by default
Remove all virtualbox rpm's installed from OpenSuse
Add yasm
Add yasm-devel
Add fltk-devel
Add libpng12-devel
Add libpng16-devel
Add fxload (used by SBIG cameras)
From Oracle
Install latest VirtualBox instead of the OpenSuse package using yast2 -i to have the latest version
From source in /usr/local:
Build and install ffmpeg from source
Build and install vlc from source (Packman) and resolve dependencies using YAST as needed
Install nedit from rpm to /usr/bin and link to /usr/local/bin
Use YAST to set sysconfig to start hal daemon
Use YAST to set NTP
Install mplayer
Install ds9
Install xpa
Install cfitsio
Install grace (build from source with local FFT modifications for normalization)
Install ImageJ (separately from AstroImageJ below)
Install Aladin
Install cfitsio
Install xephem
Install pyephem (pip install pyephem)
Install pyfits (pip install pyfits)
Install pywcs (pip install pywcs)
Install scikit-image (pip install scikit-image)
Install Pynpoint-exoplanet (pip install Pynpoint-exoplanet)
Install astrometry.net
Install swarp
Install sextractor
Install psfex (in /usr/lib64 make a soft link ln -s libplplotd.so libplplotd.so.9 if required)
Install cinepaint if available or if it will build from sources
Install moodle (depends on mysql, apache, and php) on educational servers
Install mediawiki on servers as needed
Install bbcp for multi-stream copy between servers if needed (requires port 5031 open).
From local software in /usr/local
Install AstroImageJ
Install AstroCC
Install Alsvid
Install sidereal
Install xmtel (if needed)
Install xmccd (provides libcfitso and xpa if needed)
Update /etc
Copy motd
Edit HOSTNAME
Comment out 127.0.0.2 in hosts if it exists
Add entries to /etc/rc.d/boot.local
Add profile.local
Edit /etc/dnsmasq.conf as needed
Edit /etc/sysconfig/locate to run as root
Settings
Configure network as needed for additional cards defined for internal zone
Add masquerade to firewall settings if internal zone present (required for dnsmasq ip forwarding)
Start dnsmasq
Run services manager and turn off unused services
Run lsof -i to confirm there are no insecure open ports
Desktop
Run nvidia-settings to set display for a system with Nvidia hardware if the nvidia drivers are installed. The latest community nvidia support is adequate for most purposes without installing the proprietary Nvidia driver and kernel module. The system is more easily maintained if it runs using the community supported packages.
OpenGL with Nvidia
Users should be members of the video group to have access to opengl applications. If they are not, the application may run slowly (glxgears) or crash (celestia). For most applications the Nouveau open source drive will suffice and be less likely to interfere with system updates later. This driver is compatible with randr and allows command line setting of multiple displays. For example if there are two displays on the graphics card, a command line such as
- xrandr -q
will list the available displays and their capabilities, while one such as
- xrandr --output DVI-I-2 --right-of DVI-I-1
will configure them as one screen providing acceleration across the desktop.
Flash and Hal
Using yast -i install libhal1-flash-0.2.0rc1-3.1.x86_64.rpm to enable DRM flash (e.g for Amazon.com services) under Firefox. If needed, rm -r .adobe to remove previous files.
gPhoto2
The gphoto2 application runs Nikon DSLR cameras for real-time observing, scripted imaging, and called by cgi routines from a web server. To give the USB device the proper permissions without invoking unwanted software (the default for a Gnome installation in OpenSuse), we make sure that libgphoto2 is installed, but not the file system. In OpenSuse 12.2 there will not be a udev rules file installed by default.
As root user,
cd /etc/udev/rules.d
/usr/lib64/libgphoto2/print-camera-list udev-rules version 0.98 group video mode 0666 > 90-gphoto.rules
where the version given has to be high enough to work with udev and still be recognized by libgphoto2. This version works with OpenSuse 12.2's default installation. Try "175" if this does not work for a more recent installation of udev.
Add the video group to users who will be observers, and to the user wwwrun by editing /etc/group or by using YAST.
When a camera is connected or turned on, it will accessible by any user in the video group, including the cgi applications used for remote operations.
VirtualBox
In OpenSuse 12.3 the virtualbox gtk interface installed by default is broken. Use the qt interface instead, starting it from the command line with "VirtualBox". The user who does the installation must belong to the virtualbox group.
OpenGL
Users must belong to the video group to have access to OpenGL when NVidia drivers are in use.
Skype
Skype audio requires the alsa-plugins-32bit package for Skype 4.2 (a 32-bit program). With skype running, and with pavucontrol open, make a test call. Look at the "Recording" window for the Skype application, and then select the input microphone (usually the USB microphone on the Logitech camera). This selection should associate the USB microphone with Skype permanently. Users should have "pulse" and "pulse-access" group memberships.
Wireless
Laptops by default will have networkmanager running their hardware and wireless connections. Desktops will not. To enable desktop wireless with minimal need for configuration, use Yast, Network Settings, and Global Settings to select networkmanager rather than ifup. With that change, there will be a desktop icon in the system tray and the interface may be selected by the user.
Few USB network adapters work with the Linux kernel in OpenSuse 13.1 . Only one we have found readily available new is the Buffalo Nfinity Wireless-N compact USB 2.0 adapter. It is recognized immediately and requires no additional configuration, other than the selection of networkmanager, and the user's choice of connection.