Reaching out to others! Free & Open Source Software, Kannada, L10n, L18n Data Science, Cloud Computing & more…

Updating DELL Server firmware on Redhat based Linux Servers

It has become quite simple to upgrade the Servers firmwares if you’re running Linux on them.

Find the repos from Linux portal of Dell.
# set up repos
wget -q -O – https://linux.dell.com/repo/community/bootstrap.cgi | bash
wget -q -O – https://linux.dell.com/repo/firmware/bootstrap.cgi | bash

Install the firmware tools

yum -y install firmware-addon-dell

And here you go. Update BIOS updates/firmwares easily.

# install BIOS update
yum -y install $(bootstrap_firmware)
update_firmware

Tags: , , , ,

First look at Fedora11 Release

Fedora 11 is out with lot of new updates. Here is a first glance at things that I liked.
Fedora Complete Feature list is available here: https://www.fedoraproject.org/wiki/Releases/11/FeatureList

fedora11

Cool Image isn’t it?

first_look_fedora11

Here I’m inside LiveCD session

firefox_bera

Firefox 3.5 beta4 is now available for better browsing experience

kannada_outof_box_fedora11

Kannada works out-of-box. No font installation required and Lohit Kannada font looks lot better now.

firewall_config_fedora11

Firewall Management. You might have found it last release itself. Just for a reference

imchooser_fedora11

Input method? No installation required again..

IBus input method system – ibus has been rewritten in C and is the new default input method for Asian languages. It allows input methods to be added and removed dynamically during a desktop session. It supports Chinese (pinyin, libchewing, tables), Indic (m17n), Japanese (anthy), Korean (libhangul), and more. There are still some features missing compared to scim so testing is strongly encouraged and reports of problems and suggestions for improvements welcome.

imchooser

Configure Input method and you will be ready to start typing in any language

choose_langauge_to_input

You can see that I have configured KGP and KN_ITRANS input methods for Kannada. You get this menu once you press Ctrl+Space (You can customize this to meet your requirements, check the previous image)

type_kannnada

There I go, I started typing in Kannada in just few seconds

Few other features to note:

Automatic font and mime-type installation, Volume Control integrated with Pulse-Audio for better experience, Intel, ATI and Nvidia kernel modsetting for speeding up graphical boot, Fingerprint device support enhanced, Presto for fast OS/Software upgrades via yum, ext4 filesystem, Virt Improved Console, MinGW (Windows cross compiler) for cross platform developers to build windows apps without having to use Windows.

Good Job Fedora!

Troubleshooting RPM issues

While working on Redhat based operating systems, its common to face few issues related to RPM. Rpm database gets corrupted. It might segfault, it might cause lots of issues while installing or updating packages.

First step to resolve RPM related issues is to rebuild the rpm database. This can be done by removing the __db files from /var/lib/rpm folder and then running the following command in console as root.

#rpm --rebuilddb

At times, this might not work and you might require some more verbose information. You can get it by adding -vv switch to above command as follows:

#rpm -vv --rebuilddb

Here is an example, I was not able to understand which package wass giving the following error.

#rpm --rebuilddb
error: rpmdbNextIterator: skipping h#909189228 blob size(11): BAD, 8 + 16 * il(1882857574) + dl(1769480289)

To identify the package, I had to run the same command in verbose mode to understand which package was resulting this error.

Following is the extract from the output which displayed the corrupted package.

adding “pure-ftpd” to Name index.
D: adding 46 entries to Basenames index.
D: adding “System Environment/Daemons” to Group index.
D: adding 17 entries to Requirename index.
D: adding 4 entries to Providename index.
D: adding 7 entries to Conflictname index.
D: adding 7 entries to Dirnames index.
D: adding 17 entries to Requireversion index.
D: adding 4 entries to Provideversion index.
D: adding 1 entries to Installtid index.
D: adding 1 entries to Sigmd5 index.
D: adding “3f19ec3bbf01667e0e7458df2c6d68f2765f91ba” to Sha1header index.
D: adding 46 entries to Filemd5s index.
error: rpmdbNextIterator: skipping h#909189228 blob size(11): BAD, 8 + 16 * il(1882857574) + dl(1769480289)
Killed

After looking at this, I thought of removing the above package to get it reinstalled. I did a query on the same package via rpm command

#rpm -qa  pure-ftpd

And found that the package has been installed humpty number of times. Again I ended up with an another issue here because I was unable to remove this package easily like any other rpm package.

To remove all the occurrences of the package from the RPM database, you can use the --allmatches switch as follows.

#rpm -e --allmatches --nodeps pure-ftpd

This command did work and successfully removed the package. Once this was taken care, packages started working fine. I was able to install other packages successfully.

Adding cdrom to yum as repo

If you want to be able to install the packages from DVD or CDROM available with you try the following instructions.

First take the backup of /etc/yum.repos.d, remove those old repo files and add a new file called local.repo with the following lines:

[local]
name=Local CD Repo
baseurl=file:///mnt/cdrom

Here /mnt/cdrom is the location of CD mount. Change it as per your system’s configuration.

Once this is done, you can go ahead with yum install to install packages from CDROM.

NIS Authentication issue on Fedora 10

I tried adding an NIS client installed with Fedora 10 today and found that it was not able to authenticate the users via NIS. I found some hints on this link before I solved the problem.

The issue as caused due to NetworkManager entires added into /etc/sysconfig/network-scripts/ifcfg-eth0 file.

I removed the following entry from the above mentioned file :

NM_CONTROLLED=no

and turn the value to yes for

USERCTL=yes

Once this is done, I restarted network, ypbind and found it working.

Setting GRUB password

If you don’t want any one to access your system without permission, you should confirm that you don’t have recovery mode enabled in GRUB boot loader or it must be password protected. Otherwise any one can get into root console as and change the password to own the box.

Here is how you add password to your GRUB prompt.

Login as root

Enter grub mode:

# grub

GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported.  For the first word, TAB
lists possible command completions.  Anywhere else TAB lists the possible
completions of a device/filename.]

grub> md5crypt

Password: *******
Encrypted: $1$qzPkq$JweRsHEWARCohfzla/hWJ.

grub>

Copy down encrypted password:

$1$qzPkq$JweRsHEWARCohfzla/hWJ.

Exit grub mode:
grub> quit

Modify file /boot/grub/menu.lst:

gedit /boot/grub/menu.lst

Insert encrypted password in between “splashimage…” and “title…”:

#A splash image for the menu
splashimage=(hd0,4)/boot/grub/splashimages/Mac4Lin_1.0_GRUB1.xpm.gz
password –md5 $1$qzPkq$JweRsHEWARCohfzla/hWJ.

Save edited file

You can go ahead and make this file readable only by root by changing the permissions. Once this is done, reboot the system and try to edit the GRUB entries to see password prompt.

Recovering data from LVM Hard disks

While working with default partitioning plan ie. Guided partitioning, we might end up facing lots of issues. It creates / partition under LVM volume which makes it hard to recover the Operating system and other data stored in it as we couldn’t get into rescue mode. The reason behind this is, rescue mode fails to identify the root partition without identifying the LVM partition first.

Here is an Excellent How-To which helped me mount and recover some valuable documents on LVM partition with the help of an another system which had the similar partitioning plan. (I have tested this on CentOS and it rocks)

Scenario: You have a hard disk from one Linux computer, and you want the data off of it. So you attach it to another Linux machine. But, all hell breaks loose because both hard disks have the same Fedora default Logical Volume Management (LVM) configuration, same volume names, etc. so you can’t mount them both at the same time. What to do?

This how-to documents one possible method which worked for us, but may not necessarily be the best. For example purposes, it assumes that, to begin with, both host’s LVM groups are named “VolGroup00″, and that our approach is to rename the host’s boot disk, leaving the secondary attached drive (the one we want to recover) untouched.

boot disk’s volume groups (and the booting-related cleanup that follows), whereas renaming the second disk would be fewer steps (if you don’t anticipate trying to use it as-is in another machine). –>

  1. With the secondary, to-be-recovered drive NOT attached, boot the Fedora Core installer disk into rescue mode (“linux rescue”). When offered the chance to auto-detect and mount drives, select “skip.”
  2. At the root shell, type:
    lvm

    and you will be in the Logical Volume Management shell. Then:

    vgscan

    The output will look something like this:

      Reading all physical volumes.  This may take a while...
      Found volume group "VolGroup00" using metadata type lvm2

    Now:

    vgrename VolGroup00 VolGroup99

    We have now renamed the boot device’s volume group to something other than VolGroup00. Exit lvm.

  3. Make a mountpoint with the same hierarchy as your newly-named group, and mount the logical volume containing your / partition:
    mkdir -p /mnt/VolGroup99/LogVol00
    mount -t ext3 /dev/VolGroup99/LogVol00 /mnt/VolGroup99/LogVol00
  4. Now, note that if your initial install created a separate /boot partition (which it probably did, for Fedora default install), then you will need to mount that as well, in the old-fashioned way:
    mkdir /mnt/hda1
    mount /dev/hda1 /mnt/hda1

    Note that this assumes the usual, a single IDE hard disk. If you’re unsure of which partition contains /boot, run

    fdisk /dev/hda
    p (for print)

    The first, and smallest, partition with the asterisk in the Boot column is the one. Note the device name and mount that as noted above. E.g. if your disk is SCSI, it will probably be /dev/sda1.

  5. Now make the requisite edits to /etc/fstab and /etc/grub.conf. In fstab, find the lines:
    /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
    ...
    /dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

    and change them to:

    /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
    ...
    /dev/VolGroup99/LogVol01 swap                    swap    defaults        0 0

    NOTE: “Joe” writes: “in Step 5, I think you meant:

           ...
           and change them to:
           /dev/VolGroup99 ...
                        ^^ this was 00

    He is probably right…I no longer remember! Govern yourself accordingly. :) Then in /boot/grub/grub.conf, fine the line:

    kernel /vmlinuz-2.6.19-1.2911.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet acpi=off

    and change it to

    kernel /vmlinuz-2.6.19-1.2911.fc6 ro root=/dev/VolGroup99/LogVol00 rhgb quiet acpi=off

    Of course, your vmlinuz version and other kernel arguments may differ.

  6. Delete or rename the lvm config’s cache file:
    rm /etc/lvm/.cache
  7. Now, fix initrd. This is the ugliest part of the process, but it looks more complicated than it is. Basically, the initrd image (init RAM disk) that Fedora creates at the time of initial install, contains hard-coded references to your logical volume group(s). So you need to edit those, and it’s multiple steps because the initrd is a disk image in gzipped archive format. Soooo….thanks to someguy’s howto [url]:
    cd /mnt/hda1
    mkdir newinit
    cd newinit
    gunzip -c ../initrd-2.6.9-1.724_FC3.img | cpio -idmv
              # or whatever initrd version file you have

    Once that finishes, you’ve got an unpacked version of the initrd. Edit the “init” file, which is a nash script (NOT a normal bash shell script, so don’t get cute with bash stuff). Find all instances of “VolGroup00″ and change them to “VolGroup99″. Save and exit.Then, repackage up a new image. First rename the original one out of the way to save it so you can restore it later if need be. Then, still within the “newinit” directory, do:

     find . | cpio --quiet -c -o > ../newinitrd
     cd ..
     		# You are now in /boot, aka /mnt/hda1
     gzip -9 < newinitrd > initrd-2.6.9-1.724_FC3.img
     		# or whatever it was called before...EXACTLY
  8. Type
    sync
    unmount /mnt/hda1
    unmount /mnt/VolGroup99/LogVol00
    sync

    Exit the shell to reboot. If all goes well…your system should boot up normally.

  9. Now (whew!), you can finally (try to) mount that secondary hard disk. Attach it (reboot if necessary) and do:
    lvm (to enter lvm shell)
    vgscan
    
    	Reading all physical volumes.  This may take a while...
    	Found volume group "VolGroup99" using metadata type lvm2
    	Found volume group "VolGroup00" using metadata type lvm2

    Remember, 99 is your newly-renamed, main, boot drive. VolGroup00 is the secondary, to-be-recovered drive.Still in the lvm shell, type:

    vgchange --available y
    
    	2 logical volume(s) in volume group "VolGroup99" now active
    	2 logical volume(s) in volume group "VolGroup00" now active

    Exit lvm and do:

    mkdir -p /mnt/VolGroup00/LogVol00
    mount -t ext3 /dev/VolGroup00/LogVol00 /mnt/VolGroup00/LogVol00

    and your secondary disk’s contents should now be available under that mountpoint.

    NOTE: “Joe” writes: “to get /dev/VolGroup99/LogVol00 to appear, I had to do a vgscan and vgchange -ay after the vgrename. I guess I probably could have skipped the vgscan, but it made me feel good to see that the rename succeeded.”

Source: https://www.whoopis.com/howtos/linux_lvm_recovery.html