<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Port 25: The Open Source Community at Microsoft : Kishi Malhotra, Software Testing</title><link>http://port25.technet.com/archive/tags/Kishi+Malhotra/Software+Testing/default.aspx</link><description>Tags: Kishi Malhotra, Software Testing</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Systems Manageability Part 4:  Systems Configuration</title><link>http://port25.technet.com/archive/2007/05/25/systems-manageability-part-4-systems-configuration.aspx</link><pubDate>Fri, 25 May 2007 18:18:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3979</guid><dc:creator>kishi</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3979</wfw:commentRss><comments>http://port25.technet.com/archive/2007/05/25/systems-manageability-part-4-systems-configuration.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;: This is Part 4, continuation of the series of 8 blogs I&amp;rsquo;m doing on &lt;a href="http://port25.technet.com/archive/2007/05/03/systems-manageability-part-3-provisioning-and-deployment.aspx" style="color: blue; text-decoration: underline; text-underline: single"&gt;Systems Manageability&lt;/a&gt;. In this specific blog, I will focus on and explain the second part of the &amp;ldquo;ontology&amp;rdquo; which is &lt;strong&gt;&amp;ldquo;Systems Configuration&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Level-Set:&lt;/strong&gt; &lt;em&gt;System Configuration and Management&lt;/em&gt; encompasses all tasks related to the configuration of a host in a standardized and (when possible) centralized way.&amp;nbsp; Many projects in this category provide a common configuration interface, either command-line or GUI-based, designed to ease typical administrative tasks.&amp;nbsp; Other projects, specifically Cfengine, provide a higher level policy-based system to provide consistent configuration and state management for a set of systems. Again, in this case there&amp;rsquo;s lots of different tools out there that can be used but we have focused on the most popular ones such as Webmin, YaST, SSH, VNC and Cfengine. In the paragraphs to follow, we have attempted to lay out our understanding of these tools after using them in the OSSL:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;I. WEBMIN: &lt;/strong&gt;&lt;em&gt;&amp;quot;Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms (and Java for the File Manager module), you can setup user accounts, Apache, DNS, file sharing and so on.&amp;quot;&lt;/em&gt; Webmin is very modular in design, allowing third-party developers to add support for a particular service or task relatively easily.&amp;nbsp; Many of the tasks involve easing or automating system administration tasks, or editing a configuration file using a specific syntax. &lt;a name="_Toc148172344" title="_Toc148172344"&gt;&lt;/a&gt;Webmin is currently supported by &lt;em&gt;OpenCountry&lt;/em&gt;, a company that sells Linux management solutions.&amp;nbsp; The OpenCountry website includes information about Webmin, including two variations of the system that they support.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Webmin Plus:&lt;/strong&gt; Webmin Plus, is a version of Webmin supported by &lt;a href="http://opencountry.com/" style="color: blue; text-decoration: underline; text-underline: single"&gt;OpenCountry&lt;/a&gt;.&amp;nbsp; According to the website, the Webmin Plus version has been tested by the company and includes new features, specifically support for the back-up and restore application called Bacula (&lt;a href="http://www.bacula.org/" style="color: blue; text-decoration: underline; text-underline: single"&gt;http://www.bacula.org/&lt;/a&gt;).&amp;nbsp; Webmin Plus is still freely distributed under a &amp;ldquo;Mozilla-type&amp;rdquo; license, and is downloadable via Sourceforge.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Webmin Pro:&lt;/strong&gt; Last I checked, Webmin Pro had not yet been released, but the following is an excerpt about the product from the OpenCountry website: &amp;ldquo;...a commercially supported comprehensive product for the entire data center enabling centralized systems administration of mixed distributions, Linux and Windows!&amp;rdquo;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;II. YAST:&lt;/strong&gt; YaST (&lt;strong&gt;Y&lt;/strong&gt;et &lt;strong&gt;a&lt;/strong&gt;nother &lt;strong&gt;S&lt;/strong&gt;etup &lt;strong&gt;T&lt;/strong&gt;ool) is an OS installation and configuration utility used primarily in SUSE-based systems.&amp;nbsp; YaST typically serves as the primary control panel interface in, and can be used for a number of configuration tasks &amp;ndash; such as adding and removing software, patch management, user management, device configuration and for configuring individual services and daemons.&amp;nbsp; Other common administration tasks such as obtaining system information and reading server logs is also possible via the YaST interface. All of the aforementioned YaST features are implemented as modules, each of which provide a specific functionality or perform certain tasks.&amp;nbsp; These tasks typically involve editing one or more text configuration files on the system in a specific format to configure a specific service or daemon.&amp;nbsp; On other Linux or UNIX-like systems, these tasks are typically performed manually via the command-line. &lt;/p&gt;&lt;p&gt;The YaST utility is very modular in its design, allowing Novell or other third-party providers to add modules into the YaST interface to configure a particular device or service.&amp;nbsp; Many of these modules work independently of each other, and as such are often packaged as individual RPM packages that may be added or removed depending on the software and devices that are installed on a system. YaST modules are written using a scripting language specific to YaST called YCP.&amp;nbsp; Other scripts, such as Perl or shell scripts can also be utilized via a YaST module to perform a particular task.&amp;nbsp; A CIM module for YaST is also distributed with SLES10, which provides a client interface for CIMOM (Common Information Object Manager) to other YaST2 modules. It seems the most common administration task for which YaST is used involves setting up individual package repositories (discussed further in the Patch Management and Maintenance), adding or removing software packages and configuring or initiating online updates. YaST is capable of searching for and locating software on remote repositories, retrieving the software packages, resolving package dependencies, checking the cryptographic signature of the package (if available) and then installing the software on the system.&amp;nbsp; Multiple repositories can be configured.&amp;nbsp; Repositories can be located on a hard disk or CD/DVD, or on a remote system obtainable via HTTP(s), FTP, NFS or CIFS. Once a repository is configured it can then be indexed for later searching.&amp;nbsp; The software search functionality is very powerful, allowing one to search for appropriate software packages using many of the attributes available in the RPM package header &amp;ndash; such as the description or contents of the package. Besides software management, the quality and completeness of many YaST modules varies.&amp;nbsp; Many modules (such as the log viewing modules) offer minimal functionality, and only work well enough to provide a few basic configuration options.&amp;nbsp; Complex server configurations will therefore still require one to edit text-based configuration files by hand, or use another configuration engine for the task, such as Webmin.&amp;nbsp; However, many other common tasks, such as configuring display settings or a printer, can be done entirely via YaST.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;III. SSH/SCP/SFTP:&lt;/strong&gt; SSH (Secure SHell) is likely the most widely used remote administration tool for Linux and UNIX-based systems.&amp;nbsp; The typical SSH toolset includes the SSH client and server, as well as the SCP and SFTP client applications for copying files, both of which simply utilize the ssh binary on the backend.&amp;nbsp; The following excerpt is from the OpenSSH project home page: &lt;em&gt;&amp;quot;OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that their password is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions.&lt;/em&gt; Since most any task can be performed via the command-line, the OpenSSH utilities are likely the most critical component for a Linux administrator to have available.&amp;nbsp; The remote copy and command execution options allow one to build, deploy and run a script on a number of machines relatively quickly and securely.&amp;nbsp; OpenSSH is typically installed by default in most Linux-based distributions, although in some distributions the server may by default be disabled or blocked by the firewall. &amp;quot;Most common uses of SSH are:&lt;/p&gt;&lt;ol start="1"&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034268" title="_Toc158034268"&gt;&lt;/a&gt;Remote Command Execution:&lt;/strong&gt; One of the most common uses of the ssh utility is to run commands in remote machines&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Authentication:&lt;/strong&gt; In order to log into, copy files or run commands on a remote host via ssh, one must first authenticate to the remote machine.&amp;nbsp; Local password authentication may be used without any particular configuration on the server.&amp;nbsp; Linux systems that support PAM (Pluggable Authentication Modules) may also use password authentication to authenticate using a number of mechanisms, including NIS, LDAP, Kerberos, or AD (Active Directory).Rather than requiring a user to manually type in a password, a more common authentication option is to use public key authentication.&amp;nbsp; A user&amp;rsquo;s public key must be inserted into a file on the remote host called authorized_keys before they are allowed to authenticate to that server.&amp;nbsp; This can often be done via the post installation procedures built into kickstart or autoyast.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034270" title="_Toc158034270"&gt;&lt;/a&gt;Tunneling other Applications:&lt;/strong&gt; Another common application is to use SSH for tunneling other protocols.&amp;nbsp; This is often used to tunnel protocols that are not typically encrypted such as NFS or X11.&amp;nbsp; By using the &amp;ndash;Y or &amp;ndash;X switches with the ssh client application, one can &amp;ldquo;turn on&amp;rdquo; X11 tunneling, allowing graphical applications run on the remote machine to display locally on the administrators workstation.&amp;nbsp; For example, if one were to SSH into a SUSE-based system and run &amp;ldquo;yast2&amp;rdquo; via the command line, the YaST display would be tunneled via SSH and displayed on the local system &amp;ndash; even though the actual application is running on the remote system.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034271" title="_Toc158034271"&gt;&lt;/a&gt;Cluster Management:&lt;/strong&gt; When managing a number of Linux servers, such as a HPC cluster, it is typical to have a large number of systems with identical configurations.&amp;nbsp; To ease administration of these systems there have been a number of SSH-based utilities that allow one to run commands on multiple systems, or copy a file to multiple systems, in parallel.&amp;nbsp; The following utilities are all licensed under the GNU GPL.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ClusterSSH:&lt;/strong&gt; &lt;em&gt;ClusterSSH&lt;/em&gt; allows an administrator run to open a remote SSH session to a number of systems at once via a single terminal window, and run commands or alter configuration files on all the systems simultaneously.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;PCP:&lt;/strong&gt; &lt;em&gt;PCP&lt;/em&gt; is a tool designed to copy files in parallel to multiple nodes in a cluster or server farm.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;GEXEC:&lt;/strong&gt; &lt;u&gt;&lt;em&gt;GEXEC&lt;/em&gt;&lt;/u&gt; is a tool that is somewhat complimentary to PCP that provides a parallel remote command execution system for large clusters.&amp;nbsp; The system includes a client and server, as well as a library that allows integration into third-party applications.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;PSSH:&lt;/strong&gt; &lt;em&gt;PSSH&lt;/em&gt; is distributed as a suite of utilities that perform many of same functions as ClusterSSH, PCP and GEXEC.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pssh&lt;/strong&gt; &amp;ndash; Parallel SSH, similar to ClusterSSH or GEXEC.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pscp&lt;/strong&gt; &amp;ndash; Parallel SCP, allows one to copy files to multiples nodes in manner a similar to PCP.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;prsync&lt;/strong&gt; &amp;ndash; The &lt;em&gt;prsync&lt;/em&gt; utility automates running rsync on multiple nodes in parallel, essentially another method of copying files or entire directory trees to a number of remote nodes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pnuke&lt;/strong&gt; &amp;ndash; The &lt;em&gt;pnuke&lt;/em&gt; command can be used to kill a number of processes running on multiple nodes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pslurp &lt;/strong&gt;&amp;ndash; The &lt;em&gt;pslurp&lt;/em&gt; utility is similar to the pscp utility, except that it is designed to copy files from a set of hosts.&amp;nbsp; This allows one to copy, for example, a log file that exists on multiple nodes, to a local directory tree.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;IV. Cfengine:&lt;/strong&gt; &lt;em&gt;&amp;ldquo;Cfengine, or the configuration engine is an autonomous agent and a middle to high level policy language and agent for building expert systems to administrate and configure large computer networks. Cfengine is designed to be a part of a computer immune system. It is ideal for cluster management and has been adopted for use all over the world in small and huge organizations alike.&amp;rdquo;&lt;/em&gt; &lt;em&gt;Cfengine&lt;/em&gt; consists of a userspace application called &lt;em&gt;cfagent&lt;/em&gt; and a host of other utilities that reads and parses a series of text configuration files and performs tasks on the host system based on the configuration.&amp;nbsp; The configuration syntax of &lt;em&gt;Cfengine&lt;/em&gt; is actually a high-level policy language that allows &lt;em&gt;cfagent&lt;/em&gt; to test the system&amp;rsquo;s configuration and perform corrective actions based on those tests.&amp;nbsp; For example, &lt;em&gt;cfagent&lt;/em&gt; may test to assure that a certain line of text exists within a configuration file, and if not it will add the text and restart the associated service.&amp;nbsp; The &lt;em&gt;cfagent&lt;/em&gt; utility is typically run on an hourly (or so) basis via &lt;em&gt;cron&lt;/em&gt;, a task-scheduling application.&amp;nbsp; This assures that mis-configurations will be found and corrected within a reasonable time frame. &lt;/p&gt;&lt;p&gt;The policy simply tests to make sure an entry for user &lt;em&gt;root&lt;/em&gt; exists within the &lt;em&gt;/etc/shadow&lt;/em&gt; file, and also checks to make sure the password matches.&amp;nbsp; This assures that all systems have the same password for the root user. The configuration of Cfengine can become very complex, which would likely not surprise those who have had experience with the tool.&amp;nbsp; The structure of the policy language eases this dilemma a bit, as platform definitions can be made and inherited by other blocks to help determine the appropriate action to take. The configuration is essentially a high-level policy language, and thus the various tests must be built and scripted manually.&amp;nbsp; The toolset is, however, enormously powerful when implemented correctly.&amp;nbsp; But as with many open-source technologies, the learning curve can be quite steep, and one must study the complexities of the tool before it can be competently used in a production environment. A version of Cfengine has been ported to the Windows platform to run under &lt;em&gt;Cygwin&lt;/em&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;editfiles:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # We have different passwords for lab systems and workstations.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux.shadowpasswords.md5passwords.(!workstations)::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;{ /etc/shadow&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLine &amp;quot;root:$1$383J33RL$ XXXXXXXXXXXXXXXXXXXXXX:12984:0:99999:7:::&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoLineMatching &amp;#39;^root:.*&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocateLineMatching &amp;#39;^root:.*&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReplaceLineWith &amp;ldquo;root:$1$383J33RL$ XXXXXXXXXXXXXXXXXXXXXX:12984:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux.shadowpasswords.md5passwords.workstations::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;{ /etc/shadow&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLine &amp;ldquo;root:$1$gcGWA0qS$YYYYYYYYYYYYYYYYYYYYYY:13027:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoLineMatching &amp;lsquo;^root:.*&amp;rsquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocateLineMatching &amp;lsquo;^root:.*&amp;rsquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReplaceLineWith &amp;ldquo;root:$1$gcGWA0qS$YYYYYYYYYYYYYYYYYYYYYY:13027:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;&lt;/span&gt;&lt;strong&gt;Example Cfengine policy to check the password for the root user.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;The following example Cfengine policy checks for the existence and the contents of the &lt;em&gt;/etc/cron.d/yast2-online-update&lt;/em&gt; file for SUSE systems.&amp;nbsp; If necessary it creates the file, and writes a &lt;em&gt;cron&lt;/em&gt; entry into the file to schedule a daily check for updates and patches.&amp;nbsp; Upon completion, it then runs the command &amp;ldquo;/etc/init.d/cron restart&amp;rdquo; as defined in the &lt;em&gt;suse.restartcrond&lt;/em&gt; definition.&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;editfiles:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suse::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /etc/cron.d/yast2-online-update&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefineClasses &amp;quot;restartcrond&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Umask 077&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AutoCreate&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BeginGroupIfNoLineMatching &amp;quot;^.*[\s\t]+root[\s\t]+online_update&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoSuchLine &amp;quot;30 3 * * * root online_update&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndGroup&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;shellcommands:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suse.restartcrond::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;/etc/init.d/cron restart&amp;quot;&lt;/span&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Example Cfengine policy to assure that SUSE systems check for updates daily.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;And that does it for the &amp;ldquo;Systems Configuration&amp;rdquo; section As always, please let us know if you found the above mentioned useful and any comments/feedback you may have. Thank you for tuning into Port25.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3979" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Software+Testing/default.aspx">Software Testing</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Systems Manageability - Part 1:  Why Manageability Matters</title><link>http://port25.technet.com/archive/2007/03/21/systems-manageability-part-1-why-manageability-matters.aspx</link><pubDate>Wed, 21 Mar 2007 20:09:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3652</guid><dc:creator>kishi</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3652</wfw:commentRss><comments>http://port25.technet.com/archive/2007/03/21/systems-manageability-part-1-why-manageability-matters.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;Impetus&lt;/strong&gt;: This is the 19th year I have spent in the Information Technology business, out of which more than 15 were spent designing and implementing IT environments of various scopes, platforms and sizes. Among several similarities and differences between each implementation, a few constants always emerged, and my favorite of all: &lt;strong&gt;Systems Manageability&lt;/strong&gt;. This question always got asked during every high-profile design review meeting. You know the meeting I&amp;rsquo;m talking about, the one with the CIO and the IT Director are sitting across the table and asking how we&amp;rsquo;re planning on managing the environment. The main concern you could see in everyone&amp;rsquo;s expression was &amp;ldquo;what sort of manageability needs to be built around for operations and support ?&amp;rdquo;. So why does manageability matter ? Let&amp;rsquo;s start with what people imagine, when they think of Systems Manageability. It means different things to people in different roles: the Infrastructure folks imagine uptime and redundancy, the Developers imagine reliability, the Business Managers imagine efficiency. But the answer is so overwhelmingly obvious. Had it not been for systems management toolsets, apps and frameworks, ITPro&amp;rsquo;s and Admins would be worried sick about everything from uptime to reliability to scalability. So yes, manageability matters, a lot, because it&amp;rsquo;s the knowledge that &amp;ldquo;all&amp;rsquo;s well and running smoothly&amp;rdquo; that matters to everyone from a CIO to a Developer to a IT Admin. &amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;Importance&lt;/strong&gt;: Now that we have established the impetus behind why Systems Manageability matters, we should now address the importance tied to it, such as:&lt;/font&gt;&lt;/p&gt;&lt;ol start="1" type="a"&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;Increasingly complex and heterogeneous environments need increased attention:&lt;/em&gt; Pick any environment of your choice, whether it&amp;rsquo;s where you work or the one you hear about the most. It comes with its own share of challenges and oddities. What differentiates one environment from the other is the manner in which it is &amp;ldquo;run&amp;rdquo;. The more complex you hardware, software or network stack, the greater is the manageability tied to it. This means that with every component you add to your existing system, you&amp;rsquo;re only increasing the complexity even further. So is that a bad thing &amp;ndash; NO. Because it&amp;rsquo;s the environment that should be designed with &amp;ldquo;adaptation&amp;rdquo; in mind and not the other way round. Thus, having a complex environment simply translates to keeping an eye on more things. Systems Manageability plays a key role in this scenario&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;Infrastructure sits at the &amp;ldquo;core&amp;rdquo; of IT:&lt;/em&gt; Here&amp;rsquo;s an exercise for any of you that may be interested &amp;ndash; the next time you see or hear a technology professional being interviewed about a certain &amp;ldquo;application&amp;rdquo; or tool that they&amp;rsquo;ve developed &amp;ndash; try to imagine an entire infrastructure that needs to support and run that &amp;ldquo;tool&amp;rdquo; or &amp;ldquo;App&amp;rdquo;. The exercise will make you think about what&amp;rsquo;s going on in the mind of an IT Admin who is responsible for running your environment implementation and why Infrastructure is a big deal. Systems Manageability plays a key role in this scenario&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;End-user productivity has a directly proportional relationship to Performance Tuning and Optimization:&lt;/em&gt; Growth comes in spurts and bursts and never an even pace as we all know. This means, various pieces of your hardware, software, toolsets are implemented in various growths and phases. Simply put, growth does not follow a pre-chartered course and timeline. This makes ongoing performance tuning and optimization a necessity. &amp;nbsp;And it has its benefits - it allows you to see the app or toolkit from the eyes of the people who made it. It also gives you the &amp;ldquo;know how&amp;rdquo; to make the specific changes in thresholds and values that could mean a difference of night and day, in terms of efficiency. Systems Manageability plays a key role in this scenario&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;Striking a balance between Manageability and Flexibility is tough:&lt;/em&gt; Identity Management and Security issues are now a mainstream topic of discussion and more and more attention is being paid to system security, access and authentication framework. The single reason for putting these in place to ensure that &amp;ldquo;you are who you say you are&amp;rdquo;. On the flip side, overly managed and restrictive environments can limit the flexibility of what an end-user can do. That&amp;rsquo;s why it is always tough to strike a balance between a system that is secure / well managed and one which seems more &amp;ldquo;seamless&amp;rdquo;. Systems Manageability plays a key role in this scenario &lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;In the next seven blogs or so to follow, you will get a detailed breakdown on the Systems Manageability project that we have completed in the lab. We will be covering the Project Methodology and Project Ontology in my next blog. As always, send us your comments and feedback and THANK YOU for tuning into Port25.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3652" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Software+Testing/default.aspx">Software Testing</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item></channel></rss>