CentOS 4.x and OMSA 6.1 – Update breaks IPMI
Just recently I upgraded a Centos 4 machine which broke OMSA, this post helped me fix it.
Archive for the ‘Linux’ Category.
Just recently I upgraded a Centos 4 machine which broke OMSA, this post helped me fix it.
Every so often I need a copy of one or all of these on a new machine. I tend to normally use RPM based distros and always have issues trying to find RPMS of these packages. As a result I’ve packaged them up and put them in my svn repo.
Feel free to checkout that directory, it includes a readme of how to build them for a system I’ve yet to need them on. replace the fc7 or el5 with something appropriate for your distribution.
Direct download links:
Redhat/Centos 5:
Fedora 7:
I’ve had troubles with vmware on redhat/fedora in the past. (See here or here) But I’ve now found a one stop solution to putting VMware on all things RedHat or Fedora. Follow the instructions in this VMware forum post. This has worked for me with VMware Server on Fedora 6 and 7 and also VMware Workstation 6 on Fedora 7. Thanks Petr!
I’ve just discovered you can switch selinux into Permissive mode whilst the machine is running
This shows that we are currently enforcing:
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
To switch into permissive mood:
# setenforce Permissive
And another sestatus shows the change
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
I’ve a couple of machines running Centos 5 on Via Epia motherboards.
Sadly kernel versions up to and including 2.6.18 dont ship with the required vt1211 kernel module. This means that both Centos and Redhat Enterprise 5 lack the module required to gather sensors data. Because it is a bit of a chore to patch the kernel source and compile the driver any I compile I’ll keep here.
Documenting the use of this module is beyond the scope of this post, for information regarding that please see the home page for lm_sensors.
Many thanks to Lars Ekman for writing and maintaining this module!
Just needed to auth a Redhat (actually Centos) 4 update 4 machine from an Active Directory server, thought I ought to make a note for future reference
It is worth gathering some information before you start, you will need the follow:
AD Domain, in the example I use HILDEBRANDTECH
Domain Controllers, in the example i use win23kent.hildebrandtechnology.local
ADS Realm, mine was HILDEBRANDTECHNOLOGY.LOCAL
It seems that for all of this case is important. Thanks Microsoft.
Other things to watch for are:
Because I was using RedHat Enterprise I had the luxury of using the authconfig. Login as root or su and run authconfig from the command line, you will be presented with some options for where the machine should source user and authentication data from. You need to tick the ‘Use Winbind’ option in both columns, after making my selections mine looked like this:
After making the correct settings, hit next. On the next screen you need to enter all the information you gathered before starting. Additionally I chose /bin/bash as the template shell:
After typing all the above in hit Ok. You can choose ‘Join Domain’ at this point but I prefer to do that manually so you can ensure it was successful.
Once you are at your prompt again, run the following:
[root@adc-a04 ~]# net ads join -U administrator administrator's password: Using short domain name -- HILDEBRANDTECH Joined 'ADC-A04' to realm 'HILDEBRANDTECHNOLOGY.LOCAL' [root@adc-a04 ~]#
If you see a message similar to the above your machine should now be joined to the domain.
If you now run ‘getent passwd’ you should see some extra users are displayed, the ones gathered from the AD. An example of one is shown below.
HILDEBRANDTECH\robin:*:16777223:16777216:Robin Kearney:/home/HILDEBRANDTECH/robin:/bin/bash
You should now be able to login as ‘HILDEBRANDTECH\robin’. By default winbind requires the domain to be entered as part of the username. If your linux machine is only going to authenticate from a single AD realm you can make a small change to smb.conf to avoid this.
In /etc/samba/smb.conf look for the line which reads:
winbind use default domain = no
And change the no to yes. Then issue a ’service winbind restart’ and re-run your ‘getent passwd’ you should notice the domain component of all the usernames has gone. Now you can simple use ‘robin’ to login.
Your users should now be able to login. There is a slight problem in that they will have no home accounts, pam can help with this though.
If you edit /etc/pam.d/login and add the following as the last line:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Pam will auto create the user a home account when they first login.
There is one minor issue with the default winbind settings for home accounts, by default winbind is configured set AD users’ home accounts to /home/DOMAIN/USER this is fine in our setup but pam refuses to create the DOMAIN directory, so none of the home accounts will get created.
You can fix this in one of two ways. First, manually create the /home/DOMAIN for each of your AD domains, this will likely be just the one. Or and this might suit better, change the structure of home accounts for AD users. This is done in /etc/samba/smb.conf. You need to add or edit a line like the following:
template homedir = /home/%U
The default here is %D/%U. %D gets expanded to the DOMAIN. The official samba documentation for this setting is here
Hopefully after all that you can still login, and your AD users can too.
I’ve just upgraded a Fedora Core 6 machine. The update installed a new kernel, version 2.6.19.
After rebooting with the new kernel and doing step 5 from this post (note: the correct path is now /lib/modules/2.6.19-1.2895.fc6/build/include/linux/config.h). I found that I got the error shown below:
Building the vmnet module. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config3/vmnet-only' make -C /lib/modules/2.6.19-1.2895.fc6/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.19-1.2895.fc6-i686' CC [M] /tmp/vmware-config3/vmnet-only/driver.o CC [M] /tmp/vmware-config3/vmnet-only/hub.o CC [M] /tmp/vmware-config3/vmnet-only/userif.o /tmp/vmware-config3/vmnet-only/userif.c: In function ‘VNetCopyDatagramToUser’: /tmp/vmware-config3/vmnet-only/userif.c:629: error: ‘CHECKSUM_HW’ undeclared (first use in this function) /tmp/vmware-config3/vmnet-only/userif.c:629: error: (Each undeclared identifier is reported only once /tmp/vmware-config3/vmnet-only/userif.c:629: error: for each function it appears in.) make[2]: *** [/tmp/vmware-config3/vmnet-only/userif.o] Error 1 make[1]: *** [_module_/tmp/vmware-config3/vmnet-only] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.19-1.2895.fc6-i686' make: *** [vmnet.ko] Error 2 make: Leaving directory `/tmp/vmware-config3/vmnet-only' Unable to build the vmnet module.
I found the solution here, I’ve made my own patch which is available here. To apply this patch do the following (this assumes you have downloaded the patch into /tmp:
# cd /usr/lib/vmware/modules/source/ # cp vmnet.tar vmnet.tar.orig # tar xf vmnet.tar # patch -p0 < /tmp/vmnet-only-2.6.19.patch # tar cf vmnet.tar vmnet-only # vmware-config.pl
This should now complete ok
This little chestnut just caught me out. I’m trying to test some theories with maximum users and groups etc on linux using a ldap backend for authentication. I’ve run a little script which happily created me 65536 groups and 65536 users but when I use ‘getent group’ or ‘getent password’ it only seems to return 500 ldap entries.
It turns out the problem lies not with getent but with slapd limiting the returned results for any given query, the default is 500 (man 5 slapd.conf). The solution is to add ’sizelimit -1′ to slapd.conf, restart and now getent should return the correct answer.
I’ve just installed vmware on Fedora Core 6 without any hassles, this is how I did it.
[root@zaphod init.d]# chkconfig iptables off
touch /lib/modules/2.6.18-1.2869.fc6/build/include/linux/config.h
[root@zaphod ~]# vmware-config.pl
Making sure services for VMware Server are stopped.
Stopping VMware services:
Virtual machine monitor [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
Virtual ethernet [ OK ]
Configuring fallback GTK+ 2.4 libraries.
In which directory do you want to install the mime type icons?
[/usr/share/icons]
What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]
In which directory do you want to install the application's icon?
[/usr/share/pixmaps]
Trying to find a suitable vmmon module for your running kernel.
None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
Using compiler "/usr/bin/gcc". Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-1.2869.fc6/build/include]
Extracting the sources of the vmmon module.
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmmon-only'
make -C /lib/modules/2.6.18-1.2869.fc6/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
CC [M] /tmp/vmware-config1/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config1/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config1/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config1/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config1/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config1/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config1/vmmon-only/common/task.o
CC [M] /tmp/vmware-config1/vmmon-only/common/vmx86.o
CC [M] /tmp/vmware-config1/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/vmware-config1/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST
CC /tmp/vmware-config1/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-config1/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config1/vmmon-only'
The module loads perfectly in the running kernel.
Do you want networking for your virtual machines? (yes/no/help) [yes]
Configuring a bridged network for vmnet0.
The following bridged networks have been defined:
. vmnet0 is bridged to eth0
All your ethernet interfaces are already bridged.
Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] no
Do you want to be able to use host-only networking in your virtual machines?
[no] no
Extracting the sources of the vmnet module.
Building the vmnet module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmnet-only'
make -C /lib/modules/2.6.18-1.2869.fc6/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
CC [M] /tmp/vmware-config1/vmnet-only/driver.o
CC [M] /tmp/vmware-config1/vmnet-only/hub.o
CC [M] /tmp/vmware-config1/vmnet-only/userif.o
CC [M] /tmp/vmware-config1/vmnet-only/netif.o
CC [M] /tmp/vmware-config1/vmnet-only/bridge.o
CC [M] /tmp/vmware-config1/vmnet-only/procfs.o
CC [M] /tmp/vmware-config1/vmnet-only/smac_compat.o
SHIPPED /tmp/vmware-config1/vmnet-only/smac_linux.x386.o
LD [M] /tmp/vmware-config1/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST
WARNING: could not find /tmp/vmware-config1/vmnet-only/.smac_linux.x386.o.cmd for /tmp/vmware-config1/vmnet-only/smac_linux.x386.o
CC /tmp/vmware-config1/vmnet-only/vmnet.mod.o
LD [M] /tmp/vmware-config1/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config1/vmnet-only'
The module loads perfectly in the running kernel.
Please specify a port for remote console connections to use [902]
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
Configuring the VMware VmPerl Scripting API.
Building the VMware VmPerl Scripting API.
Using compiler "/usr/bin/gcc". Use environment variable CC to override.
Installing the VMware VmPerl Scripting API.
The installation of the VMware VmPerl Scripting API succeeded.
Generating SSL Server Certificate
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines]
The path "/var/lib/vmware/Virtual Machines" does not exist currently. This
program is going to create it, including needed parent directories. Is this
what you want? [yes]
Please enter your 20-character serial number.
Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel: XXXXX-XXXXX-XXXXX-XXXXX
Starting VMware services:
Virtual machine monitor [ OK ]
Virtual ethernet [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
The configuration of VMware Server 1.0.1 build-29996 for Linux for this running
kernel completed successfully.
[root@zaphod ~]#
I also installed the Web Management Interface, the steps involved were:
[root@zaphod vmware-mui-distrib]# ./vmware-install.pl Creating a new installer database using the tar3 format. You must read and accept the End User License Agreement to continue. Press enter to display it. VMWARE MASTER END USER LICENSE AGREEMENT Do you accept? (yes/no) yes Thank you. Installing the content of the package. In which directory do you want to install the binary files? [/usr/bin] What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc/rc.d] What is the directory that contains the init scripts? [/etc/rc.d/init.d] In which directory do you want to install the VMware Management Interface files? [/usr/lib/vmware-mui] The path "/usr/lib/vmware-mui" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] In which directory would you like to install the documentation files? [/usr/lib/vmware-mui/doc] The path "/usr/lib/vmware-mui/doc" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] The installation of VMware Management Interface 1.0.1 build-29996 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-mui.pl". Before running VMware Management Interface for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config-mui.pl". Do you want this program to invoke the command for you now? [yes] Configuring httpd.conf to run Apache as: User: nobody and Group: nobody Set the number of minutes before a http session times out. (This is the length of time before someone connecting to VMware Management Interface will be logged out) [60] Generating SSL Server Certificate Starting httpd.vmware: [ OK ] The configuration of VMware Management Interface completed successfully. [root@zaphod vmware-mui-distrib]#
Both the web interface and vmware itself chkconfig themselves on so they should run ok at boot. I rebooted my machine now to check all was well.
I’ve moved this post into a page specifically about the SystemRescueCd which can be found here.