Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

20 May 2019 (last significant edit)

This page is a launching point for information about the This page describes certain features of the " Linux Desktop 2.0 " pilot/R&D project.  While this project has been in progress for some time, these notes begin in July 2018.

There are an estimated 200-300 Linux desktop users at SLAC.  This project aims to provide a basic managed and maintained building block desktop from which users may customize to their specific needs.  At this writing, either Ubuntu or CentOS are available options.  This is very much a work in progress....

Table of Contents

To-Do

  •   consider should the  user  have the netboot file remain active and have the user manually remove the link that makes it active  with
    echo "get Kickstart_end" | /usr/bin/tftp lnxpapa  or do this for them automatically after the first build. Make this an attribute for the node build ?  Consider this for ubuntu too - And ubuntu and kickstart are not great together, unless this is very, very dated https://help.ubuntu.com/community/KickstartCompatibility
  • Decide if we want the pxekicktit to by default run chef on the node. As of 2018-09-27, a build with ks.cfg.centos7.linux_desktop_2 does not run chef. I suggest we do run chef in the default installation, and one picks ks.cfg.centos7.linux_desktop_2.no_chef_run  If one does not want to run chef.
  • decide is this only for SLAC owned equipment or can users with non-SLAC equipment use the chef cookbooks - what does that mean for slac_motd - the content of that message does it change at all?

 

Current Pilot Machine Status

  • A test machine, named comet2, was setup in Tom G's office, bldg 48/rm 248, on 7/13/2018.  Linux (centos7) was installed over the network.  Andrew set up the "old style" kerberos authentication to allow site-wide logins.  This is expected to change in the near future to a Windows authentication scheme.
  • At this time, comet2 is considered available for reboot with little or no notification as experts continue their development of the deployment software.  Rebuilding from scratch becomes increasingly painful as more and more software is installed.
  • As of 9/23/2018, a 2nd machine, ppa-pc89438-l, is also running centos7 in Warren Focke's office, bldg 48/rm 249, using Andrew's latest net install.

List of candidate add-on software to be included in CentOS 7 network-install image. 

(The initial network-install might not have all this - but one can add it with post install step(s). A status of 'required' does not mean that configuration management can do that, as of  , but that is it considered a requirement by a user community at SLAC.)

 PackageStatusDate installedInstall ToolNotes
1Linuxrequired7/13/2018 and 8/28/2018pxe bootBasic CLI
2X11required7/17/2018 and 9/28/2018note 1 belowX11+gnome+gazillion dependencies
3window managerrequired7/17/2018 and 9/28/2018"gnome based - working on conf file
4desktoprequired7/17/2018 and 9/28/2018"(various convenience apps)
5chef-clientrequired11/13/2018(installed by KSA)Needed for installing YFS
6Windows Active Directory   new authentication model (old=kerberos)
7printingrequired[10/4/2018]sudo system-config-printerPrinting will be via Windows AD IP based printing. In the meantime, configure locally using built-in printing system. Configure B048F2COPIER as a generic postscript printer.
8YFSrequired11/14/2018chef-client -o slac_yfs-clientAuristor's YFS (AFS) client. Use "kinit [<userID>]" followed by "aklog" to get a token
9emacsrequired7/19/2018 and 9/28/2018gnome-software 
10

chrome

required9/28/2018d/l + yum install 
11thunderbirdrequired7/19/2018 and 9/28/2018gnome-software 
12NXrequired9/28/2018d/l + yum installNoMachine client for use with NERSC
13citrix client   TESTING INC0211099 not sure if it will work
14fastx 9/28/2018d/l + tar -xvf

https connection fails, but ssh connection works. KSA has opened ticket with vendor

15slack 9/28/2018d/l + yum install 
16zoom 9/28/2018d/l + yum install(implies support for microphone, camera and speakers)
17LibreOfficerequired7/19/2018 and 9/28/2018gnome-softwarecalc,writer,base,draw,impress,CAD
18python v3required9/28/2018yum install 
19sshfs 12/19/2018

yum install

sudo yum install fuse-sshfs
commands include: sshfs, fusermount
20dev tools (gcc)required9/28/2018yum installsudo yum group install 'Development Tools'
21filezilla 10/1/2018gnome-softwareGUI file transfer between comet2 and SLAC servers
22Ksnapshotrequired10/1/2018gnome-softwarescreen shot utility
23DbVis   needed by Fermi/LSST app developers
24NetBeans   needed by Fermi/LSST app developers
25LSF 10/25/2018requires slac_yfs-client

requires desktop is in the lsf configuration file and allowed to run batch commands,

if desktop name is not in LSF configuration, start a service now ticket to request addition

Needs YFS to do run command a link for /etc/lsf.conf  (likely a cookbook configured setting?)

26VPNrequired11/14/2018downloadMust download from a current Cisco AnyConnect customer (question), e.g., NCSA
27clamavnot needed sudo yum install clamavAnti-virus (needed to access SLAC VPN, but not necessary on machine connected to internal network)
28media codecsvery strongly desired12/14/2018Many steps -->Followed numerous "sudo yum install ..." commands from https://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS7
29htopvery strongly desired12/14/2018yum install htopin EPEL
30gimpelective12/17/2018desktop installerGnome installer accessed through the Window Manager menu: Applications -> System Tools -> Application Installer
31code42   Stanford supported disk backup (for local files)
https://stanford.app.box.com/v/SU-SemiCustomized-CPPe-Install
32     
33     
34     

 

Notes:

X11 & GUI installed in this way:  

Code Block
titleX11 and GUI
curl http://yum/centos-gui > /tmp/centos-gui
/bin/sh /tmp/centos-gui

...

Software installed via the GUI, e.g., Thunderbird, emacs, LibreOffice

Code Block
sudo gnome-software

...

Attempt to install FastX downloaded from www.starnet.com.  Code is unpacked from a tar.gz file and run without any special installation.  Attempt to configure SLAC but code fails with a relocation error associated with /lib64/libssl.so.10.  Karl to the rescue!  Use the "ssh" connection rather than "https" while he queries the vendor for a proper fix.

...

 

Configuration Hints

Desktop

The default desktop manager is gnome.  A large number of desktop settings are stored in the dconf database.  There are several ways to view/set these settings:

  • From the Applications menu, select System Tools and then Settings.  Or, use gnome-command-center from the command line.  Not all settings are available in this way.  There is a second utility accessed via Applications -> Utilities -> Tweak Tools, which offers additional desktop configurations.
  • The gsettings command provides access to all of the dconf DB
  • The GUI app, dconf-editor, which is not included in the centos7 installation by default, is a graphical front-end to gsettings

For example, to increase the idle time interval until the screen blanks and locks to one hour:

Code Block
$ gsettings set org.gnome.desktop.session idle-delay 3600
$ gsettings get org.gnome.desktop.session idle-delay
uint32 3600


and
 
$ gsettings set org.gnome.desktop.screensaver lock-delay 0
$ gsettings get org.gnome.desktop.screensaver lock-delay
uint32 0

 

 

OS Updates

Dateuname -aNotes
7/13/20183.10.0-862.6.3.el7.x86_64 
8/8/20183.10.0-862.9.1.el7.x86_64 
8/28/20183.10.0-327.el7.x86_64Fresh install by ksa
8/29/20183.10.0-862.11.6.el7.x86_64 
10/4/20183.10.0-862.14.4.el7.x86_64 
12/7/20183.10.0-957.1.3.el7.x86_64 

 

On a new build, old or new hardware

...

 check if firmware updates need to happen

- BIOS, IDRAC, DISK/PERC

NETDB needs for the node:

a. NetDB must have the MAC address

b. NetDB must have these dhcp-opt  options:  --options filename=pxelinux.0,next-server=lnxpapa,tftp-server-name=lnxpapa

c. NetDB must have dhcp enabled

d. Determine the pxeboot-kickstart to use. There are many!

and we should agree on which one to use. I'd recommend we make that part

of the netdb record the way we do with some newer builds - I think it

helps. See for instance comet2

an effort to evolve from the "RHEL6-64 desktop server" model to one which is more up-to-date and more sustainable by the folks in SCS.  The current focus of this work is to provide a path for updating an existing Linux RHEL6 (or earlier) machine to either Centos 7 or Ubuntu (16 or 18).  Machines are expected to be resident at SLAC and connected to the SLAC public network and used in a scientific or engineering environment.

 

Contents:

  1. The Centos 7 pilot project: a description of building a Centos 7 based scientific/engineering desktop
  2. References relating to building a Ubuntu based desktop

pxekickit: CentOS7/default.netboot.CentOS7.linux_desktop_2  NOTE I would like to change the attribute name on the netdb record from 'pxekickit' to 'netboot'  I came up with the pxekickitit name, it made sense sorta at that time, but now that we will expect to have more than just kickstart builds, think Ubuntu, I think it better to just change this naming convention to netboot. 

 

...

Determine is there anything special about this machine that needs to be considered

If this is rhel[56] node with a taylor.opts take a look and see if there

is a one to one correstpondence between what taylor.opts is doing on the

node and what we can do in chef.  For example, if the pre-cheffed node is

using automounter, then all parties ( unix platform, the user)  need to know that no NFS native mounts are supported.

 

User Log:

Expand
titleLog...

7/13/2018 - comet2 machine arrives in bldg 48 rm 248. Kerberos authentication (temporary). Initial pass at identifying and installing needed software packages (above table)

8/28/2018 - comet2 rebuilt, lose login ability

9/28/2018 - regain ability to login via local account. Re-install needed packages. Also move offending file which causes polkitd to consume too much CPU, "A workaround that I've been using is to remove /etc/xdg/autostart/org.gnome.SettingsDaemon.Account.desktop until the above mentioned bug is fixed." (but this does not clear up the issue - polkitd still consumes 7-6% of the CPU continuously)

11/13/2018 - chef client installed (by Karl). Unexpectedly (to TG), this also activated unix kerberos authentication, thus I begin to use the 'dragon' (SLAC) account in favor of the dragon1 (local) account on comet2.

12/17/2018 - Karl adds 'dragon1' and 'dragon' accounts to /etc/group 'wheel' group. This allows a user to run, for example, the software installation tool GUI launched from the Applications -> System Tools menu in the WM.

12/19/2018 - Karl adds 'dragon' to sudo list.

 

References:

  1. SLAC minimum security requirements:
    https://docs.slac.stanford.edu/sites/pub/Publications/701-I02-001-00_Min_Sec_Req_for_Comp.pdf
  2. Stanford minimum security requirements:  
    https://uit.stanford.edu/guide/securitystandards

  3. SLAC support for Linux:
    Ubuntu/CentOS 7 Desktop Scope of Support

...