(→Settings for the network)
(→Settings for the network)
|Line 294:||Line 294:|
Reboot the system
Reboot the system
With Opensuse 13.2's use of the wicked network daemon, a configured network device will not show its IP until it is physically connected to an active network. The yast configuration option "at boot time" for network configuration means that these ports must see a live connection when the system is booted to find their configuration. This is not a bug, it is a "feature".
With Opensuse 13.2's use of the wicked network daemon, a configured network device will not show its IP until it is physically connected to an active network. The yast configuration option "at boot time" for network configuration means that these ports must see a live connection when the system is booted to find their configuration. This is not a bug, it is a "feature". alternative option "on cable connection" . If a device is connected and does not show its IP in ifconfig, try "systemctl restart network.service" .
== Desktop ==
== Desktop ==
The observatory's servers and control computers run on the OpenSuse distribution of Linux-based software. Most current systems use the long-term (Evergreen) 13.1 release which is expected to be maintained until 2016. Our evolving installation notes given below are being rewritten for the latest version 13.2 and may work with minor adjustments for other recent releases. Version 13.2 has major structural changes affecting remote, unattended, computer operation: the full implementation of systemd and the introduction of wicked, a new comprehensive network manager based on dbus, and the use of the BTRFS root file system.
The following describes how to build a system with OpenSuse that provides a solid foundation of software for physics and astronomy for real-time control of telescopes and observatories, operating small servers, and processing astronomical data.
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. If available, select legacy boot rather than UEFI boot, and turn off the UEFI boot media options. Otherwise, Opensuse will detect and set up a UEFI boot protocol.
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 by group except Apparmor which should be marked "taboo". Include PHP, MySQL, and Apache unless not needed 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 selectively controlled by the user rather than by the system at boot time.
Set the computer system clock to use UTC, check the time zone and the local time.
If a new system disk is larger than 2 TB it cannot be fully used by default. It is recommended that the system disk be small, no more than 2 TB in any case. If that is not possible, one workaround is to build Opensuse twice. The first build will format the previously unformatted large disk for no more than 2 TB regardless. Add the gparted package, and run gparted to repartition the disk as needed to use all its physical space. On the second build use the entire disk as usual.
Check the disk partitioning. Older systems will have EXT4, and new ones will use the preferred BTRFS and XFS. Use a swap partition of 2 GB, even if the memory is 16 GB or more. Use 100 GB for the root directory in a BTRFS. The remaining space on the system disk will be formatted as XFS.
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 and mark it for non-installation permanently by selecting "taboo"
Turn off firewall (assuming your system is already behind an institutional or local firewall)
Open port for SSH
Check the boot option for grub2 on a non-UEFI system
Complete the installation from the media (either USB or DVD)
Remove the medium, reset the boot priority to the hard disk, reboot
Start yast from the command line as su with yast --qt
Disable DVD or USB in software respositories
Unless doing GPU development or you have recent nvidia hardware, 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 missed deleting it initially. You will have to mark it in YAST for permanent deletion.
Add Nvidia respository ftp://download.nvidia.com/opensuse/13.2/ if needed and nvidia graphics/gpu drivers
Add apache if used as web server
Add php and packages if used as web server
Add gsl and gsl-devel
Add celestia (kde-celestia)
Add gnome-disk-utility (previously palimpsest)
Add hdf5 (required by Python Pynpoint-exoplanet)
Add libatlas3 (optional required by astromatic software)
Add libatlas3-devel (optional required by astromatic software)
Add pavucontrol (pulse audio control to work around problems with defaults)
Add plplot-devel (optionally other plplot packages as needed)
Add python-matplotlib and related packages
Add fftw3-devel, fftw3-threads, and fftw3-threads-devel
Add gphoto but not gphotofs
Add other motif libraries if they are not installed by default
Remove all virtualbox rpm's installed from OpenSuse
Add fxload (used by SBIG cameras)
Disable modemmanager because it interferes with serial ports used for instruments
Disable avahi as unnecessary in our environment
Edit /etc/sysconfig to set locate default search to root
Use YAST to set NTP servers for your domain rather than Opensuse's defaults
Install nedit from rpm to /usr/bin and link to /usr/local/bin
Build and install ffmpeg from source using ./configure --enable-pic
Build and install vlc from source (VLC) using ./configure --disable-mad --disable-a52
Install cfitsio and manually copy lib64 and include installation directories to /usr/local/lib64 and /usr/local/include
Install grace (build from source with local FFT modifications for normalization)
Install ImageJ (separately from AstroImageJ below if needed for other features)
Install psfex (current release does not build in Opensuse 13.2 due to plplot differences)
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).
For OpenSuse 13.2 both Python-2.7 and Python-3.4 are installed. By default /usr/bin/python points to Python-2.7, but pip and easy_install will have softlinks in /etc/alternatives pointing to Python-3. Since we still work in Python-2.7, remove the softlinks in /etc/alternatives and redefine them to point to /usr/bin/pip2.7 and /usr/bin/easy_install-2.7 so that these commands will work in our environment.
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)
Configure matplotlibrc in /usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc for GTK3Agg backend.
Install xmtel (if needed)
Install xmccd (provides libcfitso and xpa if needed)
Add entries to /etc/rc.d/boot.local
Edit /etc/dnsmasq.conf as needed
Configure network as needed for additional cards defined for internal zone
Configure dnsmasq as needed to service one or more cards
Add masquerade to firewall settings if internal zone present (required for dnsmasq ip forwarding)
Run services manager and turn off unused services (see below regarding the hal daemon)
Run lsof -i to confirm there are no insecure open ports
Reboot the system
With Opensuse 13.2's use of the wicked network daemon, a configured network device will not show its IP until it is physically connected to an active network. The yast configuration option "at boot time" for network configuration means that these ports must see a live connection when the system is booted to find their configuration. This is not a bug, it is a "feature". The alternative option "on cable connection" is not useful for a fixed instrument controller. If a device is physically connected and does not show its IP in ifconfig, try "systemctl restart network.service" or a reboot.
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.
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 some applications with older hardware the Nouveau open source driver 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
will list the available displays and their capabilities, while one such as
will configure them as one screen providing acceleration across the desktop.
Newer Nvidia cards and all of the Quadro family require loading the lastest nvidia driver and the kernel modification. Add Nvidia as a repository and use YAST to manage the updates. Reboot the system afterwards.
Using yast -i install libhal1-flash-0.3.0-4.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.
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 13.2 there will not be a udev rules file installed by default.
As root user,
/usr/lib64/libgphoto2/print-camera-list udev-rules version 175 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.
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.
Add fuse-exfat from OpenSuse package search, currently version 1.1.0
This provides support where needed for SDXC memory cards through the Microsoft exfat filesystem.
The version of VLC that can be installed with Yast lacks all proprietary codecs necessary for many common uses. The OpenSuse version should not be installed. To build from source --
VirtualBox as supplied by OpenSuse cannot be updated using the Oracle site. Instead of installing their version, we use the latest Oracle RPM
Users must belong to the virtualbox group. Start the qt interface from the command line with virtualbox.
Users must belong to the video group to have access to OpenGL when NVidia drivers are in use.
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.
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.