Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts
Ever since IBM has released Tivoli Endpoint Manager 9.0 on 8th March 2013, I've been keen to know about its new features. One of the most interesting feature of TEM 9.0 was, the Server component could now be installed on 64 bit Linux server ( for now only on RHEL6.x releases). This was the first biggest step to port the TEM Server from Windows to Linux, post IBM's BigFix acquisition in 2010.
Four major features of TEM 9.0:
• Extended support for deployment of agents to Solaris 11, Debian 6, and Ubuntu 12.04 in addition to previously released support for Mac OS X 10.8 and Windows 8 and Windows Server 2012.
• More flexible deployment options with the addition of support for Red Hat Enterprise Linux and DB2 as an IBM Endpoint Manager Server platform. Prior to this release, TEM server could be installed only on a Windows Server with MS-SQL database.
• Native encryption capabilities for server to client communication and additional security configuration options for managing Internet connected computers and mobile devices.
• New, simplified Representational State Transfer (REST) based application programming interfaces (APIs) and an easy-to-use command line interface.

Let's try out the first feature of TEM 9.0 release: Installing IBM Tivoli Endpoint Manager Server on Linux operating system (RHEL 6) with DB2 as the backend database.
Download http://software.bigfix.com/download/bes/90/ServerInstaller_9.0.649.0-rhel.tgz
Requirements for Installing TEM 9.0 on Linux OS:
• 32 bit compatibility libraries, use whatever version in in the iso's rpm folder.
• Must be previously installed on TEM linux server
• Server or Workgroup editions.
Steps to install TEM 9.0 on Linux:
Deploy RHEL 6.1 or higher as per the above requirement. Make sure that the required RPMs are also installed, if not the best way to install dependencies is using a YUM repository. Refer to this link to configure a local YUM repository from an ISO image or a mounted CD/DVD
Validate the required RPMs are installed by running the below command:
Once done you can start install DB2 10.1 on RHEL 6 system. The final step prior to installing DB2 or IEM 9.0 is to make sure that the name you assigned the server when you installed Linux is present in the /etc/hosts file. By default this will not be the case. You can use the following command line to fix this. Note that you should substitute the appropriate IP Address and hostname to reflect your system.
For example:
# echo “192.168.206.137 temdemo.tem.local” >>/etc/hosts
Note: this necessary step assumes that the IP address of the system will always remain the same. If the server is using DHCP assigned addresses this may not be the case so it is strongly advised that the server be set to use a statically assigned IP address and that address be the one in the /etc/hosts file. If you do not use a static address, you should verify that the current IP address of the system and what is in /etc/hosts matches or the IEM server may not be able to reach the database.
Installing DB2:
Installing db2 using the GUI tool is by far the easier approach as it will handle all the elements needed for a complete install and configuration. This does require that your Linux system have the appropriate desktop components installed. Run the DB2 prereqs util from the db2 installables directory:

Check for failed/error lines indicating missing packages or system requirements ... Here's a sample output of the db2prereqcheck util:

From the above screenshot, you can see that certain packages required for DB2 installation are missing, install them using yum. ( for example: #yum install sg3_utils sg_persist)
After installing the required packages, re-run the db2prereqcheck tool and confirm that all per-requisites have been met by the system.

To start the GUI install tool, from the <DB2 Edition> directory run:
# ./db2setup
This will bring up a java-based GUI installer. You can choose the “Install a Product” option from the menu of the installer, then click the button to "Install New" under the DB2 <Workgroup|Enterprise|Advanced Enterprise> Server Edition Version 10.1 section.
Note: Install in the default dir : /opt/ibm/db2/v10.1
In the UI select default values and enter the required user details. On successful installation you should land up on a screen like:

Once DB2 is installed, verify the installation by checking the install log files for any errors as shown below:

NOTE: TSAMP is another IBM product, used for HA and clustering of DB2. If this is not required, you may ignore this error.
To verify that the installation has completed successfully you can also check for the db2 processes by using the following command:
db2acd.
Once DB2 installation is done and verified, reboot the system and proceed the installation of TEM on RHEL.
Installing Tivoli Endpoint Manager 9.0 on RHEL6.x :
Download the TEM Linux 9.0 installables (installer) from this link: http://software.bigfix.com/download/bes/90/ServerInstaller_9.0.586.0-rhel.tgz . Untar the TEM Linux Server binaries and run the install.sh script. Enter the default values or custom values as per the requirement and proceed with the installation. Refer the Chapter 4 of IBM_Endpoint_Manager_Administrators_Guide for more detailed installation steps. After all values have been entered, you should be able to see the install progress as shown below:

Post install check the status of services:
Note: After installing TEM Server on a Linux system, you need to install the TEM console on a Windows machine. TEM console on a Linux system is not available.
Note: Also note that the current recommendation is that the Linux/DB2 version of IBM Endpoint Manager (a.k.a Tivoli Endpoint Manager or BigFix) only be used in production for deployments of 10,000 endpoints or fewer.
Note: Connect to the Linux TEM server using a TEM console of the same build level on a windows machine, if connection doesn't work, try adding port 52311 in the Linux server's firewall settings as shown below:

Troubleshooting:
If the install fails with error in creating database for TEM ... check for logs /var/log/BES*
If the error message is like :

Tech Links:
http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Ft0006066.html
Known issues in Tivoli Endpoint Manager 9.0
Client self assist - Technical Support Information for Tivoli Endpoint Manager Administrators
Four major features of TEM 9.0:
• Extended support for deployment of agents to Solaris 11, Debian 6, and Ubuntu 12.04 in addition to previously released support for Mac OS X 10.8 and Windows 8 and Windows Server 2012.
• More flexible deployment options with the addition of support for Red Hat Enterprise Linux and DB2 as an IBM Endpoint Manager Server platform. Prior to this release, TEM server could be installed only on a Windows Server with MS-SQL database.
• Native encryption capabilities for server to client communication and additional security configuration options for managing Internet connected computers and mobile devices.
• New, simplified Representational State Transfer (REST) based application programming interfaces (APIs) and an easy-to-use command line interface.

Let's try out the first feature of TEM 9.0 release: Installing IBM Tivoli Endpoint Manager Server on Linux operating system (RHEL 6) with DB2 as the backend database.
Download http://software.bigfix.com/download/bes/90/ServerInstaller_9.0.649.0-rhel.tgz
Requirements for Installing TEM 9.0 on Linux OS:
• 32 bit compatibility libraries, use whatever version in in the iso's rpm folder.
• audit-libs-2.2-2.el6.i686.rpm
• libselinux-2.0.94-5.3.el6.i686.rpm
• db4-4.7.25-17.el6.i686.rpm
• cracklib-2.8.9-3.3.i386.rpm
• libaio-xxx.rpm
• pam-1.1.1-8.el6.i686.rpm
• cyrus-sasl-lib-2.1.23-8.el6.i686.rpm
• libstdc++
• compat-libstdc++-33
• libselinux-2.0.94-5.3.el6.i686.rpm
• db4-4.7.25-17.el6.i686.rpm
• cracklib-2.8.9-3.3.i386.rpm
• libaio-xxx.rpm
• pam-1.1.1-8.el6.i686.rpm
• cyrus-sasl-lib-2.1.23-8.el6.i686.rpm
• libstdc++
• compat-libstdc++-33
• Must be previously installed on TEM linux server
• Server or Workgroup editions.
Steps to install TEM 9.0 on Linux:
Deploy RHEL 6.1 or higher as per the above requirement. Make sure that the required RPMs are also installed, if not the best way to install dependencies is using a YUM repository. Refer to this link to configure a local YUM repository from an ISO image or a mounted CD/DVD
Validate the required RPMs are installed by running the below command:
#yum install audit-libs.i686 libselinux.i686 cracklib.i686 libaio compat-libstdc++-33 pam.i686 libstdc++.i686 cyrus-sasl-lib.i686
Output should be like :[root@localhost Packages]# yum install audit-libs.i686 libselinux.i686 cracklib.i686 libaio compat-libstdc++-33 pam.i686 libstdc++.i686 cyrus-sasl-lib.i686
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Package audit-libs-2.1-5.el6.i686 already installed and latest version
Package libselinux-2.0.94-5.el6.i686 already installed and latest version
Package cracklib-2.8.16-4.el6.i686 already installed and latest version
Package libaio-0.3.107-10.el6.x86_64 already installed and latest version
Package compat-libstdc++-33-3.2.3-69.el6.x86_64 already installed and latest version
Package pam-1.1.1-8.el6.i686 already installed and latest version
Package libstdc++-4.4.5-6.el6.i686 already installed and latest version
Package cyrus-sasl-lib-2.1.23-8.el6.i686 already installed and latest version
Nothing to do
Note: Use only 32 bit compatibility libraries - without x86_64 in the file name.Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Package audit-libs-2.1-5.el6.i686 already installed and latest version
Package libselinux-2.0.94-5.el6.i686 already installed and latest version
Package cracklib-2.8.16-4.el6.i686 already installed and latest version
Package libaio-0.3.107-10.el6.x86_64 already installed and latest version
Package compat-libstdc++-33-3.2.3-69.el6.x86_64 already installed and latest version
Package pam-1.1.1-8.el6.i686 already installed and latest version
Package libstdc++-4.4.5-6.el6.i686 already installed and latest version
Package cyrus-sasl-lib-2.1.23-8.el6.i686 already installed and latest version
Nothing to do
Once done you can start install DB2 10.1 on RHEL 6 system. The final step prior to installing DB2 or IEM 9.0 is to make sure that the name you assigned the server when you installed Linux is present in the /etc/hosts file. By default this will not be the case. You can use the following command line to fix this. Note that you should substitute the appropriate IP Address and hostname to reflect your system.
For example:
# echo “192.168.206.137 temdemo.tem.local” >>/etc/hosts
Note: this necessary step assumes that the IP address of the system will always remain the same. If the server is using DHCP assigned addresses this may not be the case so it is strongly advised that the server be set to use a statically assigned IP address and that address be the one in the /etc/hosts file. If you do not use a static address, you should verify that the current IP address of the system and what is in /etc/hosts matches or the IEM server may not be able to reach the database.
Installing DB2:
Installing db2 using the GUI tool is by far the easier approach as it will handle all the elements needed for a complete install and configuration. This does require that your Linux system have the appropriate desktop components installed. Run the DB2 prereqs util from the db2 installables directory:

Check for failed/error lines indicating missing packages or system requirements ... Here's a sample output of the db2prereqcheck util:

From the above screenshot, you can see that certain packages required for DB2 installation are missing, install them using yum. ( for example: #yum install sg3_utils sg_persist)
After installing the required packages, re-run the db2prereqcheck tool and confirm that all per-requisites have been met by the system.

To start the GUI install tool, from the <DB2 Edition> directory run:
# ./db2setup
This will bring up a java-based GUI installer. You can choose the “Install a Product” option from the menu of the installer, then click the button to "Install New" under the DB2 <Workgroup|Enterprise|Advanced Enterprise> Server Edition Version 10.1 section.
Note: Install in the default dir : /opt/ibm/db2/v10.1
In the UI select default values and enter the required user details. On successful installation you should land up on a screen like:

Once DB2 is installed, verify the installation by checking the install log files for any errors as shown below:

NOTE: TSAMP is another IBM product, used for HA and clustering of DB2. If this is not required, you may ignore this error.
To verify that the installation has completed successfully you can also check for the db2 processes by using the following command:
# ps -ef | grep –I db2
You should see running processes listed for: db2dasrrm, db2wdog, db2sysc, db2ckpwd, db2vend,db2acd.
Once DB2 installation is done and verified, reboot the system and proceed the installation of TEM on RHEL.
Installing Tivoli Endpoint Manager 9.0 on RHEL6.x :
Download the TEM Linux 9.0 installables (installer) from this link: http://software.bigfix.com/download/bes/90/ServerInstaller_9.0.586.0-rhel.tgz . Untar the TEM Linux Server binaries and run the install.sh script. Enter the default values or custom values as per the requirement and proceed with the installation. Refer the Chapter 4 of IBM_Endpoint_Manager_Administrators_Guide for more detailed installation steps. After all values have been entered, you should be able to see the install progress as shown below:

Post install check the status of services:
/etc/init.d/besserver status
/etc/init.d/filldb status
/etc/init.d/gatherdb status
/etc/init.d/besclient status
/etc/init.d/beswebreports status
/etc/init.d/filldb status
/etc/init.d/gatherdb status
/etc/init.d/besclient status
/etc/init.d/beswebreports status
Note: After installing TEM Server on a Linux system, you need to install the TEM console on a Windows machine. TEM console on a Linux system is not available.
Note: Also note that the current recommendation is that the Linux/DB2 version of IBM Endpoint Manager (a.k.a Tivoli Endpoint Manager or BigFix) only be used in production for deployments of 10,000 endpoints or fewer.
Note: Connect to the Linux TEM server using a TEM console of the same build level on a windows machine, if connection doesn't work, try adding port 52311 in the Linux server's firewall settings as shown below:

Troubleshooting:
If the install fails with error in creating database for TEM ... check for logs /var/log/BES*
If the error message is like :
Mon, 01 Apr 2013 07:33:29 -0700 -- [IBM][CLI Driver] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.253.135". Communication function detecting the error: "selectForConnectTimeout". Protocol specific error code(s): "115", "*", "*". SQLSTATE=08001
(08001:4294937215)
Mon, 01 Apr 2013 07:33:29 -0700 -- There was an error connecting to the database. Check that you have sufficient database privileges:
Database Error: [IBM][CLI Driver] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.253.135". Communication function detecting the error: "selectForConnectTimeout". Protocol specific error code(s): "115", "*", "*". SQLSTATE=08001
(08001:4294937215)
Check the SVCENAME parameter for the respective instance and ensure that this value is not empty.(08001:4294937215)
Mon, 01 Apr 2013 07:33:29 -0700 -- There was an error connecting to the database. Check that you have sufficient database privileges:
Database Error: [IBM][CLI Driver] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.253.135". Communication function detecting the error: "selectForConnectTimeout". Protocol specific error code(s): "115", "*", "*". SQLSTATE=08001
(08001:4294937215)

Tech Links:
http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Ft0006066.html
Known issues in Tivoli Endpoint Manager 9.0
Client self assist - Technical Support Information for Tivoli Endpoint Manager Administrators

Every time I work on YUM, I can visualize this picture, Yamdoot - the messenger of death. Haha...
The Yellowdog Updater, Modified (YUM) is an open-source command-line package-management utility for RPM-compatible Linux operating systems. Many times a user want's to install a particular version of RPM or upgrade an existing RPM installation, but this may not be as simple as just installing a .rpm file. This may require resolving the dependencies of a RPM and then deploying the actual RPM. Inorder to avoid this mess, one can use YUM tool/command.
Lot of RPM packages come bundled with the CD/DVD or ISO image. We can point the yum tool to the mounted CD/DVD/ISO image and let it figure out the required dependencies and installation of required RPMs.
Here's and example of dependencies:
[root@localhost Packages]# yum install compat-libstdc++-33 pam.i686
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package pam.i686 0:1.1.1-8.el6 will be installed
--> Processing Dependency: libcrack.so.2 for package: pam-1.1.1-8.el6.i686
--> Processing Dependency: libaudit.so.1 for package: pam-1.1.1-8.el6.i686
--> Processing Dependency: libselinux.so.1 for package: pam-1.1.1-8.el6.i686
--> Running transaction check
---> Package audit-libs.i686 0:2.1-5.el6 will be installed
---> Package cracklib.i686 0:2.8.16-4.el6 will be installed
---> Package libselinux.i686 0:2.0.94-5.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
compat-libstdc++-33 x86_64 3.2.3-69.el6 cd 183 k
pam i686 1.1.1-8.el6 cd 659 k
Installing for dependencies:
audit-libs i686 2.1-5.el6 cd 58 k
cracklib i686 2.8.16-4.el6 cd 70 k
libselinux i686 2.0.94-5.el6 cd 107 k
Transaction Summary
================================================================================
Install 5 Package(s)
Total download size: 1.1 M
Installed size: 3.3 M
Is this ok [y/N]:
As you can see, inorder to install compat-libstdc++-33 and pam.i686, we need to first install audit-libs, cracklib and libselinux RPMs. This dependency resolution is done by yum to based on the metadata of the RPM to be installed.Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package pam.i686 0:1.1.1-8.el6 will be installed
--> Processing Dependency: libcrack.so.2 for package: pam-1.1.1-8.el6.i686
--> Processing Dependency: libaudit.so.1 for package: pam-1.1.1-8.el6.i686
--> Processing Dependency: libselinux.so.1 for package: pam-1.1.1-8.el6.i686
--> Running transaction check
---> Package audit-libs.i686 0:2.1-5.el6 will be installed
---> Package cracklib.i686 0:2.8.16-4.el6 will be installed
---> Package libselinux.i686 0:2.0.94-5.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
compat-libstdc++-33 x86_64 3.2.3-69.el6 cd 183 k
pam i686 1.1.1-8.el6 cd 659 k
Installing for dependencies:
audit-libs i686 2.1-5.el6 cd 58 k
cracklib i686 2.8.16-4.el6 cd 70 k
libselinux i686 2.0.94-5.el6 cd 107 k
Transaction Summary
================================================================================
Install 5 Package(s)
Total download size: 1.1 M
Installed size: 3.3 M
Is this ok [y/N]:
Configuring YUM:
First make sure that the installation media is available. If you installed from a CD/DVD then reinserting the media in the drive should result in it being mounted automatically.
If you are using vmware or other virtualization technology, mounting the media or iso should have the same effect. If it does not, it will be necessary to manually mount the media. You should be able to use a command like:
# mount –ro /dev/sr0 /mount
The contents of the CD will then be available in the /mount directory.To verify the location of the installation media with the device mounted, run the command
# df -k
You should see the media in the list of file systems, e.g./dev/sr0 3516418 3516418 0 100% /media/RHEL_6.1 x86_64 Disc 1
To allow yum to use the media as a repository for installation you will need to add configuration info to yum pointing to the install media. Use the following command:
# vi /etc/yum.repos.d/cd.repo
Now type in the following text:[cd]
name=CD
baseurl=file:"///media/RHEL_6.1 x86_64 Disc 1"
enabled=1
gpgcheck=0
command line prompt type:
# yum repolist
You should see an entry for repo id "cd" in the output.Now cd to the packages directory and install the required package/RPM.
# cd "/media/RHEL_6.1 x86_64 Disc 1/Packages"
# yum install compat-libstdc++-33 pam.i686
# yum install compat-libstdc++-33 pam.i686
Yum will perform a pre-requisites check and ask you if you want to proceed with the install of the package and any prerequisites. You should enter y to continue. When the install has complete you will get a message to that effect.
Excellent Linux video commercial which clearly shows how good things in the world are rejected , refused and laughed at... until it wins.Last statement of this video is really interesting and worth reading.
The whole idea is Microsoft always wanted to be in the driver's seat and creating its monopoly across the globe in the computer market. However we have some statements made by Bill Gates , Gartner Group and other competitors ,against the ability of Linux to excel in every field of computer.
Soon we have another criticism or rather a discouraging statement ...
"Linux isn't going away. Linux is a serious competitor. We will rise to this challenge." - Steve Ballmer [ 2003 ]
The whole idea is Microsoft always wanted to be in the driver's seat and creating its monopoly across the globe in the computer market. However we have some statements made by Bill Gates , Gartner Group and other competitors ,against the ability of Linux to excel in every field of computer.
Gartner clearly ignored the real power of Linux.
"Linux is the HYPE DU JOUR." - Gartner Group [ 1999 ]
Soon we have another criticism or rather a discouraging statement ...
"We think of Linux as a competitor in the student and hobbyist market.
But I really don't think in the commercial market we'll see it in any significant way." - Bill Gates [ 2001 ]
This seemed to be like the current marketing strategy - Make comments which will hide the real ability of a product.Finally Steve Ballmer, Microsoft CEO accepted with the below comments :
"Linux isn't going away. Linux is a serious competitor. We will rise to this challenge." - Steve Ballmer [ 2003 ]
If you have iso images on your harddisk or mass storage and want to use it just like a cd/dvd then you can do it by using a virtual cdrom in ubuntu.
Virtual cdrom is used to play/read files from a cd/dvd image (iso in this case) without actually writing it over a physical cd/dvd.
You need to install gmount-iso on ubuntu inorder to create a virtual cdrom.
Techies can install it using the command : sudo apt-get install gmountiso
on your terminal , while others can install it by searching 'gmountiso' on your Synaptic Package Manager application .To run the package manager , goto System -> Administration -> Synaptic Package Manager
Once installed you can start the application from "Applications -> System Tools"

Now just select the iso image and a valid mount point (directory must exist) and then click Mount button. Thats it ... now you can use the contents from the iso image just like you read it from a physical cd/dvd.
If you want to do all this without installing gmountiso app ... you can run the following command from your terminal :
sudo mount -o loop -t iso9660 <full-path-to-iso> <mountpoint-directory-path>
for eg :
sudo mount -o loop -t iso9660 /home/foo.iso /media
Virtual cdrom is used to play/read files from a cd/dvd image (iso in this case) without actually writing it over a physical cd/dvd.
You need to install gmount-iso on ubuntu inorder to create a virtual cdrom.
Techies can install it using the command : sudo apt-get install gmountiso
on your terminal , while others can install it by searching 'gmountiso' on your Synaptic Package Manager application .To run the package manager , goto System -> Administration -> Synaptic Package Manager
Once installed you can start the application from "Applications -> System Tools"

Now just select the iso image and a valid mount point (directory must exist) and then click Mount button. Thats it ... now you can use the contents from the iso image just like you read it from a physical cd/dvd.
If you want to do all this without installing gmountiso app ... you can run the following command from your terminal :
sudo mount -o loop -t iso9660 <full-path-to-iso> <mountpoint-directory-path>
for eg :
sudo mount -o loop -t iso9660 /home/foo.iso /media