[linux-lvm] Modifying lvmcreate_initrd
Holger Rauch
Holger.Rauch at heitec.de
Sun Oct 29 19:58:03 UTC 2000
Hi!
I've modified "lvmcreate_initrd" in such a way that it can be used to
build a customizable rescue system. Instead of taking the files to be
copied to the RAM disk from a variable, as the present
"lvmcreate_initrd" does, I'm gathering this information from several
files:
- binary_files_for_initrd: contains assorted binaries from /bin, /sbin,
/usr/bin, and /usr/sbin
- config_files_for_initrd: the desired config files from the /etc dir
- auxiliary_files_for_initrd: contains additional files that don't fit in
any of the above categories, e.g. everything under /usr/lib/terminfo
- symlinks_for_initrd: contains the name of the symlink and the file/dir
the link points to.
Each of this file contains one entry per line. Those entries may also
contain wildcards, e.g. "/etc/lvm*". Comments start with a "#".
The problem I'm currently having with this approach, however, is that when
booting from LILO, a "Loading rescue......................" message is
displayed on the screen. Then my machine hangs (normally it should
simply boot the kernel at that point). What can be the cause of
this behavior?
All the work is done by "main.sh" (a rather unfortunate name, I admit it).
"constants" contains some constants which are needed inside "main.sh".
"glob_vars" holds all the global variables, and "functions" has all
function declaration, some of which are not used yet.
One of the main differences (apart from the fact that it doesn't work
yet (-, ) from the present "lvmcreate_initrd" script is that it uses a
file along with a loop device associated with it in order to hold the RAM
disk's contents (the present "lvmcreate_initrd" uses the RAM disk straight
ahead and this would take too much RAM by far for what I'm trying to
achieve).
The system I'm using for this is a SuSE 6.4 system (glibc 2.1.1
based) with reiserfs 3.5.18 and lvm 0.8e.
The reason why I'm actually changing the "lvmcreate_initrd" script is that
I want a rescue system that can live in "/boot" independently of the
remaining file systems on the hard disk. This would be particularly useful
when switching distributions and yet wanting to preserve existing logical
volumes. Please tell me what you think of this idea.
Any help is greatly appreciated!
Greetings,
Holger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.sh
Type: application/x-sh
Size: 8695 bytes
Desc:
URL: <http://listman.redhat.com/archives/linux-lvm/attachments/20001029/775d2a25/attachment.sh>
-------------- next part --------------
#
# Functions
#
# Get constants
. constants
# Get global variables
. glob_vars
# Trap important signals
trap "
echo 'interrupted --- cleaning up'
cd /
$RM -rf $toplevel_dir
$UMOUNT $DEVLOOP
$LOSETUP -d $DEVLOOP
" 1 2 3 15
# Creates a small but sufficient fstab file for our ramdisk image
function create_fstab {
echo "# Automatically generated by $CMD on `$DATE +%Y/%m/%d` at `$DATE +%H:%M`
/dev/ram / ext2 defaults 1 0
none /proc proc defaults 0 0
/dev/cdrom /cdrom iso9660 user,ro,exec,noauto 0 0
# End of automatically generated section
" > etc/fstab
if [ $? -ne 0 ] ; then
echo "$CMD --- ERROR: create_fstab: Unable to write etc/fstab file"
exit 1
fi
$CHMOD 644 etc/fstab
if [ $? -ne 0 ] ; then
echo "$CMD --- ERROR: ${CHMOD}: Unable to chmod etc/fstab file"
exit 1
fi
}
# Creates a linuxrc file for our ramdisk image
# (It is executed immediately after the contents of the image file are stored
# in RAM)
function create_linuxrc {
echo "#!/bin/sh
# Autmatically generated by $CMD on `$DATE +%Y/%m/%d` at `$DATE +%H:%M`
$INSMOD lvm
$MOUNT /proc
$VGSCAN
$VGCHANGE -a y
$UMOUNT /proc
# End of automatically generated section
" > linuxrc
if [ $? -ne 0 ] ; then
echo "$CMD --- ERROR: create_linuxrc: Unable to write linuxrc file"
exit 1
fi
$CHMOD 555 linuxrc
if [ $? -ne 0 ] ; then
echo "$CMD --- ERROR: ${CHMOD}: Unable to chmod linuxrc file"
exit 1
fi
}
# reads the contents of the file specified by $1 to directory $toplevel_dir
function copy_files {
while read file ; do
`echo $file | $EGREP -q '^ *\#|^ *$'` && continue
file=`echo -n $file | $SED 's/\( |\t\)*\#\(.*\)$//'`
file=`echo -n $file | $PERL -pe 's/\n//'`
#echo $file
# $FIND $file -print0 | $CPIO -pdm $toplevel_dir 2> /dev/null
( $FIND $file -depth -print0 | $TAR -cpf - --null -T - 2>/dev/null ) | ( $TAR -C $toplevel_dir -xpf - --null 2>/dev/null )
# Commented out because of "Unable to link to ..." errors from tar
# When checking the results, these proved to be false
# The errors resulted from the order of the file names returned by the shell
# when expanding the wildcards. More precisely, they occured when the name
# of an ordinary file was preceded by that of a symbolic link. That meant tar
# was unable to create the link since the file the link pointed to did not yet
# exist.
# Commenting out the following code snippet, however, means that the remaining
# - and possibly real - error conditions are not taken into account either.
# This is rather unfortunate, of course, but I don't know what to do about it.
# if [ $? -ne 0 ] ; then
# echo "$CMD --- ERROR: copy_files: Unable to cpio files to \"$toplevel_dir\""
# exit 1
# fi
done < $1
}
# Determines the sizes of all the files specified in $1 and calculates the sum
# In case the file read in is the file containing the binaries, the sizes
# of the shared libs are taken into account as well.
function determine_file_size {
while read file ; do
sizes=`$LS -l $file | $AWK '{ print $5 }'`
for size in $sizes ; do
final_size=`$EXPR $final_size + $size`
done
if [ "$1" == "$BIN_CFG_FILE" ] ; then
shlibs=`$LDD $file | $AWK '{ if (/=>/) { print $3} }' | $SORT -u 2>/dev/null`
for lib in $shlibs ; do
libsize=`$LS -Ll $lib | $AWK '{ print $5 }'`
final_size=`$EXPR $final_size + $size`
done
fi
done < $1
}
# Prints an informational message and terminates the program
function bye {
echo "Sorry. There is no way to enlarge the file system."
echo "Please reconsider your choices in binary_files_for_initrd"
echo "or auxiliary_files_for_initrd, respectively."
exit 1
}
# used to ask the user a question that can only be answered by "yes" or "no"
function ask_user {
while $TRUE ; do
echo -n "$1"
read choice
case "$choice" in
[yYnN])
break
;;
*)
echo "Please press the correspondig key for \"yes\" or \"no\""
esac
done
}
# Checks whether the mount point given as the first argument belongs to
# a file system residing on a separate logical volume
# If so, it asks the user whether the file system (and thus the underlying
# logical volume) may be resized
function check_sep_lv {
echo -n "Checking whether $1 resides on a logical volume..."
lv=`$DF -k | $EGREP "$1\$" | $AWK '{ print $1 }' | egrep 'lv$'`
if [ -z "$lv" ] ; then
echo "no."
if [ "$1" == "$PREFERED_DIR" ] ; then
bye
fi
echo "So I will take a look at the next file system"
next_fs=1
else
echo "yes."
echo "I can extend the file system in case it's a Reiser fs."
echo -n "Checking whether it's a Reiser file system..."
reiserfs=`$DF -Tk | $EGREP "$1\$" | $GREP "reiserfs"`
if [ -z "$reiserfs" ] ; then
echo "no."
if [ "$1" == "$PREFERED_DIR" ] ; then
bye
fi
echo "So I will take a look at the next file system"
next_fs=1
else
echo "yes."
ask_user "Do you want me to extend the $1 file system (yY/nN)? "
case "$choice" in
[yY])
echo -n "All righty. Let's get this party started ,-)..."
$LVEXTEND -L ${required_size}M $lv
$RESIZE_REISERFS -s${required_size}M -f $lv
echo "done."
# Ok (put the files there)
echo "Putting files in extended $1 file system"
toplevel_dir="$1/mnt.$$"
#exit 0
;;
[nN])
if [ "$1" != "$PREFERED_DIR" ] ; then
echo "Ok, I will take a look at the next file system"
next_fs=1
else
echo "Sorry, but if you don't let me extend the $PREFERED_DIR file system, I can not do anything."
bye
fi
;;
esac
fi
fi
}
# Checks which ext2/reiserfs file systems are available in addition to "/",
# "/boot", and $PREFERED_DIR
# For each of these file systems
# - whether it is large enough to hold the files
# - if so, ask the user whether this file system should be used
# * in case the user confirms, store the files in this place
# * in case he denies, go on with the next file system
# - if the file system is not large enough, invoke check_sep_lv on that fs
# in order to determine whether it's been created on top of a logical volume
function check_other_fs {
for mount_point in `$DF -Tk | $EGREP "reiserfs|ext2" | $EGREP -v "/\$|/boot\$|$PREFERED_DIR\$" | $AWK '{ print $6 }'` ; do
# Find the device for each mount point
device=`$DF | $GREP "$mount_point" | $AWK '{ print $1 }'`
# Check whether there is enough space in the file system
echo -n "Checking whether there is enough free space in $mount_point..." free_space`$DF -k | $GREP "$mount_point" | $AWK '{ print $4 }'`
if [ "$free_space" -ge "$required_space" ] ; then
echo "yes."
ask_user "Do you want to store your files there (yY/nN)? "
# Ok (put the files there)
case "$choice" in
[yY])
# Ok (put the files there)
echo "Putting files in $mount_point"
toplevel_dir="${mount_point}/mnt.$$"
break
#exit 0
;;
[nN])
# continue for loop
continue
;;
esac
else
# There is not enough space in $mount_point
echo "no."
check_sep_lv $mount_point
if [ "$next_fs" -eq 1 ] ; then
continue
fi
fi
done
}
function copy_all_files {
echo "*** Copying all required files to $toplevel_dir ***"
echo -n "$CMD --- 1. Copying binaries to $toplevel_dir..."
copy_files $BIN_CFG_FILE
echo "done."
echo -n "$CMD --- 2. Determining required shared libraries..."
while read file ; do
shlibs=`$LDD $file | $AWK '{ if (/=>/) { print $3} }' | $SORT -u 2>/dev/null`
# $FIND $shlibs | $CPIO -Lpdm $toplevel_dir 2> /dev/null
( $TAR -chpf - $shlibs 2>/dev/null ) | ( $TAR -C $toplevel_dir -xhpf - 2>/dev/null )
for lib in $shlibs ; do
$STRIP $toplevel_dir/$lib
done
done < $BIN_CFG_FILE
echo "done."
echo -n "$CMD --- 3. Copying config files to $toplevel_dir..."
copy_files $CONF_CFG_FILE
echo "done."
echo -n "$CMD --- 4. Copying auxiliary files to $toplevel_dir..."
copy_files $AUX_CFG_FILE
echo "done."
}
function modify_lilo_conf {
echo "
# beginning of section added by $CMD on `$DATE +%Y/%m/%d` at `$DATE +%H:%M`
image = $BOOT_KERNEL
initrd = $INITRD
root = $ROOT_PARTITION
label = rescue
# end of section added by $CMD on `$DATE +%Y/%m/%d` at `$DATE +%H:%M`
" >> /etc/lilo.conf
if [ $? -ne 0 ] ; then
echo "$CMD --- ERROR: modify_lilo_conf: Unable to modify \"$LILO_CONF\""
exit 1
fi
}
-------------- next part --------------
#
# Global Variables
#
# The amount of space the files will need (in Mbytes)
final_size=0
# Used as a synonym, but in a different context
required_space=0
# A flag used to decide whether more file systems should be processed
next_fs=0
# The actual directory containing the file system layout for the (uncompressed)
# ramdisk image
toplevel_dir=""
# The file system containing $wanted_dir
fs=""
-------------- next part --------------
#
# Constants
#
# The root partition of your hard disk
ROOT_PARTITION="/dev/hda6"
# The kernel to be booted
BOOT_KERNEL="/boot/vmlinuz"
# The name of the script
CMD="main.sh"
# The file containing the names of the binaries that are supposed to be
# included in the ramdisk image (taken from /bin, /sbin/, /usr/bin, /usr/sbin)
BIN_CFG_FILE="binary_files_for_initrd"
# The same for config files (taken from /etc)
CONF_CFG_FILE="config_files_for_initrd"
# The same for auxiliary files (various files from /lib and /usr/lib)
AUX_CFG_FILE="auxiliary_files_for_initrd"
# The file containing the symlinks
SYMLINK_CFG_FILE="symlinks_for_initrd"
# The config file for LILO
LILO_CONF="/etc/lilo.conf"
# The kernel version (needed in order to figure out which kernel
# modules we need)
VERSION="$1"
[ -z "$VERSION" ] && VERSION=`uname -r`
# The path to the kernel modules
MODULES="/lib/modules/$VERSION"
# The loop device
DEVLOOP="/dev/loop0"
# The file system containing the file system layout for the ramdisk image
PREFERED_DIR="/tmp"
# The compressed ramdisk image is stored here
INITRD="/boot/initrd.gz"
# The temporary file used in conjunction with $DEVLOOP
TMP_FILE="$$"
### Various Linux/Unix tools
RM="/bin/rm"
LS="/bin/ls"
LNS="/bin/ln -s"
DD="/bin/dd"
MOUNT="/bin/mount"
UMOUNT="/bin/umount"
LOSETUP="/sbin/losetup"
CHMOD="/bin/chmod"
EGREP="/usr/bin/egrep"
GREP="/usr/bin/grep"
SED="/usr/bin/sed"
PERL="/usr/bin/perl"
STRIP="/usr/bin/strip"
FIND="/usr/bin/find"
AWK="/usr/bin/awk"
CPIO="/usr/bin/cpio"
GZIP="/usr/bin/gzip"
EXPR="/usr/bin/expr"
LDD="/usr/bin/ldd"
SORT="/usr/bin/sort"
DF="/bin/df"
WC="/usr/bin/wc"
TAR="/bin/tar"
PWD="/bin/pwd"
MKDIR="/bin/mkdir"
TRUE="/bin/true"
VGSCAN="/sbin/vgscan"
VGCHANGE="/sbin/vgchange"
LVEXTEND="/sbin/lvextend"
RESIZE_REISERFS="/sbin/resize_reiserfs"
MKE2FS="/sbin/mke2fs"
LILO="/sbin/lilo"
DATE="/bin/date"
INSMOD="/sbin/insmod"
DEPMOD="/sbin/depmod"
# The name of the directory the config files reside in
CFG_FILE_DIR=`$PWD`
-------------- next part --------------
# This file contains the binaries that are supposed to be included in the
# RAM disk image
# Files in /bin
/bin/bash
/bin/cat
/bin/chgrp
/bin/chmod
/bin/chown
/bin/cp
/bin/date
/bin/dd
/bin/dd_rescue
/bin/df
/bin/dmesg
/bin/echo
/bin/ed
/bin/false
/bin/fuser
/bin/gzip
/bin/hostname
/bin/kill
/bin/ln
/bin/loadkeys
/bin/login
/bin/ls
/bin/mkdir
/bin/mknod
/bin/mktemp
/bin/more
/bin/mount
/bin/mv
/bin/netstat
/bin/ping
/bin/ps
/bin/pwd
/bin/rescan-scsi-bus.sh
/bin/rm
/bin/rmdir
/bin/rpm
/bin/sleep
/bin/stty
/bin/su
/bin/sync
/bin/tar
/bin/tcsh
/bin/true
/bin/umount
/bin/uname
/bin/vim
# Files in /sbin
/sbin/activate
/sbin/badblocks
/sbin/checkproc
/sbin/ctrlaltdel
/sbin/e2fsck
/sbin/fdisk
/sbin/fsck
/sbin/fsck.ext2
/sbin/halt
/sbin/fsck.minix
/sbin/hdparm
/sbin/hwclock
/sbin/ifconfig
/sbin/init
/sbin/killall5
/sbin/killproc
/sbin/lilo
/sbin/mingetty
/sbin/mke2fs
/sbin/mkfs
/sbin/mkfs.ext2
/sbin/mkfs.minix
/sbin/mkswap
/sbin/restore
/sbin/route
/sbin/sfdisk
/sbin/shutdown
/sbin/startproc
/sbin/sulogin
/sbin/swapon
/sbin/tune2fs
/sbin/update
/sbin/arp
/sbin/dump
/sbin/cfdisk
/sbin/ckraid
/sbin/depmod
/sbin/e2fsadm
/sbin/insmod.static
/sbin/insmod_ksymoops_clean
/sbin/installpkg
/sbin/kbdrate
/sbin/kerneld
/sbin/ldconfig
/sbin/losetup
/sbin/lspci
/sbin/lv*
/sbin/mdadd
/sbin/mdcreate
/sbin/mkpv
/sbin/mkraid
/sbin/mkreiserfs
/sbin/mkswap
/sbin/modinfo
/sbin/pkgtool
/sbin/pv*
/sbin/quotacheck
/sbin/quotaon
/sbin/raidstart
/sbin/rctab
/sbin/removepkg
/sbin/rmt
/sbin/runlevel
/sbin/setpci
/sbin/setserial
/sbin/setserialbits
/sbin/sln
/sbin/start-stop-daemon
/sbin/sysctl
/sbin/vg*
# Files in /usr/sbin
/usr/sbin/klogd
/usr/sbin/mklost+found
/usr/sbin/rdev
/usr/sbin/syslogd
/usr/sbin/chpasswd
/usr/sbin/cron
/usr/sbin/edquota
/usr/sbin/gpm
/usr/sbin/groupadd
/usr/sbin/groupmod
/usr/sbin/groupdel
/usr/sbin/grpck
/usr/sbin/inetd
/usr/sbin/in.rshd
/usr/sbin/in.telnetd
/usr/sbin/in.ftpd
/usr/sbin/in.fingerd
/usr/sbin/in.rlogind
/usr/sbin/john
/usr/sbin/klogconsole
/usr/sbin/newusers
/usr/sbin/pwck
/usr/sbin/pwconv
/usr/sbin/pwunconv
/usr/sbin/quotastats
/usr/sbin/raidconvert.sh
/usr/sbin/raw
/usr/sbin/rdev
/usr/sbin/repquota
/usr/sbin/safe_finger
/usr/sbin/setquota
/usr/sbin/sgcheck
/usr/sbin/sitar.pl
/usr/sbin/stinit
/usr/sbin/sshd
/usr/sbin/suserundig
/usr/sbin/syslogd
/usr/sbin/tcpd
/usr/sbin/tcpdchk
/usr/sbin/tcpdmatch
/usr/sbin/tcpdump
/usr/sbin/tcpslice
/usr/sbin/temp-watch
/usr/sbin/traceroute
/usr/sbin/useradd
/usr/sbin/useradd.local
/usr/sbin/userdel
/usr/sbin/userdel.local
/usr/sbin/usermod
/usr/sbin/vipw
/usr/sbin/visudo
/usr/sbin/warnquota
# Files in /usr/bin
/usr/bin/afio
/usr/bin/agrep
/usr/bin/alien
/usr/bin/basename
/usr/bin/bc
/usr/bin/bonnie
/usr/bin/bunzip2
/usr/bin/bzcat
/usr/bin/bzip2
/usr/bin/bzip2recover
/usr/bin/cal
/usr/bin/cat2
/usr/bin/chage
/usr/bin/chattr
/usr/bin/chfn
/usr/bin/chkdupexe
/usr/bin/chroot
/usr/bin/chsh
/usr/bin/cksum
/usr/bin/clear
/usr/bin/cmp
/usr/bin/cmp2
/usr/bin/colrm
/usr/bin/column
/usr/bin/comm
/usr/bin/compress
/usr/bin/cpio
/usr/bin/crontab
/usr/bin/csplit
/usr/bin/cut
/usr/bin/des
/usr/bin/dialog
/usr/bin/diff
/usr/bin/diff3
/usr/bin/dir
/usr/bin/dircolors
/usr/bin/dirname
/usr/bin/du
/usr/bin/egrep
/usr/bin/env
/usr/bin/expand
/usr/bin/export
/usr/bin/expr
/usr/bin/factor
/usr/bin/faillog
/usr/bin/fdformat
/usr/bin/fgrep
/usr/bin/file
/usr/bin/find
/usr/bin/find2perl
/usr/bin/finger
/usr/bin/fiz
/usr/bin/fmt
/usr/bin/fold
/usr/bin/free
/usr/bin/ftp
/usr/bin/funzip
/usr/bin/gawk
/usr/bin/gcal
/usr/bin/gcal2txt
/usr/bin/getopt
/usr/bin/gpart
/usr/bin/gpasswd
/usr/bin/gpm-root
/usr/bin/grep
/usr/bin/gzexe
/usr/bin/h2ph
/usr/bin/h2xs
/usr/bin/head
/usr/bin/hex
/usr/bin/hexdump
/usr/bin/hostid
/usr/bin/id
/usr/bin/install
/usr/bin/ipcrm
/usr/bin/ipcs
/usr/bin/jed
/usr/bin/joe
/usr/bin/join
/usr/bin/jove
/usr/bin/killall
/usr/bin/last
/usr/bin/lastlog
/usr/bin/ldd
/usr/bin/lddlibc4
/usr/bin/lddlibc5
/usr/bin/less
/usr/bin/lessecho
/usr/bin/lesskey
/usr/bin/lesspipe.sh
/usr/bin/lha
/usr/bin/locate
/usr/bin/lockfile
/usr/bin/logger
/usr/bin/logname
/usr/bin/logsurfer
/usr/bin/look
/usr/bin/lsattr
/usr/bin/lsdev
/usr/bin/lsof
/usr/bin/ltrace
/usr/bin/lynx
/usr/bin/m4
/usr/bin/mail
/usr/bin/mtools
/usr/bin/mcheck
/usr/bin/mcomp
/usr/bin/md5sum
/usr/bin/merge
/usr/bin/mesg
/usr/bin/mkinfodir
/usr/bin/mkmanifest
/usr/bin/mmv
/usr/bin/mt
/usr/bin/mtools
/usr/bin/mtst
/usr/bin/mxtar
/usr/bin/namei
/usr/bin/nc
/usr/bin/newgrp
/usr/bin/nice
/usr/bin/nl
/usr/bin/nm
/usr/bin/nohup
/usr/bin/objdump
/usr/bin/od
/usr/bin/old
/usr/bin/passwd
/usr/bin/paste
/usr/bin/patch
/usr/bin/pathchk
/usr/bin/pdiff
/usr/bin/perl
/usr/bin/perlcc
/usr/bin/perldoc
/usr/bin/pgrep
/usr/bin/pilot
/usr/bin/pinky
/usr/bin/pkgmake
/usr/bin/pkgpack
/usr/bin/pl2pm
/usr/bin/pr
/usr/bin/printenv
/usr/bin/printf
/usr/bin/procinfo
/usr/bin/quota
/usr/bin/rcp
/usr/bin/recode
/usr/bin/remsync
/usr/bin/rename
/usr/bin/renice
/usr/bin/rev
/usr/bin/rgrep
/usr/bin/rpm2cpio
/usr/bin/rpm2html
/usr/bin/rpmlocate
/usr/bin/rsh
/usr/bin/s2p
/usr/bin/scan_scsi.linux
/usr/bin/scp
/usr/bin/script
/usr/bin/scsi_inquiry
/usr/bin/scsiformat
/usr/bin/scsiinfo
/usr/bin/sdiff
/usr/bin/sed
/usr/bin/seq
/usr/bin/setfdprm
/usr/bin/setterm
/usr/bin/sg*
/usr/bin/shar
/usr/bin/size
/usr/bin/skill
/usr/bin/snice
/usr/bin/socklist
/usr/bin/sort
/usr/bin/sperl5.00503
/usr/bin/splain
/usr/bin/split
/usr/bin/sprof
/usr/bin/ssh*
/usr/bin/strace
/usr/bin/strings
/usr/bin/strip
/usr/bin/su1
/usr/bin/sudo
/usr/bin/suidperl
/usr/bin/tac
/usr/bin/tail
/usr/bin/tailf
/usr/bin/talk
/usr/bin/targ
/usr/bin/tarl
/usr/bin/tcal
/usr/bin/teachjove
/usr/bin/tee
/usr/bin/telnet
/usr/bin/tgz
/usr/bin/tic
/usr/bin/tidy
/usr/bin/time
/usr/bin/tload
/usr/bin/top
/usr/bin/touch
/usr/bin/tput
/usr/bin/tset
/usr/bin/tr
/usr/bin/tty
/usr/bin/tzselect
/usr/bin/uemacs
/usr/bin/unarj
/usr/bin/unexpand
/usr/bin/uniq
/usr/bin/units
/usr/bin/unrar
/usr/bin/unshar
/usr/bin/unzip
/usr/bin/unzipsfx
/usr/bin/updatedb
/usr/bin/uptime
/usr/bin/users
/usr/bin/utmpdump
/usr/bin/uudecode
/usr/bin/uudepipe
/usr/bin/uudeview
/usr/bin/uuencode
/usr/bin/uuenview
/usr/bin/vdir
/usr/bin/vimtutor
/usr/bin/vmstat
/usr/bin/vpass
/usr/bin/w
/usr/bin/w3m
/usr/bin/wall
/usr/bin/watch
/usr/bin/wc
/usr/bin/wdiff
/usr/bin/weblint
/usr/bin/wget
/usr/bin/whereis
/usr/bin/which
/usr/bin/who
/usr/bin/whoami
/usr/bin/wipe
/usr/bin/word2x
/usr/bin/write
/usr/bin/xargs
/usr/bin/yes
/usr/bin/ytree
/usr/bin/zdiff
/usr/bin/zforce
/usr/bin/zgrep
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipgrep
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/bin/zmore
/usr/bin/znew
/usr/bin/zoo
/usr/bin/zsh
-------------- next part --------------
/etc/DIR_COLORS
/etc/HOSTNAME
/etc/fstab
/etc/group
/etc/host.conf
/etc/hosts
/etc/hushlogins
/etc/inittab
/etc/inputrc
/etc/issue
/etc/issue.net
/etc/ld.so.cache
/etc/ld.so.conf
/etc/lesskey
/etc/lesskey.bin
/etc/logfiles
/etc/motd
/etc/mtab
/etc/netgroup
/etc/networks
/etc/nsswitch.conf
/etc/passwd
/etc/profile*
/etc/protocols
/etc/rc.config*
/etc/services
/etc/shells
/etc/syslog.conf
/etc/termcap
/etc/ttytype
/etc/vimrc
/etc/crontab
/etc/cron.*
/etc/fdprm
/etc/filesystems
/etc/gshadow
/etc/hosts.equiv
/etc/identd.conf
/etc/inetd.conf
/etc/jed.rc
/etc/modules.conf
/etc/mime.types
/etc/mtools.conf
/etc/pam*
/etc/perm*
/etc/printcap
/etc/apsfilter*
/etc/pwdb.conf
/etc/resolv.conf
/etc/rpc
/etc/runlevel.fallback
/etc/securetty
/etc/securi*
/etc/shadow
/etc/ske*
/etc/ss*
/etc/su1*
/etc/sudoers
/etc/csh.login
/etc/csh.cshrc
/etc/zshrc
/etc/wgetrc
/etc/mailcap
/etc/lvm*
-------------- next part --------------
/lib/libresolv.so.2
/lib/libpwdb.so.0.61
/lib/security/*
/lib/*pam*
/usr/share/terminfo/*
/dev/*
/sbin/init.d/*
-------------- next part --------------
bin/awk ../usr/bin/awk
bin/basename ../usr/bin/basename
bin/compress ../usr/bin/compress
bin/csh tcsh
bin/egrep ../usr/bin/egrep
bin/gawk ../usr/bin/gawk
bin/grep ../usr/bin/grep
bin/gtar tar
bin/gunzip ../usr/bin/gunzip
bin/mail ../usr/bin/mail
bin/sed ../usr/bin/sed
bin/sh bash
bin/touch ../usr/bin/touch
bin/uncompress ../usr/bin/compress
bin/vi vim
bin/reboot ../sbin/halt
bin/pidof ../sbin/killall5
sbin/swapoff swapon
sbin/telinit init
sbin/insmod insmod.static
sbin/ksyms ksyms.static
sbin/ksyms.static insmod
sbin/lsmod insmod
sbin/lsmod.static lsmod
sbin/mdrun mdadd
sbin/mdstop mdadd
sbin/modprobe insmod
sbin/modprobe.static modprobe
sbin/quotaoff quotaon
sbin/raid0run raidstart
sbin/raidhotadd raidhotremove
sbin/raidhotremove raidstart
sbin/raidstop raidstart
sbin/rmmod insmod
sbin/rmmod.static rmmod
sbin/rdump dump
sbin/rrestore restore
usr/sbin/unique john
usr/sbin/unshadow john
usr/sbin/vidmode rdev
usr/sbin/ramsize rdev
usr/sbin/rootflags rdev
usr/sbin/swapdev rdev
usr/bin/awk gawk
usr/bin/bash ../../bin/bash
usr/bin/ash ../../bin/tcsh
usr/bin/ed ../../bin/ed
usr/bin/edit vim
usr/bin/ex vim
usr/bin/gunzip gzip
usr/bin/gzip ../../bin/gzip
usr/bin/jmacs joe
usr/bin/lastb last
usr/bin/loadkeys ../../bin/loadkeys
usr/bin/mad mmv
usr/bin/mailx mail
usr/bin/mattrib mtools
usr/bin/mbadblocks mtools
usr/bin/mcat mtools
usr/bin/mcd mtools
usr/bin/mcopy mtools
usr/bin/mcp mmv
usr/bin/mdel mtools
usr/bin/mdeltree mtools
usr/bin/mdu mtools
usr/bin/mformat mtools
usr/bin/minfo mtools
usr/bin/mlabel mtools
usr/bin/mln mmv
usr/bin/mmd mtools
usr/bin/mmount mtools
usr/bin/mmove mtools
usr/bin/mpartition mtools
usr/bin/mrd mtools
usr/bin/mread mtools
usr/bin/mren mtools
usr/bin/mtoolstest mtools
usr/bin/mtype mtools
usr/bin/mzip mtools
usr/bin/rbash ../../bin/bash
usr/bin/red ed
usr/bin/rjoe joe
usr/bin/slogin ssh
usr/bin/tcsh ../../bin/tcsh
usr/bin/uncompress compress
usr/bin/vi vim
usr/bin/view vim
usr/bin/vim ../../bin/vim
usr/bin/zcat gzip
usr/bin/zcmp zdiff
usr/bin/zipinfo unzip
usr/bin/zless zmore
etc/conf.modules modules.conf
etc/rc.d ../sbin/init.d
usr/lib/terminfo ../../usr/share/terminfo
More information about the linux-lvm
mailing list