From: Bob Proulx on
Stephen Powell wrote:
> What's the easiest way for a shell script to tell if grub version 1
> is installed? It is important to distinguish grub version 1 from
> grub version 2. For example, can I just do this?
>
> if [ -f /boot/grub/menu.lst ];then
> blah
> blah
> blah
> fi

If you only need to know if the grub2 *package* is installed then a
very quick check is to see if the documentation directory for it is
installed. Since all packages are required by Debian Policy to have a
documentation directory.

if [ -d /usr/share/doc/grub-pc ]; then
echo The Grub2 package is installed.
fi

> Or does that file exist in grub version 2 as well?

If the machine was upgraded from version 1 to version 2 then the
menu.lst file will be left behind until manually removed. Because it
facilitates returning to version 1 if required.

But having the package installed doesn't meant that the machine
actually has grub2 installed in the boot path. That seems a little
more difficult.

I recently read this blog entry by Colin Watson that talked a little
bit about grub versions and the problems of mixing them. You might
find it interesting.

http://www.chiark.greenend.org.uk/ucgi/~cjwatson/blosxom/2010/06/21#2010-06-21-grub2-boot-problems

Bob
 | 
Pages: 1
Prev: martian sources iptables
Next: DebianLive