Recently, I upgraded my Fedora system from Fedora 9 to Fedora 10. I used the new preupgrade utility and all seemed to go well. Everything was great until the system rebooted and failed to find any of my logical volumes, VolGroup00 in particular. Here is the sequence of steps I took to fix the problem:

Download the Fedora 10 DVD

Brun the ISO to DVD

Boot from the Fedora 10 DVD and select the recovery mode option from the menu

This will recreate the ramdisk that is needed at boot time. This forces it to readd all pertinent ATA, SCSI, and hard disk controller drivers and relink all the libraries and modules. This happened twice to me, once when going from FC 9 to FC 10, then again when going from kernel 2.6.27.5-117 to 2.27.7-134.

This command assumes that you have defined a share called "share1" on the buffalo-nas.acme.com appliance with a root account.

NOTE: you must have samba rpms installed for this to work.

While this works from the command line to mount the remote Samba or CIFS, you may want to have this performed automatically at system boot time. On Fedora Linux, the best way to do this is to create a credentials file for the root user. Do this by creating /root/.smbpassword as follows:

A useful command frequently used in backup scripts is the find command. The UNIX find command can locate files based upon the time the files were last changed, accessed, or modified using the -ctime, -atime, or -mtime respectively. So, to find all files in a directory that are older than 7 days might look like this:

find /home/myuser -mtime +7 -print

If you are trying to remove files that are older than 7 days, you can use pipe the output of the find command to xargs. You will want to set the -r option for xargs in case there is no output. The -r flag in xargs tells the command to skip execution when there is no data.

find /home/myuser -type f -mtime +7 -print0 | xargs -o rm -rf

The command above will perform a deep or recursive search for any files in /home/myuser and remove them. The -print0 argument will enable this search to find files in that path that may contain spaces in the file names.

Anyone operating a MySQL database server should have a sound maintenance and backup plan to either eliminate or significantly reduce the risk of data corruption or complete loss of data. This article is the result of a recent event in which I nearly lost all my data. MySQL can be effectively maintained using the following three task plan:

When compiling software on the Solaris OS, great care must go into setting the proper environment variables prior to building the software. Recently while making an entire suite of libraries and application software, I noticed one of two things would happen:

The software would not compile until /usr/ucblib was added to the library path

The software would compile, but not run until /usr/ucblib was added to the library path

I found that some of my newly compiled software was linking in the legacy /usr/ucblib/ucblib.so.1 library. To prevent this from happening, I removed /usr/ucb from my PATH environment variable, and made sure that /usr/ucblib was not defined in my LD_LIBRARY_PATH at build time.

There are times when you build newer system libraries and install them to non-standard system directories. When you are building software that is dependent on these newer libraries, you sometimes have to pass the non-standard include and lib directories as arguments to the build process so that the new software can find its dependent libraries and header files. The easiest way to do this is to set the CPPFLAGS and LDFLAGS. It is done as follows: