Changeset 2937


Ignore:
Timestamp:
Jan 28, 2012, 1:51:28 AM (6 years ago)
Author:
bruno
Message:

svn merge -r 2849:2935 ../3.0

  • Adds 3 binaries called potentially by udev o support USB key mount at restore time (Victor Gattegno)
  • mindi only sets the boot flag of a USB device if none is present already (should avoid flip/flop situation)
  • Fix a compatibility bug in analyze-my-lvm whete exclude lists with '|' was incorrectly analyzed (' ' still expected)
  • Precise that -J is not supported by mondorestore yet.
  • Fix a compatibility bug in mindi where exclude lists with '|' was incorrectly analyzed (' ' still expected)
  • Install an MBR on USB devices when possible
  • Improve error message in case mondorestore isn't found
  • Adds support for more virtio devices for KVM restore
  • Improve mbr.bin handling
  • Fix an issue in test of FindKernel? for Xen and non Xen cases
    • Fix #492 by removing an extra useless fi
    • Move fvat nd fat modules to CDROM_MODS in order to have them in the initrd to support saving logs to a USB device e.g.
    • Fix an error when dmidecode reports comments before system name
    • Fix previous broken patch on comment management for bkphw
    • Improve msgs printed during kbd analysis
    • Fix a small remaining pb with new comment support
    • Try to again improve the mount/umount stuff in mondo -Adds mention to OEL, CentOS, ScientifLinux? as RHEL clones
  • Fix a panadoid_free done on the wrong variable (solve a memory leak)
  • Solve #495 by skipping the potential (auto-read-only) when analyzin /proc/mdstat result
  • Fix some markup in man pages
  • adds the post-nuke script sample for Debian (Guillaume Pernot/Andrée? Leidenfrost)
  • Avoid a useless umount when changing of afio set, let insist_on_cd check and perform if needed
  • Copy everything under .ssh of root account to allow for sshfs mount without passwd at restore time.
  • Adds support for bnx2i driver
  • Try to fix #496 by supporting the protocol in the output of the mount command (sshfs#...)
  • Uses the -d option of the mount command to avoid leaving loop devices in use. Probably provoked by the usage of a more recent busybox, but anyway that option doesn't hurt, and does nothing for non-loop devices. Should fix the problems reported on the ML with NFS and more than 8 ISO images (8 being the default number of loop devices available)
  • Attempt to fix #436 by adding some newtDrawForm where appropriate.
  • Fix bugs in the kernel detection routine of mindi (some echo were done without capturing their output, confusing the return). This should also help the Xen detection issue
  • Change the logging function to be nearer from 2.2.10, and start using some
  • Initialize some global fields with an empty string, now that newt Draws more regularly progress forms
  • Mindi progression still not good, but showing now 3% when calling mindi. Would need a specific handling for the progress bar to evolve more afterwards
  • Add compatibility with the latest SSSTK + PSP content for HP ProLiant? + branding homogeneous now. We only take conrep out of the SSSTK pending a package availability. Using hpacuscripting now. Review of parameters called following test made.
  • Fix #501 by pushing BOOT_SIZE to 36864 for certain Ubuntu cases
  • Fix some remaining inconsistencis in the ProLiant? HW backup. ready for usage.
  • Fix an issue on udevadm call (needs an intermediate variable)
  • Fix a remaining ProLiant? tool call
  • Remove again some wrong variable initialization for Net in order to not have strange messages now we call Draw more often
  • Adds support for hwaddr (MAC addresses) at restore time, and map to the correct NIC if it's found at restore time (based on code from Stefan Heijmans)
  • Try to Fix #499 by changing init in order to never exit, and rebooting using sysrq in /proc (not portable). Maybe should move to using a real init, and a separated rcS script.
  • Fixes the shell msg error by using setsid as per Busybox FAQ
  • Fix #491 by correctly checking Xen kernel used for a dom0 env (apollo13)
  • Improves logging in Die()
  • Improve again ProLiant? HW support, by adding references to the yet to come SSSTK rpm so that conrep is called at its future right place.
  • Improve mindi support for kernel 3.x
  • Fix #499 for good, by using a real init from busybox and moving our init script to etc/init.d/rcS. We also now call the reboot from busybox to exit, which indeed reset the system correctly (in a VM at least which wasn't the case before). Reauires a new mindi-busybox as well.
  • Attempt to solve #503 by handling /lib64 separately for udev and only if not a link (to /lib) for Ubuntu 64
  • Improve again previous tests for bug #503
  • Improve -d option description for NFS
  • Allow http download for ftp content
  • New italian mirror
  • Fix #505 by documenting environment variables
    • Fix a bug where on OBDR mode compression was turned off to create the OBDR content but not back on (report from the mailing list)
  • solve http://trac.mondorescue.org/ticket/520 by Victor Gattegno
  • Fix #524 as option -U needs a size also
  • Removes useless gendf option
  • Fix #511 now stabgrub is called also after conf file modifications
  • Adds support for SUID binaries
  • remove a useless xenkernelname variable from mindi
  • Should fix #512 by clearing old scratchdir before changing to a new
  • Simplify the function engaging SCSI for Smart Array controllers, and support as many controller as we have
  • Add some binaries used on SLES 10 by udev
  • Fix a syntax issue in newt-specific.c
  • Fix a memory free bug where a used variable was freed to early
  • Fix a memory free bug where a used variable was misused in asprintf/free
  • Fix #498 by using an external program (hpsa_obdr_mode) which can set the mode of the tape to CD-ROM or Sequential at will.

That program will have to be downloaded from http://cciss.sf.net

  • Adds support for the route command in mindi-busybox
  • Force block size back to 32768 in OBDR mode after skipping the 2 tape marks, to read the additional rootfs data corerctly - Fix #498 for good it seems
  • Adds support for a new pata_atiixp driver
  • Fix #525 and improve printing when no /etc/raidtab, but still md devices
  • Exclude /run similarly to /sys and /proc
  • Fix a bug in mindi when having multiple swap partiions with same starting string (/dev/dm-1 and /dev/dm-16). We now add a space in the grep to avoid mischoice.
  • Fix grub installation if we had to go in the hack part which wasn't using the correct variables to make decisions !
  • Remove all mention of mondorescue.com from code
  • Fix some website typo on the download page and precise that we now develop on Mageia
  • Exclude sysfs devpts and tmpfs partitions found in RHEL 6.2 from analyze by mindi (made error messages)
  • Force activation of first partition which should not be optional as everything is destroyed before
  • Fix a bug in analyze-my-lvm where LVs were created in random order (the one of lvscan) instead of using the dm-xxx order, which creates issues at restore time between the mapping created then and the one we had at backup time which could be inconssistent

-mondoarchive now exists if the mt command is missing when needed

  • Proper fix for analyze-my-lvm
  • Fix #500 and #473 by adding support of old metadata format for mdadm if using grub < 0.9x or lilo on a md boot device (to be tested)
  • Really never inject or eject when the -e option is passed or device is inappropriate (USB, Net, ...)
  • Fix #577 by having factor back as a float (not a long ! it's a decimal value) and making the appropriate cast.
  • Fix #578 by improving the regexp used for CD/DVD detection with -scanbus option
  • Adds more verbosity when LVM creation fails.
  • Fix #579 by checking with pipes on both sides of the string
  • debugfs should be excluded from the device considered for fstab analysis
Location:
branches/3.1
Files:
4 deleted
39 edited
5 copied

Legend:

Unmodified
Added
Removed
  • branches/3.1/mindi/README.bkphw

    r2696 r2937  
    55Mindi has a script able to store the Hardware configuration and those parameters may be restored before launching mondorestore during the boot phase computed by mindi, in order to re-setup the machine as the original one.
    66
    7 For the moment, only HP Proliant systems are supported. If you have tools to allow support for other type of machines, feel free to contribute patches to that script.
     7For the moment, only HP ProLiant systems are supported. If you have tools to allow support for other type of machines, feel free to contribute patches to that script. For details on how to use ProLiant tools, please look at the README.ProLiant file
    88
    9 If you have a Proliant system you first need to get the Smart Start Scripting Toolkit. Due to licenses issues, mindi cannot provide those tools itself. You need to get them from http://www.hp.com/servers/sstoolkit
    10 
    11 Mindi expects to find those tools under /usr/local/bin as described in the deplist.d/proliant.conf configuration file. Here are the steps to set it up correctly:
    12 
    13 Older URL:
    14 wget ftp://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p308169895/v40154/ss-scripting-toolkit-linux-1.70.tar.gz
    15 wget ftp://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p308169895/v43548/ss-scripting-toolkit-linux-1.81.tar.gz
    16 
    17 cd /tmp
    18 wget ftp://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p308169895/v44247/ss-scripting-toolkit-linux-1.90.tar.gz
    19 mkdir ssstk
    20 cd ssstk
    21 tar xvfz ../ss-scripting-toolkit-linux-1.90.tar.gz
    22 cp -a utilities/hponcfg /usr/local/bin
    23 cp -a utilities/conrep /usr/local/bin
    24 cp -a utilities/conrep.xml /usr/local/bin
    25 # For versions <= 1.90
    26 cp -a utilities/cpqacuxe/cpqacuxe /usr/local/bin
    27 cp -a utilities/cpqacuxe/bld /usr/local/bin
    28 mv /usr/local/bin/bld/*.so /usr/local/lib
    29 # For recent versions
    30 cp -a utilities/hpacucli /usr/local/bin
    31 echo /usr/local/lib >> /etc/ld.so.conf
    32 ldconfig
    33 
    34 You're now ready to check your configuration by running:
    35 mindi-bkphw /var/cache/mindi /etc/mindi
    36 [First parameter is the directory where files will be generated,
    37  Second parameter is the directory of the file proliant.files is located]
    38 
    39 For these tools to work you may have to install additional packages such as hpasm and hprsm from the HP Web site, as well as some libstdc++ compatibility packages (compat-libstdc++-33 and compat-libstdc++-296 on RHEL 5 e.g.)
    40 
    41 In order to have a working hponcfg binary you also need to install the hprsm/hpasm packages from HP Web site. Refer to http://welcome.hp.com/country/us/en/support.html?pageDisplay=drivers
    42 
     92011-10-07 Move ProLiant section to a specific file
    43102007-05-30 Initial file
  • branches/3.1/mindi/README.bootparam

    r2816 r2937  
    4040
    4141nohw
    42     Do not call the mindi-rsthw script which try to restore also your BIOSes configuration (Proliant only)
     42    Do not call the mindi-rsthw script which try to restore also your BIOSes configuration (ProLiant only for now)
    4343
    4444nolvm
  • branches/3.1/mindi/README.pxe

    r2499 r2937  
    1111label mondo
    1212        kernel vmlinuz-mondo
    13         append initrd=initrd-mondo load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=131072 rw root=/dev/ram iso acpi=off apm=off devfs=nomount exec-shield=0 pxe [proto=nfs|sshfs] [prefix=machine] [ipconf=(ipdev:ipadr:netmask:broadcast:gateway|ipdev:dhcp)] [netfsmount=server:mountpoint] [netfsopt=-o option][netfspath=local_path] [ping=#] ...
     13        append initrd=initrd-mondo load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=131072 rw root=/dev/ram iso acpi=off apm=off devfs=nomount exec-shield=0 pxe [proto=nfs|sshfs] [prefix=machine] [ipconf=(ipdev:ipadr:netmask:broadcast:gateway|ipdev:dhcp)] [hwaddr=M:A:C:A:D:R] [netfsmount=server:mountpoint] [netfsopt=-o option][netfspath=local_path] [ping=#] ...
    1414
    1515ipdev is the device name (e.g. eth2)
     
    1919gateway is the default gateway (e.g. 192.168.1.254)
    2020dhcp is a keyword. Using it will provide all the previous 4 values to activate the LAN interface.
     21hwaddr is the MAC address of the device you want to use to restore through
    2122proto is the protocol to use for mounting the remote share (default is NFS, sshfs is also available)
    2223server is the ip addr of the Remote Network server
     
    4849CAVEAT: the limit to the number of char on the append line is 255. Use symlinks to reduce the size of your path if needed.
    4950
    50 Please report any problem around that tool to bruno@mondorescue.org
     51Please report any problem around that tool to bruno_at_mondorescue.org
    5152
     532011-10-09 adds support for hwaddr
    52542009-12-05 nfsopt added tp allow for custom options at mount time
    53552009-09-09 Changed to netfs for multi protocol support (nfs, sshfs, ...)
  • branches/3.1/mindi/analyze-my-lvm

    r2816 r2937  
    6060        done
    6161        list_of_devices="`echo $l | sort -u`"
    62         for ed in $MINDI_EXCLUDE_DEVS ; do
     62        for ed in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    6363            if  [ "`echo " $list_of_devices" | grep " $ed"`" != "" ]; then
    6464                echo "Not including device $LV_full_string as it was excluded"
     
    159159
    160160    if [ "$MINDI_EXCLUDE_DEVS" ] ; then
    161         for ed in $MINDI_EXCLUDE_DEVS ; do
     161        for ed in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    162162            if  [ "`echo " $list_of_devices" | grep " $ed"`" != "" ]; then
    163163                echo $current_VG >> $MINDI_TMP/excludedvgs
     
    188188        list_of_devices="`echo $l | sort -u`"
    189189        if [ "$MINDI_EXCLUDE_DEVS" ] ; then
    190             for ed in $MINDI_EXCLUDE_DEVS ; do
     190            for ed in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    191191                if  [ "`echo " $list_of_devices " | grep " $ed"`" != "" ]; then
    192192                    skip=1
     
    211211                list_of_devices="`echo $l | sort -u`"
    212212                if [ "$MINDI_EXCLUDE_DEVS" ] ; then
    213                     for ed in $MINDI_EXCLUDE_DEVS ; do
     213                    for ed in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    214214                        if  [ "`echo " $list_of_devices " | grep " $ed"`" != "" ]; then
    215215                            skip=1
     
    266266        skip=0
    267267        if [ "$MINDI_EXCLUDE_DEVS" ] ; then
    268             for ed in $MINDI_EXCLUDE_DEVS ; do
     268            for ed in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    269269                if  [ "`echo " $rep " | grep " $ed"`" != "" ]; then
    270270                    skip=1
     
    291291}
    292292
     293ListAllLogicalVolumesSortedBydm() {
     294        for d in `ListAllLogicalVolumes` ; do
     295            dm=`mindi --readalllink $d | tail -1`
     296            echo "$dm|$d" >> $MINDI_TMP/sorteddm
     297        done
     298        sort -t'|' $MINDI_TMP/sorteddm | cut -d'|' -f2
     299}
    293300
    294301ListAllLogicalVolumes() {
     
    414421echo ""
    415422echo "Finally, create the LV's (logical volumes)."
    416 all_logical_volumes=`ListAllLogicalVolumes`
     423all_logical_volumes=`ListAllLogicalVolumesSortedBydm`
    417424for current_LV in $all_logical_volumes ; do
    418425    ProcessLogicalVolume $current_LV
  • branches/3.1/mindi/deplist.d/base.conf

    r2816 r2937  
    6363/usr/bin/cmp
    6464/sbin/ctrlaltdel
    65 /usr/bin/halt
    6665/bin/dd
    6766/usr/bin/eject
    6867/usr/bin/env
    6968/sbin/halt
     69/usr/bin/halt
    7070/sbin/ldconfig
    7171/usr/bin/wc
  • branches/3.1/mindi/deplist.d/minimal.conf

    r2850 r2937  
    123123/etc/sysconfig/udev
    124124/sbin/consoletype
     125# On SLES 10
     126/sbin/path_id
     127/sbin/scsi_id
     128/sbin/scsi_tur
     129/sbin/hwup
    125130
    126131# Modules
  • branches/3.1/mindi/mindi

    r2874 r2937  
    3636
    3737EXTRA_SPACE=80152       # increase if you run out of ramdisk space
    38 BOOT_SIZE=32768         # size of the boot disk
     38BOOT_SIZE=36864         # size of the boot disk
    3939
    4040PROMPT_MAKE_CD_IMAGE="yes"
     
    5454    # If set to "no", the kernel is not a Xen kernel
    5555    # If "yes", mindi will modify isolinux.cfg for the Xen kernel.
     56xenkernelpath=""
    5657 
    5758MY_FSTAB=/etc/fstab
     
    6061
    6162# ide-probe-mod
    62 IDE_MODS="ide ide-floppy floppy ide-generic ide-detect ide-mod ide-disk ide_disk ide-cd ide_cd ide_cd_mod ide-cd_mod ide-cs ide-core ide_core ide-gd_mod ide_gd_mod edd paride ata_generic ide_pci_generic ata_piix libata dock via82cxxx generic nvidia ahci libahci sata_nv cmd64x pata_amd pata_marvell pata_serverworks pata_sis pata_sil680 pata_jmicron amd74xx sis5513 jmicron sata_promise sata_via serverworks sata_svw blkbk virtio"
     63IDE_MODS="ide ide-floppy floppy ide-generic ide-detect ide-mod ide-disk ide_disk ide-cd ide_cd ide_cd_mod ide-cd_mod ide-cs ide-core ide_core ide-gd_mod ide_gd_mod edd paride ata_generic ide_pci_generic ata_piix libata dock via82cxxx generic nvidia ahci libahci sata_nv cmd64x pata_amd pata_marvell pata_serverworks pata_sis pata_sil680 pata_jmicron pata_atiixp amd74xx sis5513 jmicron sata_promise sata_via serverworks sata_svw blkbk virtio virtio_ring virtio_pci virtio_blk virtio_balloon"
    6364PCMCIA_MODS="pcmcia_core ds yenta_socket"
    6465USB_MODS="usb-storage usb-ohci usb-uhci usbcore usb_storage input hid uhci_hcd ehci_hcd uhci-hcd ehci-hcd ohci-hcd ohci_hcd xhci usbkbd usbhid keybdev mousedev libusual scsi_mod ff-memless ums_cypress ums-cypress cp210x usbserial"
    65 NET_MODS="auth_rpcgss sunrpc nfs nfs_acl lockd fscache loop mii 3c59x e100 bcm5700 bnx2 bnx2x mdio e1000 e1000e igb dca eepro100 ne2k-pci tg3 libphy pcnet32 8139cp 8139too 8390 forcedeth vmxnet vmxnet3 vmnet exportfs fuse libcrc32c crc32c netbk xenblktap r8169"
    66 CDROM_MODS="$TAPE_MODS $IDE_MODS $USB_MODS $PCMCIA_MODS $SCSI_MODS $NET_MODS af_packet cdrom isocd isofs inflate_fs nls_iso8859-1 nls_base nls_cp437 nls_utf8 sg sr_mod zlib_inflate iso9660"
     66NET_MODS="auth_rpcgss sunrpc nfs nfs_acl lockd fscache loop mii 3c59x e100 bcm5700 bnx2 bnx2x bnx2i mdio e1000 e1000e igb dca eepro100 ne2k-pci tg3 libphy pcnet32 8139cp 8139too 8390 forcedeth vmxnet vmxnet3 vmnet exportfs fuse libcrc32c crc32c netbk xenblktap r8169 virtio_net"
     67CDROM_MODS="$TAPE_MODS $IDE_MODS $USB_MODS $PCMCIA_MODS $SCSI_MODS $NET_MODS af_packet cdrom isocd isofs inflate_fs nls_iso8859-1 nls_base nls_cp437 nls_utf8 sg sr_mod zlib_inflate iso9660 vfat fat"
    6768# Those modules will only go on the backup media, not the boot media.
    68 EXTRA_MODS="$CDROM_MODS vfat fat loop md-mod linear raid0 raid1 xor raid10 raid5 raid456 raid6_pq async_pq xor async_tx async_memcpy async_xor lvm-mod dm-mod dm_mod dm-snapshot dm_snapshot dm-zero dm_zero dm-mirror dm_mirror dm-multipath dm-round-robin dm-emc dm-hp-sw dm-rdac dm-region-hash dm-snapshot dm-log multipath jfs xfs xfs_support pagebuf reiserfs ext2 ext3 minix nfs nfs_acl nfsd lockd sunrpc jbd mbcache ext4 jbd2 crc16 ocfs2 ocfs2_dlm ocfs2_nodemanager configfs"
     69EXTRA_MODS="$CDROM_MODS loop md-mod linear raid0 raid1 xor raid10 raid5 raid456 raid6_pq async_pq xor async_tx async_memcpy async_xor lvm-mod dm-mod dm_mod dm-snapshot dm_snapshot dm-zero dm_zero dm-mirror dm_mirror dm-multipath dm-round-robin dm-emc dm-hp-sw dm-rdac dm-region-hash dm-snapshot dm-log multipath jfs xfs xfs_support pagebuf reiserfs ext2 ext3 minix nfs nfs_acl nfsd lockd sunrpc jbd mbcache ext4 jbd2 crc16 ocfs2 ocfs2_dlm ocfs2_nodemanager configfs"
    6970# Replace with that line for HP OCMP e.g.
    7071#DENY_MODS="MPS_Driver_Mapper mps octtldrv tscttl streams kqemu fdomain"
     
    7273# Force some modules to be included
    7374FORCE_MODS=""
     75
     76# Find MBR in case of bootable USB device to build
     77MBRFILE=/usr/lib/syslinux/mbr.bin
     78[ ! -r "$MBRFILE" ] && MBRFILE=/usr/lib64/syslinux/mbr.bin
     79[ ! -r "$MBRFILE" ] && MBRFILE=/usr/share/syslinux/mbr.bin
     80[ ! -r "$MBRFILE" ] && MBRFILE=/usr/share/lib/syslinux/mbr.bin
     81[ ! -r "$MBRFILE" ] && MBRFILE=/usr/share/lib64/syslinux/mbr.bin
    7482
    7583LOGFILE=/var/log/mindi.log
     
    132140}
    133141
    134 LogIt() {
    135     if [ -e /dev/stderr ] ; then
    136         echo -e "$1" >> /dev/stderr
    137     elif [ -e /usr/bin/logger ] ; then
    138         /usr/bin/logger -s $1
    139     fi
     142LogOnly() {
    140143    echo -e "$1" >> $LOGFILE
    141144    if [ _"$2" != _"" ]; then
     
    143146    fi
    144147    rm -f "$2"
     148}
     149
     150# Function to log on screen only
     151LogScreen() {
     152    if [ -e /dev/stderr ] ; then
     153        echo -e "$1" >> /dev/stderr
     154    elif [ -e /usr/bin/logger ] ; then
     155        /usr/bin/logger -s $1
     156    fi
     157}
     158
     159# Function to log in log file only
     160LogFile() {
     161
     162    echo -e "$1" >> $LOGFILE
     163    if [ _"$2" != _"" ]; then
     164        grep -Ev "tar: Removing \`/\'" "$2" >> $LOGFILE
     165    fi
     166    rm -f "$2"
     167}
     168
     169# Function to log in both screen and logfile
     170LogAll() {
     171    LogScreen "$1"
     172    LogFile "$1" "$2"
     173}
     174
     175# Preserved for compatibility
     176LogIt() {
     177    LogAll "$1" "$2"
    145178}
    146179
     
    369402        mkdir -p $bigdir/etc/console
    370403        cp /etc/console/boottime.kmap.gz $bigdir/etc/console 2>> $LOGFILE
     404        echo ""
    371405        echo -e "$DONE"
    372406        return 0
     
    383417        mkdir -p $bigdir/etc/console-setup
    384418        cp $kbdfile $bigdir/etc/console-setup 2>> $LOGFILE
     419        echo ""
    385420        echo -e "$DONE"
    386421        return 0
     
    439474    KBDEPTH=0
    440475    AddKeyboardMappingFile $mappath
     476    echo ""
    441477    echo -e "$DONE"
    442478    rm -f $MINDI_TMP/keymaps.find
     
    453489    [ ! -e "$MBOOTC32" ] && MBOOTC32=/usr/share/lib64/syslinux/mboot.c32
    454490    [ ! -e "$MBOOTC32" ] && MBOOTC32=`find / -name mboot.c32 | grep -x "/.*/mboot.c32"`
    455     [ ! -e "$MBOOTC32" ] && Die "Please install mboot.c32 first. If your syslinux RPM doesn't include mboot.c32, you may download an isolinux RPM from Mondo's website - go to http://www.mondorescue.com and click on 'Download'"
     491    [ ! -e "$MBOOTC32" ] && Die "Please install mboot.c32 first. If your syslinux RPM doesn't include mboot.c32, you may download an isolinux RPM from Mondo's website - go to http://www.mondorescue.org/downloads.shtml"
    456492    LogFile "Found mboot.c32 at $MBOOTC32"
    457493}
     
    465501    [ ! -e "$ISOLINUX" ] && ISOLINUX=/usr/share/lib64/syslinux/isolinux.bin
    466502    [ ! -e "$ISOLINUX" ] && ISOLINUX=`find / -name isolinux.bin | grep -x "/.*/isolinux.bin"`
    467     [ ! -e "$ISOLINUX" ] && Die "Please install isolinux first. If your syslinux RPM doesn't include isolinux, you may download an isolinux RPM from Mondo's website - go to http://www.mondorescue.com and click on 'Download'"
     503    [ ! -e "$ISOLINUX" ] && Die "Please install isolinux first. If your syslinux RPM doesn't include isolinux, you may download an isolinux RPM from Mondo's website - go to http://www.mondorescue.org/downloads.shtml"
    468504    LogFile "Found isolinux.bin at $ISOLINUX"
    469505}
     
    704740# $1: raid device (/dev/md...)
    705741GetRaidDevMembers() {
     742    if [ ! -f /etc/raidtab ]; then
     743        return
     744    fi
    706745    $AWK "/^[[:space:]]*#/ {next} /^[[:space:]]*raiddev/ {if(dev) exit; if(\$2 == \"$1\") dev=\$2} /^[[:space:]]*device/ {if(dev) {print \$2}}" < /etc/raidtab
    707746}
     
    9771016
    9781017MakeMountlist() {
    979     local scratchdir mountlist all_partitions current_partition \
     1018    local mountlist all_partitions current_partition \
    9801019partition_size partition_format outstring partition_number \
    9811020partition_mountpt c_p lwm_info psz lvm_dev unofficial_outstring \
     
    9901029    LogAll "-----------------------------------"
    9911030
    992 # scratchdir, mountlist(OUT)
    993     scratchdir=$MINDI_TMP
     1031# mountlist(OUT)
    9941032    mountlist=$1
    9951033
     
    10191057    printf "%-15s %-15s %-15s %s %s\n" DEVICE MOUNTPOINT FORMAT "SIZE MB" LABEL/UUID | tee -a $LOGFILE
    10201058    printf "%-15s %-15s %-15s %s %s\n" ------ ---------- ------  -------  ---------- | tee -a $LOGFILE
    1021     useless_dev="/dev/floppy /dev/fd0h1440 /dev/fd0H1440 /dev/cdrom /dev/cdrom/cdrom /dev/cdrom/cdrom1 /dev/cdrom/cdrom2 /dev/cdrom0 /dev/cdrom1 /dev/cdrom2 /dev/cdrom3 /dev/cdrw /dev/scd /dev/ram :/ /dev/sr0 /dev/sr1 /dev/cdrom1"
     1059    useless_dev="/dev/floppy /dev/fd0h1440 /dev/fd0H1440 /dev/cdrom /dev/cdrom/cdrom /dev/cdrom/cdrom1 /dev/cdrom/cdrom2 /dev/cdrom0 /dev/cdrom1 /dev/cdrom2 /dev/cdrom3 /dev/cdrw /dev/scd /dev/ram :/ /dev/sr0 /dev/sr1 /dev/cdrom1 tmpfs devpts sysfs proc debugfs"
    10221060    for c_p in $all_partitions ; do
    1023         # Skip evices, network FS, cisf
     1061        # Skip fd/cd devices, network FS, cifs
    10241062        [ "`echo "$useless_dev" | grep -F "$c_p"`" != "" ] || [ "`echo "$c_p" | grep ":"`" != "" ] || [ "`echo "$c_p" | grep -E "^//"`" != "" ]&& continue
    10251063        [ "`echo "$c_p" | grep -x "/dev/cdroms.*"`" ] && continue
     
    10321070        fi
    10331071        [ "$c_p" = "none" ] && continue
    1034         # Debian 5 does that
    1035         [ "$c_p" = "proc" ] && continue
    10361072        redhat_label=""
    10371073        label=""
     
    11101146                    [ "`echo $uname | grep "2.6.19"`" != "" ] && skip=1052
    11111147                    [ "`echo $uname | grep "2.6.[2-9]"`" != "" ] && skip=1052
     1148                    [ "`echo $uname | grep "3.[0-9]*.[0-9]*"`" != "" ] && skip=1052
    11121149                    if [ $skip = "" ]; then
    11131150                        Die "Your kernel is too old. I don't know how to support labelled swap spaces with it"
     
    12181255            list_of_devices="`echo $l | sort -u`"
    12191256
    1220             for d in $MINDI_EXCLUDE_DEVS ; do
     1257            for d in `echo $MINDI_EXCLUDE_DEVS | sed 's/|/ /g'`; do
    12211258                if  [ "`echo " $list_of_devices " | grep " $d"`" != "" ]; then
    12221259                    echo "Excluding $current_partition from mountlist (due to excluded device $d)" >> $LOGFILE
     
    12681305            [ "`echo "$current_partition" | grep -c "^/"`" -ne "1" ] && continue
    12691306            if [ "$partition_format" = "swap" ] || [ "$partition_mountpt" = "swap" ] ; then
    1270                 partition_size=`grep -Fv "Priority" /proc/swaps | tr -s '\t' ' ' | grep -F "$current_partition" | $AWK '{print $3}'`
     1307                partition_size=`grep -Fv "Priority" /proc/swaps | tr -s '\t' ' ' | grep -F "$current_partition " | $AWK '{print $3}'`
    12711308                [ "$partition_mountpt" != "swap" ] && partition_mountpt="swap"
    12721309                [ "$partition_format" != "swap" ] && partition_format="swap"
     
    14871524    LogFile "Transforming $USBDEVICE in a Bootable device" 
    14881525    LogFile "Checking $USBDEVICE"
    1489     $FDISK -l $USBDEVICE 2>> $LOGFILE 1>> $LOGFILE
     1526    $FDISK -l $USBDEVICE 2>&1 >> $LOGFILE
    14901527    if [ $? -ne 0 ]; then
    14911528        LogAll "Unable to access $USBDEVICE"
     
    14991536    # If your key has no MBR it may cause an issue
    15001537    # Use dd if=mbr.bin of=$USBDEVICE or ms-sys -s $USBDEVICE
     1538    if [ -r $MBRFILE ]; then
     1539        LogFile "Installing an MBR ($MBRFILE) on $USBDEVICE"
     1540        dd if=$MBRFILE of=$USBDEVICE
     1541    else
     1542        LogFile "You may need to install an MBR (usually in $MBRFILE, but not found on your system) "
     1543        LogFile "on $USBDEVICE with dd if=$MBRFILE of=$USBDEVICE"
     1544    fi
    15011545    LogFile "Preparing $USBDEVICE"
    1502     $FDISK $USBDEVICE 2>> $LOGFILE 1>> $LOGFILE << EOF
     1546    cat > $MINDI_TMP/fdisk.txt << EOF
    15031547d
    15041548d
     
    15161560w
    15171561EOF
     1562    $FDISK $USBDEVICE 2>> $LOGFILE 1>> $LOGFILE < $MINDI_TMP/fdisk.txt
    15181563    if [ $? -ne 0 ]; then
    15191564        LogAll "Unable to create a vfat Filesystem on $USBDEVICE"
     
    15221567        MindiExit -1
    15231568    fi
     1569    LogFile "fdisk build file"
     1570    LogFile "----------------"
     1571    cat $MINDI_TMP/fdisk.txt >> $LOGFILE
     1572    LogFile "----------------"
     1573    rm -f $MINDI_TMP/fdisk.txt
    15241574    LogFile "The USB device $USBDEVICE now looks like this:"
    15251575    $FDISK -l $USBDEVICE 2>&1 | tee -a $LOGFILE
     
    20232073    local devpath drive res stub
    20242074    device=$1
     2075    if [ "`echo "$device" | grep -E "^/dev/"`" = "" ] ; then
     2076        Die "Cannot find $device's size - is your /etc/fstab sane?"
     2077    fi
    20252078    if [ "`echo "$device" | grep -F "/dev/md"`" != "" ] ; then
    20262079        res=`SizeOfRaidPartition $device`
     
    20912144
    20922145
     2146# WARNING: This function should just echo the final result !!!
     2147#
    20932148TryToFindKernelPath() {
    2094     local fname incoming res fkern_ver we_want_version possible_kernels noof_kernels kernelpath kdate duff_kernels
     2149    local fname fkern_ver we_want_version possible_kernels noof_kernels possible_xenkernels noof_xenkernels kp kdate duff_kernels output root
    20952150
    20962151    we_want_version=$KERVERRUN
    20972152    possible_kernels=""
    20982153    duff_kernels=""
     2154    output=""
    20992155   
    21002156    if [ "$ARCH" = "ia64" ] ; then
     
    21042160    fi
    21052161    # See if we're booted from a Xen kernel
    2106     if [ -d /proc/sys/xen ]; then
     2162    # From http://wiki.xensource.com/xenwiki/XenCommonProblems#head-26434581604cc8357d9762aaaf040e8d87b37752
     2163    if [ -f /proc/xen/capabilities ]; then
    21072164        # It's a Xen kernel
    21082165        KERNEL_IS_XEN="yes"
    2109         LogIt "It's a Xen kernel..."
     2166        LogFile "It's a Xen kernel..."
    21102167    fi
    21112168
     
    21682225        fi
    21692226    elif [ "$noof_kernels" -eq "1" ] ; then
    2170         kernelpath=`echo "$possible_kernels" | sed s/' '//`
    2171         LogFile "Your kernel is $kernelpath (v$KERVERRUN)"
    2172         output="$kernelpath"
     2227        kp=`echo "$possible_kernels" | sed s/' '//`
     2228        LogFile "Your kernel is $kp (v$KERVERRUN)"
     2229        output="$kp"
    21732230    else
    21742231        for i in $possible_kernels ; do
    2175             if echo $i | grep "$KERVERRUN" ; then
     2232            if [ "`echo $i | grep "$KERVERRUN"`" ]; then
    21762233                LogAll "OK, I used my initiative and found that "
    21772234                LogAll "$i is probably your kernel. "
    21782235                output="$i"
     2236                break
    21792237            fi
    21802238        done
    2181         if [ -n "$output" ]; then
    2182             if echo " $possible_kernels " | grep -F "/boot/vmlinuz " &> /dev/null ; then
     2239        if [ ! -n "$output" ]; then
     2240            if [ "`echo " $possible_kernels " | grep -F "/boot/vmlinuz " &> /dev/null`" ]; then
    21832241                output=/boot/vmlinuz
    2184                 echo "Schlomo, this one's for you." >> $LOGFILE
     2242                LogFile "Schlomo, this one's for you."
    21852243            else
    2186                 LogIt "Two or more possible kernels found. You may specify any one of them and the "
    2187                 LogIt "boot disks will still work, probably. If one does not work, try another."
    2188                 LogIt "$possible_kernels"
    2189                 echo ""
     2244                LogFile "Two or more possible kernels found. You may specify any one of them and the "
     2245                LogFile "boot disks will still work, probably. If one does not work, try another."
     2246                LogFile "$possible_kernels"
     2247                output=""
    21902248            fi
    21912249        fi
     
    21962254        elif [ "$noof_xenkernels" -eq "1" ]; then
    21972255            xenkernelpath=`echo "$possible_xenkernels" | sed s/' '//`
    2198             echo "Your Xen kernel is $xenkernelpath (v$KERVERRUN)" >> $LOGFILE
     2256            LogFile "Your Xen kernel is $xenkernelpath (v$KERVERRUN)"
    21992257        else
    22002258            for i in $possible_xenkernels ; do
    2201                     if echo $i | grep "$KERVERRUN" ; then
    2202                     LogIt "OK, I used my initiative and found that "
    2203                         LogIt "$i is probably your Xen kernel. "
     2259                if [ "`echo $i | grep "$KERVERRUN"`" ]; then
     2260                    LogFile "OK, I used my initiative and found that "
     2261                    LogFile "$i is probably your Xen kernel. "
    22042262                    xenkernelpath="$i"
     2263                    break
    22052264                fi
    22062265            done
    2207             if [ -n "$xenkernelpath" ]; then
     2266            if [ ! -n "$xenkernelpath" ]; then
    22082267                new_possible_xenkernels=`echo "$possible_xenkernels" | tr -s ' ' '\n' | grep -E "^/boot" | sort -u | tr '\n' ' '`
    22092268                if [ ! -n "$new_possible_xenkernels" ]; then
    22102269                    xenkernelpath=`echo $new_possible_xenkernels | tr -s ' ' '\n' | head -1`
    2211                     LogIt "Using $xenkernelpath"
     2270                    LogFile "Using $xenkernelpath"
    22122271                else
    2213                         LogIt "Two or more possible Xen kernels found. You may specify any one of them and the "
    2214                     LogIt "boot disks will still work, probably. If one does not work, try another."
    2215                         LogIt "$possible_xenkernels"
    2216                     echo ""
     2272                    LogFile "Two or more possible Xen kernels found. You may specify any one of them and the "
     2273                    LogFile "boot disks will still work, probably. If one does not work, try another."
     2274                    LogFile "$possible_xenkernels"
     2275                    output=""
    22172276                    xenkernelpath=`echo $possible_xenkernels | tr -s ' ' '\n' | head -1`
    2218                     LogIt "Using $xenkernelpath"
     2277                    LogFile "Using $xenkernelpath"
    22192278                fi
    22202279            fi
    22212280        fi
    2222         xenkernelname=`basename $xenkernelpath`
    22232281        if [[ -z "$xenkernelpath" || ! -f "$xenkernelpath" ]]; then
    22242282            Die "Cannot find Xen kernel $xenkernelpath, aborting"
    22252283        fi
    22262284    fi
     2285    LogAll "TryToFindKernelPath found $output"
    22272286    echo "$output"
    22282287}
     
    22582317    echo `cat $MINDI_TMP/mnt.lis` `sort -u $MINDI_TMP/deps.lis` >> $MINDI_TMP/cp.lis
    22592318    rm -f $MINDI_TMP/deps.lis $MINDI_TMP/mnt.lis
     2319
     2320    # Copy of files mandatory for ssh to automate mount if sshfs is used
     2321    echo .ssh >> $MINDI_TMP/mkdir.lis
     2322    echo ~root/.ssh/* >> $MINDI_TMP/cp.lis
     2323    echo > $mountpoint/tmp/myssh << EOF
     2324ssh -o StrictHostKeyChecking=no $*
     2325EOF
     2326    chmod 755 $mountpoint/tmp/myssh
     2327    echo $mountpoint/tmp/myssh >> $MINDI_TMP/cp.lis
    22602328
    22612329    # Copy of files mandatory for ld.so
     
    22792347        # This avoids NIC remapping if on another machine at restore time on Ubuntu at least
    22802348        echo ./etc/udev/rules.d/[0-9][0-9]-persistent-net.rules >> $MINDI_TMP/rm.lis
     2349
     2350        # Do not do it if it's a link (Ubuntu 64 bits #503)
     2351        if [ -e "/lib64/udev" ] && [ ! -h "/lib64" ] && [  ! -h "/lib64/udev" ]; then
     2352            echo /lib64/udev >> $MINDI_TMP/mkdir.lis
     2353            echo /lib64/udev/* >> $MINDI_TMP/cp.lis
     2354        fi
     2355        if [ -e "/lib32/udev" ] && [ ! -h "/lib32" ] && [  ! -h "/lib32/udev" ]; then
     2356            echo /lib32/udev >> $MINDI_TMP/mkdir.lis
     2357            echo /lib32/udev/* >> $MINDI_TMP/cp.lis
     2358        fi
     2359        if [ -e "/lib/udev" ] && [ ! -h "/lib" ] && [  ! -h "/lib/udev" ]; then
     2360            echo /lib/udev >> $MINDI_TMP/mkdir.lis
     2361            echo /lib/udev/* >> $MINDI_TMP/cp.lis
     2362        fi
    22812363        if [ -x /sbin/udevd ]; then
    22822364            # Get only the files which exist in the udev.files list
     
    22962378    fi
    22972379
    2298     # Management of potential HW info (Proliant only at the moment)
     2380    # Management of potential HW info (ProLiant only at the moment)
    22992381    rm -rf $MINDI_CACHE/bkphw
    23002382    mindi-bkphw $MINDI_CACHE $MINDI_CONF | tee -a $LOGFILE
     
    23712453        echo "lib/firmware" >> $MINDI_TMP/mkdir.lis
    23722454        echo "/lib/firmware" >> $MINDI_TMP/cp.lis
     2455    fi
     2456
     2457    # Copy an additional ProLiant tool for OBDR support
     2458    if [ -f $MINDI_TMP/OBDR ]; then
     2459        if [ -x /usr/bin/hpsa_obdr_mode ]; then
     2460            echo $mountpoint/usr/bin >> $MINDI_TMP/mkdir.lis
     2461            echo /usr/bin/hpsa_obdr_mode >> $MINDI_TMP/cp.lis
     2462            LogIt "Copying /usr/bin/hpsa_obdr_mode to ramdisk for improved OBDR support"
     2463        else
     2464            LogAll "WARNING: You're using OBDR mode without having the /usr/bin/hpsa_obdr_mode tool"
     2465            LogAll "         This may lead to a tape not going back to sequential mode after OBDR boot"
     2466        fi
    23732467    fi
    23742468
     
    24182512    # Finally remove useless stff
    24192513    (cd $mountpoint ; rm -f `cat $MINDI_TMP/rm.lis`) 2>&1 >> $LOGFILE
    2420 
    2421     # Copy of files mandatory for ssh to automate mount if sshfs is used
    2422     cp -rp ~root/.ssh/*.pub ~root/.ssh/config ~root/.ssh/known* $mountpoint/.ssh 2> /dev/null
    2423     cat > $mountpoint/bin/myssh << EOF
    2424 ssh -o StrictHostKeyChecking=no $*
    2425 EOF
    2426     chmod 755 $mountpoint/bin/myssh
    24272514
    24282515    # Finally integrate what we provide statically as part of mindi
     
    26952782if [ "$#" -ne "0" ] ; then
    26962783    if [ "$1" = "--findkernel" ] ; then
    2697         res=`TryToFindKernelPath`
     2784        resk=`TryToFindKernelPath`
    26982785        # Avoids logfile content for mondo
    26992786        export MONDO_SHARE=""
    2700         if [ "$res" = "" ] ; then
     2787        if [ "$resk" = "" ] ; then
    27012788            if [ $KERNEL_IS_XEN = "yes" ]; then
    27022789                echo "$xenkernelpath"
    2703                 MindiExit 0
     2790                LogOnly "xenkernelpath = $xenkernelpath"
     2791                MindiExit 0
    27042792            else
    2705                 MindiExit -1
     2793                MindiExit -1
    27062794            fi
    27072795        else
    2708             echo "$res"
    2709             MindiExit 0
     2796            echo "$resk"
     2797            LogOnly "kernelpath = $resk"
     2798            MindiExit 0
    27102799        fi
    27112800    elif [ "$1" = "--locatedeps" ] ; then
     
    27652854        if [ $KERNEL_IS_XEN = "yes" ]; then
    27662855            LogAll "xenkernelpath = $xenkernelpath"
    2767             LogAll "xenkernelname = $xenkernelname"
    27682856        fi
    27692857        kernelname=`echo $kernelpath | cut -d'-' -f2- | sed 's/.[bg]z[2]*$//'`
  • branches/3.1/mindi/mindi-bkphw

    r2709 r2937  
    1111# Handling Configuration files
    1212my $tool = "";
    13 my $tooldir = "";
    1413my $ret = 0;
     14my $productname = undef;
    1515
    1616die "No CACHE_DIR parameter" if ((not defined $ARGV[0]) || (! -d $ARGV[0]));
     
    2424mkdir $bkpdir,0755 if (! -d $bkpdir) ;
    2525open(SYSTEM,"/usr/sbin/dmidecode -s 'system-product-name' 2> /dev/null |") || die "You need /usr/sbin/dmidecode for mindi hardware support";
    26 my $productname = <SYSTEM>;
     26while (<SYSTEM>) {
     27    next if (/^#/);
     28    $productname = $_;
     29    chomp($productname);
     30    }
    2731close(SYSTEM);
    2832
    29 die "ERROR: No product name found for Hardware support\n" if (not defined $productname);
     33die "WARNING: No product name found for Hardware support\n" if (not defined $productname);
    3034
    31 chomp($productname);
    3235if ($productname =~ /proliant/i) {
    3336    print "Detected a $productname. Nice. Continue to support my job :-)\n";
    34     print "Activating Proliant support for mindi\n";
    35     open(PROLIANT,"$confdir/proliant.files") || die "Unable to open $confdir/proliant.files";
     37    print "Activating ProLiant support for mindi\n";
     38    print "You can install the SmartStart Scripting toolkit tool $tool\nto benefit from mindi's enhanced ProLiant support\n";
     39    print "Get it from http://www.hp.com/servers/sstoolkit\n";
     40    print "And use the SDR to get all other HP ProLiant packages\n";
     41    print "Get it from http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/\n";
     42    open(PROLIANT,"$confdir/deplist.d/ProLiant.conf") || die "Unable to open $confdir/deplist.d/ProLiant.conf";
     43    # generate a list of what need to be put on the backup media
    3644    open(TOOLS,"> $bkpdir/../tools.files") || die "Unable to open $bkpdir/../tools.files";
     45    # generate a script that will be launched at rstore time to perform the HW setup
    3746    open(SCRIPT,"> $bkpdir/../mindi-rsthw") || die "Unable to open $bkpdir/../mindi-rsthw";
    3847    print SCRIPT  << 'EOF';
    3948#!/bin/bash
    4049#
     50# Script generated by mindi
     51#
    4152# This script will restore potentially your HW configuration
    42 # on your system before partioning occurs
     53# on your system before partioning occurs.
     54#
    4355# You may want to reboot after that step if you think that
    4456# resetting BIOS parameters to the value restored
    45 # may have an impact on you restoration process
     57# may have an impact on your restoration process or if
     58# you want to benefit from any firmware update that could have happened.
    4659#
    47 # put dynamic libraries at an accessible place
    48 for l in /usr/local/lib/*; do
    49     ln -sf $l /usr/lib
    50 done
    5160EOF
    5261    while($tool = <PROLIANT>) {
     62        my $hasfound = 0;
    5363        next if ($tool =~ /^#/);
    5464        chomp($tool);
    55         $tooldir = dirname($tool);
     65        # skip non-executable/exising binaries
    5666        if (! (-x $tool)) {
    57             print "You could install the SmartStart Scripting toolkit tool $tool\nto benefit from mindi's enhanced hardware support\n";
    58             print "Get it from http://www.hp.com/servers/sstoolkit\n";
    5967            next;
    6068        } else {
    61             print "Found $tool, activating enhanced HP Proliant support in mindi\n";
     69            print "Found $tool, activating enhanced HP ProLiant support in mindi\n";
    6270            print TOOLS "$tool\n";
    6371        }
    6472        if ($tool =~ /\/conrep$/) {
    65             $ret = system("cd $tooldir ; $tool -s -f$bkpdir/conrep.dat");
    66             print SCRIPT "(cd $tooldir ; $tool -l -f$locbkpdir/conrep.dat)\n";
     73            # From the package
     74            if (! -f "/opt/hp/hp-scripting-tools/etc/conrep.xml") {
     75                $ret = system("$tool -s -x /opt/hp/hp-scripting-tools/etc/conrep.xml -f$bkpdir/conrep.dat");
     76            # From the SSSTK
     77            } elsif (! -f "/usr/share/conrep/conrep.xml") {
     78                $ret = system("$tool -s -x /usr/share/conrep/conrep.xml -f$bkpdir/conrep.dat");
     79            } else {
     80                next;
     81            }
     82            print SCRIPT "$tool -l -f$locbkpdir/conrep.dat\n";
    6783            print TOOLS "$tool.xml\n";
    6884        }
    69         if ($tool =~ /\/.acuxebin$/) {
     85        if ($tool =~ /\/hpacuscripting$/) {
     86            $hasfound = 1;
    7087            my $dir=basename($tool);
    71             $ret = system("export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -c $bkpdir/cpqacuxe.dat");
    72             print SCRIPT "export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -i $locbkpdir/cpqacuxe.dat\n";
    73             print TOOLS "$tooldir/bld\n";
    74         }
    75         if ($tool =~ /\/hpacucli$/) {
    76             my $dir=basename($tool);
    77             $ret = system("export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -c $bkpdir/hpacucli.dat");
    78             print SCRIPT "export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -i $locbkpdir/hpacucli.dat\n";
    79             print TOOLS "$tooldir/bld\n";
     88            # Just backup internal info for a DR
     89            $ret = system("$tool -c $bkpdir/hpacuscripting.dat -internal");
     90            # We could want to reset it before.
     91            print SCRIPT "# $tool -reset -i $locbkpdir/hpacusripting.dat\n";
     92            print SCRIPT "$tool -i $locbkpdir/hpacusripting.dat\n";
    8093        }
    8194        if ($tool =~ /\/hponcfg$/) {
    82             $ret = system("$tool -w $bkpdir/hponcfg.dat");
    83             print SCRIPT "$tool -r $locbkpdir/hponcfg.dat\n";
     95            $ret = system("$tool -a -w $bkpdir/hponcfg.dat");
     96            print SCRIPT "$tool -f $locbkpdir/hponcfg.dat\n";
    8497        }
    8598        if ($tool =~ /\.scexe$/) {
    86             print "Found $tool, that firmware will be applied at restore time on your HP Proliant\n";
    87             print SCRIPT "./$tool\n";
     99            print "Found $tool, that firmware will be applied at restore time on your HP ProLiant\n";
     100            print SCRIPT "./$tool -s\n";
     101        }
     102        # Kept for compatibility with older version of tools
     103        if (($tool =~ /\/hpacucli$/) && ($hasfound == 0)) {
     104            my $dir=basename($tool);
     105            $ret = system("$tool -c $bkpdir/hpacucli.dat");
     106            print SCRIPT "$tool -i $locbkpdir/hpacucli.dat\n";
    88107        }
    89108        if ($ret != 0) {
     
    96115} else {
    97116    print "\nWARNING: No Hardware support for $productname.\nNot a big issue, just less features and risks ;-)\n";
    98     print "You may ask your manufacturer to contribute to the mindi project\n";
     117    print "You may ask your manufacturer to contribute to the mindi project (harmless)\n";
    99118}
    100119rmdir $bkpdir if (-d $bkpdir) ;
  • branches/3.1/mindi/rootfs/etc/init.d/rcS

    r2893 r2937  
    131131    mt -f $tapedev rewind
    132132    mt -f $tapedev fsf 2
     133    # 32k is DEFAULT_INTERNAL_TAPE_BLOCK_SIZE
     134    mt -f $tapedev setblk 32768
    133135    dd if=$tapedev bs=32k count=1024 | tar -zx
    134136    res=$?
     
    651653
    652654EnableCcissIfAppropriate() {
    653     local i fname
    654     for i in 0 1 2 3 ; do
    655         fname="/proc/driver/cciss/cciss$i"
    656         if [ -e "$fname" ] ; then
    657             LogIt "Engaging $fname"
    658             echo "engage scsi" > $fname
    659             LogIt "...result=$?"
    660         fi
     655    local f
     656
     657    # In some cases, the OBDR tape remains in CD-ROM mode. This branch solves that issue (#498)
     658    if [ "`grep -i 'obdr ' /tmp/mondo-restore.cfg 2>/dev/null`" ] && [ -x /usr/bin/hpsa_obdr_mode ]; then
     659        for lun in `/usr/bin/hpsa_obdr_mode -m query /dev/cciss/* 2>&1 | grep "is an OBDR device" | cut -d' ' -f4`; do
     660            /usr/bin/hpsa_obdr_mode -m query -l $lun /dev/cciss/* 2>&1 | grep -q "is in CD-ROM mode"
     661            if [ $? -eq 0 ]; then
     662                # This tape/lun should be brought back in Sequential mode
     663                LogIt "Putting back tape $lun in Sequential mode..."
     664                /usr/bin/hpsa_obdr_mode -m tape -l $lun /dev/cciss/* 2>&1 > /dev/null
     665            fi
     666        done
     667    fi
     668
     669    # Now engage all Smart Array controllers to detect attached devices
     670    for f in /proc/driver/cciss/cciss* ; do
     671        LogIt "Engaging $f"
     672        echo "engage scsi" > $f
     673        LogIt "...result=$?"
    661674    done
    662675}
     
    743756done
    744757#/bin/update
     758mkdir /proc 2> /dev/null
    745759mount /proc/ /proc -v -t proc
    746760mkdir /sys 2> /dev/null
  • branches/3.1/mindi/rootfs/sbin/find-and-mount-cdrom

    r2816 r2937  
    3333        fi
    3434        LogIt "$device has a CD-ROM in it"
    35         umount /mnt/cdrom
     35        umount -d /mnt/cdrom
    3636        ln -sf $device /dev/cdrom
    3737        if [ "$?" -ne "0" ]; then
  • branches/3.1/mindi/rootfs/sbin/install-additional-tools

    r2594 r2937  
    44#
    55########################################################################
    6 
    7 
    8 Die() {
    9     echo "Fatal error! $1" >> /dev/stderr
    10     exit 1
    11 }
    12 
    136
    147
     
    6053    cd $old_pwd
    6154    echo -e -n "\r"
    62     [ ! -e "$MINDI_CACHE/CDROM-LIVES-HERE" ] && [ -e "$tarball" ] && umount $mountpoint
     55    [ ! -e "$MINDI_CACHE/CDROM-LIVES-HERE" ] && [ -e "$tarball" ] && umount -d $mountpoint
    6356    sleep 1
    6457fi
  • branches/3.1/mindi/rootfs/sbin/post-init

    r2591 r2937  
    2626else
    2727    if [ "$iso$nuke$compare$interactive$pxe" != "" ] ; then
    28         LogIt "FYI, this CD was made by Mindi, not Mondo." 1
     28        LogIt "The mondorestore command was not found on your backup media" 1
     29        LogIt "It may mean your device is not seen correctly." 1
     30        LogIt "Check driver list and error messages." 1
    2931        exit 0
    3032    else
  • branches/3.1/mindi/rootfs/sbin/start-netfs

    r2709 r2937  
    1010ipcount=3
    1111
    12 ipconf=""
    13 pre=""
    14 post=""
     12# Get info from config file
    1513ipdev=""
     14hwaddr=""
    1615ipaddress=""
    1716ipnetmask=""
     
    1918ipgateway=""
    2019proto=""
     20ipconf=""
     21pre=""
     22post=""
    2123netfsmount=""
    2224imgname=""
     
    2628if [ -f $MINDI_CACHE/mondorestore.cfg ]; then
    2729    ipdev=`grep netfs-dev $MINDI_CACHE/mondorestore.cfg 2> /dev/null | cut -d' ' -f2-`
     30    hwaddr=`grep netfs-client-hwaddr $MINDI_CACHE/mondorestore.cfg 2> /dev/null | cut -d' ' -f2-`
    2831    ipaddress=`grep netfs-client-ipaddr $MINDI_CACHE/mondorestore.cfg 2> /dev/null | cut -d' ' -f2-`
    2932    ipnetmask=`grep netfs-client-netmask $MINDI_CACHE/mondorestore.cfg 2> /dev/null | cut -d' ' -f2-`
     
    4649for i in `cat $CMDLINE` ; do
    4750    echo $i | grep -qi ping= && ipcount=`echo $i | cut -d= -f2`
     51    echo $i | grep -qi hwaddr= && hwaddr=`echo $i | cut -d= -f2`
    4852    echo $i | grep -qi ipconf= && ipconf=`echo $i | cut -d= -f2`
    4953    echo $i | grep -qi netfsmount= && export netfsmount=`echo $i | cut -d= -f2`
     
    9397            ipgateway=`echo $ipconf | cut -d: -f5`
    9498        fi
     99
     100        # If same system, map to the right MAC address
     101        hwaddr_found=`ifconfig $ipdev | /bin/grep HWaddr | awk '{print $NF}'`
     102        if [ "$hwaddr" != "$hwaddr_found" ]; then
     103            ipdev_new=`ifconfig -a | /bin/grep $hwaddr | awk '{print $1}'`
     104            if [ "$ipdev_new" != "" ]; then
     105                LogIt "Interface $ipdev changed to $ipdev_new (MAC: $hwaddr)"
     106                ipdev=$ipdev_new
     107            else
     108                LogIt "NOTE: Interface $ipdev kept despite it doesn't match the $hwaddr MAC address"
     109            fi
     110        fi
     111
    95112        LogIt "Configuring $ipdev statically ($ipaddress/$ipnetmask)"
    96113        ifconfig $ipdev $ipaddress netmask $ipnetmask broadcast $ipbroadcast
    97114        route add default gw $ipgateway
     115
    98116    fi
     117
     118    # Leave time to the satck to wake up (reported by some users)
     119    sleep 5
    99120
    100121    # ping server helps waking interface up
  • branches/3.1/mondo-doc/mindi.8

    r2295 r2937  
    2727.B mindi
    2828.br
    29 .BR "mindi -v"| " --version"| " -V"| " -version"
     29.BR "mindi \-v"| " --version"| " \-V"| " -version"
    3030.br
    3131.BI "mindi --findkernel"
     
    6464.SH OPTIONS
    6565.TP
    66 .BI "-v"| " --version"| " -V"| " -version"
     66.BI "\-v"| " --version"| " \-V"| " -version"
    6767.RI Prints the version of mindi.
    6868.TP
  • branches/3.1/mondo-doc/mondoarchive.8

    r2850 r2937  
    114114Use ISO files (CD images) as backup media. This is good for backing up your
    115115system to a spare hard drive. The
    116 .B -n
     116.B \-n
    117117switch is a wiser choice if you plan to restore from a remote filesystem.
    118118
     
    161161This is the prefered and recommended option when doing partial archiving.
    162162Note that mondo automatically excludes removable media (/mnt/floppy,
    163 /mnt/cdrom, /proc, /sys, /tmp). For example, if you are backing up to an NFS mount but you
     163/mnt/cdrom, /proc, /sys, /run, /tmp). For example, if you are backing up to an NFS mount but you
    164164do not want to include the contents of the mount in a backup, exclude your
    165165local mount-point with this switch. It will also work with partitions, e.g.
     
    173173
    174174.TP
    175 .BI "-I " "\*(lqpath|...\*(rq"
     175.BI "\-I " "\*(lqpath|...\*(rq"
    176176Include paths(s) in backup. The paths should be separated with a pipe and surrounded by quotes.
    177177This option is mainly used to perform tests
     
    186186.BR \-E
    187187option, the \-E content should be subdirectories of those mentioned in
    188 the \-I only, as -I takes precedence.
    189 
    190 .TP
    191 .BI "-J " "file"
     188the \-I only, as \-I takes precedence.
     189
     190.TP
     191.BI "\-J " "file"
    192192Specify an explicit list of files and directories to include in a plain text file, one item
    193193(file or directory) per line. Beware that directories placed in that file are not managed recursively contrary to what is done with the \-I option.
    194194
    195195.TP
    196 .BI "-N"
     196.BI "\-N"
    197197Exclude all mounted network filesystems. This currently means NFS, SMB, Coda, MVFS, AFS
    198198OCFS and Netware. In other words, only backup the local hard disk(s).
    199199
    200200.TP
    201 .BI "-d " "dev|dir"
     201.BI "\-d " "dev|dir"
    202202Specify the backup device (CD/tape/USB) or directory (NFS/ISO). For CD-R[W] drives,
    203203this is the SCSI node where the drive may be found, e.g. '0,1,0'. For tape
     
    205205this is the device name of your key or external disk. For ISO users,
    206206this is the directory where the ISO images are stored. For NFS users, this is
    207 the directory within the NFS mount where the backups are stored. The default
     207the subdirectory under the NFS mount where the backups are stored. The default
    208208for ISO and NFS is '/var/cache/mondo'.
    209209
    210210.TP
    211 .BI "-g "
     211.BI "\-g "
    212212GUI mode. Without this switch, the screen output of mondoarchive is suitable
    213213for processing by an 'expect' wrapper, enabling the user to backup nightly via
     
    216216
    217217.TP
    218 .BI "-k " "path"
     218.BI "\-k " "path"
    219219Path of user's kernel. If you are a Debian (<3.0) or Gentoo (<1.4) user then specify
    220220.B \-k FAILSAFE
     
    222222
    223223.TP
    224 .BI "-m "
     224.BI "\-m "
    225225Manual (not self-retracting) CD trays are often found on laptops. If you are
    226226a laptop user, your CD burner has BurnProof technology or you experience
     
    228228
    229229.TP
    230 .BI "-o "
     230.BI "\-o "
    231231Use OBDR (One Button Disaster Recovery) type of tapes.
    232232By default, tapes are not bootable. With this flag, tape will be made bootable
     
    234234
    235235.TP
    236 .BI "-s " "size"
     236.BI "\-s " "size"
    237237How much can each of your backup media hold? You may use 'm' and 'g' on the end
    238238of the number, e.g. '700m' for an extra-large CD-R. You no longer need to
     
    240240
    241241.TP
    242 .BI "-x " "'dev ...'"
     242.BI "\-x " "'dev ...'"
    243243Specify non-Linux partitions which you want to backup, e.g. NTFS or BeOS.
    244244
     
    246246.SH MINOR OPTIONS
    247247.TP 13
    248 .BI "-[0-9] "
     248.BI "\-[0-9] "
    249249Specify the compression level. Default is 3. No compression is 0.
    250250
    251251.TP
    252 .BI "-A " "command"
     252.BI "\-A " "command"
    253253This command will be called after each CD/NFS/ISO file is written. It is useful
    254254if you want to do something with an ISO after creating it, e.g. write it to a
    255255CD burner using a non-standard command.
    256 .B -A
     256.B \-A
    257257understands two tokens \- _ISO_ and _CD#_ - which will be translated into the
    258258ISO's filename and its index number (1, 2, ...) respectively. So, you could use
     
    267267
    268268.TP
    269 .BI "-H "
     269.BI "\-H "
    270270When you boot from the tape/CD, your hard drive will be wiped and the archives
    271271will be restored. Your decision to boot from the tape/CD will be taken as
     
    274274
    275275.TP
    276 .BI "-L "
     276.BI "\-L "
    277277Use lzo, a fast compression engine, instead of bzip2. You may find lzo on
    278278Mondo's website or via FreshMeat. WARNING! Some versions of LZO are unstable.
    279279
    280280.TP
    281 .BI "-G "
     281.BI "\-G "
    282282Use gzip, the standard and quicker Linux compression engine, instead of bzip2.
    283283
    284284.TP
    285 .BI "-Y "
     285.BI "\-Y "
    286286Use lzma, the new quicker and optimized Linux compression engine, instead of bzip2.
    287287
    288288.TP
    289 .BI "-R "
     289.BI "\-R "
    290290EXPERIMENTAL. Do not use in mission-critical environments. Star is an
    291291alternative to afio. Mondo now supports POSIX ACLs and extended
     
    293293
    294294.TP
    295 .BI "-P " "tarball"
     295.BI "\-P " "tarball"
    296296Post-nuke tarball. If you boot into Nuke Mode and everything is restored
    297297successfully then the
     
    304304
    305305.TP
    306 .BI "-S " "path"
     306.BI "\-S " "path"
    307307Specify the full pathname of the scratchdir, the directory where ISO
    308308images are built before being archived. If you have plenty of RAM and
     
    310310
    311311.TP
    312 .BI "-T " "path"
     312.BI "\-T " "path"
    313313Specify the full pathname of the tempdir, the directory where temporary
    314314files (other than ISO images being assembled) are stored. See
     
    316316
    317317.TP
    318 .BI "-W "
     318.BI "\-W "
    319319Don't make your backup self-booting. This is a really bad idea, IMO. Don't do
    320320this unless you have really great boot disks in your hand and you are an anally
     
    323323
    324324.TP
    325 .BI "-b "
     325.BI "\-b "
    326326Specify the internal block size used by the tape drive. This is usually 32K but
    327327some drives just don't like that. They should but they don't. That's what
     
    330330
    331331.TP
    332 .BI "-e "
     332.BI "\-e "
    333333Don't eject the CD or tape when backing up...
    334334
    335335.TP
    336 .BI "-f " "device"
     336.BI "\-f " "device"
    337337Specify the drive on which your Master Boot Record lives. Usually, this is
    338338discovered automatically. A good use case may be when you have software RAID.
    339339
    340340.TP
    341 .BI "-l " "GRUB|LILO|ELILO|RAW"
     341.BI "\-l " "GRUB|LILO|ELILO|RAW"
    342342Specify the boot loader. By default, your Master Boot Record is examined and
    343343the boot loader can usually be discovered. If you specify RAW then the MBR will
     
    347347
    348348.TP
    349 .BI "-Q "
     349.BI "\-Q "
    350350Give more detailed information about the boot loader.
    351351
    352352.TP
    353 .BI "-K " "loglevel"
     353.BI "\-K " "loglevel"
    354354Specify the loglevel. Use 99 for full debug. Standard debug level is 4.
    355355
    356356.TP
    357 .BI "-v "
     357.BI "\-v "
    358358Gives mondoarchive version.
    359359
    360360.TP
    361 .BI "-z "
     361.BI "\-z "
    362362Use extended attributes and acl for each file and store them in the
    363363backup media. Use this option if you use SElinux e.g. but it will slow
     
    377377support questions.
    378378
     379.SH ENVIRONMENT VARIABLES
     380.IR ARCH
     381This variable is passed to the environment by mondoarchive so that
     382parted2fdisk.pl is aware of the underlying hardware architecture.
     383
     384.IR MONDO_SHARE
     385This variable is passed to the environment by mondoarchive so that
     386mindi is aware that it's called from it and act accordingly. It contains
     387the shared directory for the mondo package.
     388
     389.IR PATH
     390This variable is modified internally by mondoarchive so that /sbin:/usr/sbin:/usr/local/sbin
     391are appended to it systematically in order to find the required tools.
     392
     393.IR TMPDIR
     394This variable is used, if defined, as the target directory to create
     395all the temporary files needed during the operation (not the scratch files)
     396
     397.IR TMP
     398This variable is used, if defined and if TMPDIR is not defined, as the target
     399directory to create all the temporary files needed during the operation
     400(not the scratch files)
    379401
    380402.SH NOTES
     
    450472
    451473.BI USB:
    452 Backup to your USB key, using gzip compression:
    453 .br
    454 .I "mondoarchive -OU -d /dev/sda -G"
     474Backup to your 4GB USB key, using gzip compression:
     475.br
     476.I "mondoarchive -OU -d /dev/sda -s 4g -G"
    455477
    456478.BI RAID:
  • branches/3.1/mondo-doc/mondorescue-howto.sgml

    r2850 r2937  
    322322</entry>
    323323<entry>
    324 If you want to backup the whole computer (excluding /sys and /proc,
    325 naturally) then leave this as / which is the default. Otherwise,
     324        If you want to backup the whole computer (excluding /sys, /run and /proc,
     325        naturally as well as /tmp) then leave this as / which is the default. Otherwise,
    326326specify subsets, (e.g. /usr/local /home ) being sure to put a space
    327327in between each path.
  • branches/3.1/mondo-doc/mondorestore.8

    r2715 r2937  
    4141
    4242.TP
    43 .BI "-p " prefix
     43.BI "\-p " prefix
    4444Use
    4545.B prefix
     
    5252
    5353.TP
    54 .BI "-i "
     54.BI "\-i "
    5555Use ISO files (CD images) as restore media. This is good when having backed up your
    5656system to a spare hard drive. The
     
    5959
    6060.TP
    61 .BI "-n " mount
     61.BI "\-n " mount
    6262Use files residing on NFS partition as restore media.
    6363.I mount
     
    6666
    6767.TP
    68 .BI "-t "
     68.BI "\-t "
    6969Use tape streamer as restore device and its tapes as restore media.
    7070
    7171.TP
    72 .BI "-U "
     72.BI "\-U "
    7373Use a generic USB device as restore device. Use this if you want to read
    7474your backup from a USB key or USB disk.
     
    7979
    8080.TP
    81 .BI "-u "
     81.BI "\-u "
    8282Use a generic streaming device as restore device. Use this if you want to read
    8383your backup from a device that is not directly support by mondoarchive. This will
     
    8686
    8787.TP
    88 .BI "-E " "\*(lqpath ...\*(rq"
     88.BI "\-E " "\*(lqpath ...\*(rq"
    8989Exclude path(s) from restore (future dev). The paths should be separated with a pipe.
    9090For example, if you are restoring up
     
    9292
    9393.TP
    94 .BI "-I " "\*(lqpath ...\*(rq"
     94.BI "\-I " "\*(lqpath ...\*(rq"
    9595Include paths(s) to restore (future dev).
    9696
    9797.TP
    98 .BI "-J " "file"
     98.BI "\-J " "file"
    9999Specify an explicit list of files and directories to restore in a plain
    100100text file, one item (file or directory) per line. Beware that
    101101directories placed in that file are not managed recursively contrary to
    102 what is done with the \-I option.
    103 
    104 .TP
    105 .BI "-d " "dev|dir"
     102what is done with the \-I option (future dev).
     103
     104.TP
     105.BI "\-d " "dev|dir"
    106106Specify the restore device (CD/tape/USB) or directory (NFS/ISO). For CD-R[W] drives,
    107107this is the SCSI node where the drive may be found, e.g. '0,1,0'. For tape
     
    113113
    114114.TP
    115 .BI "-g "
     115.BI "\-g "
    116116GUI mode. Without this switch, the screen output of mondorestore is text based.
    117117
    118118.TP
    119 .BI "-m "
     119.BI "\-m "
    120120Manual (not self-retracting) CD trays are often found on laptops. If you are
    121121a laptop user, your CD burner has BurnProof technology or you experience
     
    123123
    124124.TP
    125 .BI "-o "
     125.BI "\-o "
    126126Use OBDR (One Button Disaster Recovery) type of tapes.
    127127By default, tapes are not bootable. With this flag, tape will be read as bootable tapes
     
    129129
    130130.TP
    131 .BI "-x " "'dev ...'"
     131.BI "\-x " "'dev ...'"
    132132Specify non-Linux partitions which you want to restore (future dev).
    133133
    134134.TP
    135 .BI "-T " "path"
     135.BI "\-T " "path"
    136136Specify the full pathname of the tempdir, the directory where temporary files
    137137are stored.
    138138
    139139.TP
    140 .BI "-b "
     140.BI "\-b "
    141141Specify the internal block size used by the tape drive. This is usually 32K but
    142142some drives just don't like that. They should but they don't. That's what
     
    145145
    146146.TP
    147 .BI "-e "
     147.BI "\-e "
    148148Don't eject the CD or tape when restoring...
    149149
    150150.TP
    151 .BI "-f " "device"
     151.BI "\-f " "device"
    152152Specify the drive on which your Master Boot Record lives. Usually, this is
    153153discovered automatically. (future dev)
    154154
    155155.TP
    156 .BI "-Q "
     156.BI "\-Q "
    157157Give more detailed information about the boot loader.
    158158
    159159.TP
    160 .BI "-K " "loglevel"
     160.BI "\-K " "loglevel"
    161161Specify the loglevel. Use 99 for full debug. Standard debug level is 4.
    162162
    163163.TP
    164 .BI "-z "
     164.BI "\-z "
    165165Use extended attributes and acl for each file and store them in the
    166166backup media. Use this option if you use SElinux e.g. but it will slow
     
    168168
    169169.TP
    170 .BI "-Z "
     170.BI "\-Z "
    171171Specify mondorestore mode. Mode could be one of
    172172.IR nuke:
     
    196196and moved under /var/log at the end.
    197197
     198.SH ENVIRONMENT VARIABLES
     199.IR TMPDIR
     200This variable is used, if defined, as the target directory to create
     201all the temporary files needed during the operation (not the scratch files)
     202
     203.IR TMP
     204This variable is used, if defined and if TMPDIR is not defined, as the target
     205directory to create all the temporary files needed during the operation
     206(not the scratch files)
     207
     208.IR dirimg
     209This variable is setup by the rcS script to store the network remote directory in PXE mode.
     210(managed internally)
     211
     212.IR imgname
     213This variable is setup by the rcS script to overwrite the prefix name in PXE mode.
     214(managed internally)
     215
     216.IR netfsmount
     217This variable is setup by the rcS script to store the network file system mount point in PXE mode.
     218(managed internally)
     219
     220.IR MRUSBDEV
     221This variable contains the device file of the USB device to restore from.
     222(equivalent if the usb-dev parameter of the mondorescue config file)
     223
    198224.SH NOTES
    199225A link to Mondo's HTML-based manual (by Bruno Cornec, Mikael Hultgren,
  • branches/3.1/mondo/src/common/libmondo-archive.c

    r2850 r2937  
    483483 * - @c compression_level
    484484 * - @c differential
    485  * - @c exclude_paths
    486485 * - @c image_devs
    487486 * - @c kernel_path
     
    610609
    611610    if (!bkpinfo->nonbootable_backup && (bkpinfo->boot_loader == '\0' || bkpinfo->boot_device == NULL)) {
     611        update_evalcall_form(2);
    612612
    613613#ifdef __FreeBSD__
     
    782782    mr_free(command);
    783783    log_msg(1, "lines_in_filelist = %ld", lines_in_filelist);
     784    update_evalcall_form(3);
    784785
    785786    /*                          1           2  3          4    5    6    7   8    9    10 */
     
    832833
    833834    mvaddstr_and_log_it(g_currentY, 0, "Calling MINDI to create boot+data disks");
     835    open_evalcall_form("Calling MINDI to create boot+data disks");
    834836    res = run_external_binary_with_percentage_indicator_NEW("Generating boot+data disks", command);
     837    update_evalcall_form(99);
    835838    paranoid_free(command);
    836839
     
    874877        mr_free(tmp);
    875878    }
     879    close_evalcall_form();
    876880    return (res);
    877881}
     
    14711475    log_msg(2, "make_usb_fs --- scratchdir=%s", bkpinfo->scratchdir);
    14721476    (void) getcwd(old_pwd, MAX_STR_LEN - 1);
    1473     mr_asprintf(tmp, "chmod 755 %s", bkpinfo->scratchdir);
     1477    mr_asprintf(tmp, "chmod 700 %s", bkpinfo->scratchdir);
    14741478    run_program_and_log_output(tmp, FALSE);
    14751479    mr_free(tmp);
     
    14991503    run_program_and_log_output(tmp, FALSE);
    15001504    mr_free(tmp);
     1505
    15011506
    15021507    /* Mindi always create one single parition on the USB dev */
     
    15951600    log_msg(2, "make_iso_fs --- scratchdir=%s --- destfile=%s", bkpinfo->scratchdir, destfile);
    15961601    (void) getcwd(old_pwd, MAX_STR_LEN - 1);
    1597     mr_asprintf(tmp, "chmod 755 %s", bkpinfo->scratchdir);
     1602    mr_asprintf(tmp, "chmod 700 %s", bkpinfo->scratchdir);
    15981603    run_program_and_log_output(tmp, FALSE);
    15991604    mr_free(tmp);
     
    25992604
    26002605    if (!ok_go_ahead_burn_it) {
    2601         eject_device(cdrom_dev);
     2606        if (!bkpinfo->please_dont_eject) {
     2607            eject_device(cdrom_dev);
     2608        }
    26022609        mds = media_descriptor_string(g_backup_media_type);
    26032610        mr_asprintf(tmp, "I am about to burn %s #%d of the backup set. Please insert %s and press Enter.", mds, g_current_media_number, mds);
     
    32543261        run_program_and_log_output("umount " MNT_CDROM, FALSE);
    32553262//    if (bkpinfo->backup_media_type != iso && !bkpinfo->please_dont_eject_when_restoring)
    3256 //{
    3257         eject_device(bkpinfo->media_device);
    3258 //}
     3263        if (!bkpinfo->please_dont_eject) {
     3264            eject_device(bkpinfo->media_device);
     3265        }
    32593266    }
    32603267    mr_asprintf(tmp, "%s/changed.files", MONDO_CACHE);
  • branches/3.1/mondo/src/common/libmondo-cli.c

    r2850 r2937  
    488488            *p = '\0';
    489489        }
    490         mr_asprintf(tmp1, "mount | grep -E \"^[%s@]*%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_user, bkpinfo->netfs_mount);
     490        mr_asprintf(tmp1, "mount | grep -E \"^[a-z]*#*[%s@]*%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_user, bkpinfo->netfs_mount);
    491491        mr_free(bkpinfo->isodir);
    492492        bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp1,TRUE);
     
    776776
    777777    if (flag_set['S']) {
     778        /* Before changing remove old ones if any */
     779        if (bkpinfo->scratchdir) {
     780            chdir("/tmp");
     781            mr_asprintf(tmp1, "rm -Rf %s", bkpinfo->scratchdir);
     782            paranoid_system(tmp1);
     783            mr_free(tmp1);
     784        }
    778785        mr_asprintf(bkpinfo->scratchdir, "%s/mondo.scratch.%ld", flag_val['S'], random() % 32768);
    779786    }
  • branches/3.1/mondo/src/common/libmondo-devices.c

    r2850 r2937  
    9494{
    9595//  log_it("rctada: Retracting all CD trays", __LINE__);
    96     if (strlen(g_cdrom_drive_is_here) > 0) {
    97         inject_device(g_cdrom_drive_is_here);
    98     }
    99     if (strlen(g_dvd_drive_is_here) > 0) {
    100         inject_device(g_dvd_drive_is_here);
    101     }
    102     if (strlen(g_cdrw_drive_is_here) > 0) {
    103         inject_device(g_cdrw_drive_is_here);
     96    if (!bkpinfo->please_dont_eject) {
     97        if (strlen(g_cdrom_drive_is_here) > 0) {
     98            inject_device(g_cdrom_drive_is_here);
     99        }
     100        if (strlen(g_dvd_drive_is_here) > 0) {
     101            inject_device(g_dvd_drive_is_here);
     102        }
     103        if (strlen(g_cdrw_drive_is_here) > 0) {
     104            inject_device(g_cdrw_drive_is_here);
     105        }
    104106    }
    105107//  log_it("rctada: killing autorun");
     
    537539    tmp1 = find_home_of_exe(cdr_exe);
    538540    if (tmp1) {
    539         mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep CD | cut -d' ' -f2 | head -n1", cdr_exe);
     541        mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -E '[D|C][V|D]' | cut -d' ' -f2 | head -n1", cdr_exe);
    540542        tmp = call_program_and_get_last_line_of_output(command,TRUE);
    541543        mr_free(command);
     
    846848    }
    847849
    848     tmp = call_program_and_get_last_line_of_output("dvdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1",TRUE);
     850    tmp = call_program_and_get_last_line_of_output("dvdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep -E '[D|C][V|D]' | cut -d':' -f1",TRUE);
    849851    log_msg(5, "tmp = '%s'", tmp);
    850852    if (!tmp[0])
    851853        mr_free(tmp);
    852         tmp = call_program_and_get_last_line_of_output("cdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1",TRUE);
     854        tmp = call_program_and_get_last_line_of_output("cdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep -E '[D|C][V|D]' | cut -d':' -f1",TRUE);
    853855    if (tmp[0]) {
    854856        devno = atoi(tmp) - 1;
     
    14481450    if ((res = what_number_cd_is_this()) != cd_number_i_want) {
    14491451        log_msg(3, "Currently, we hold %d but we want %d", res, cd_number_i_want);
     1452
     1453        /* Now we need to umount the current media to have the next mounted after */
     1454        run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
     1455        log_msg(3, "Mounting next media %d",cd_number_i_want);
     1456        g_current_media_number = cd_number_i_want;
     1457        mount_media();
     1458
    14501459        mds = media_descriptor_string(bkpinfo->backup_media_type);
    14511460        log_msg(3, "Insisting on %s #%d", mds, cd_number_i_want);
     
    14571466            if (is_this_device_mounted(MNT_CDROM)) {
    14581467                res =
    1459                     run_program_and_log_output("umount " MNT_CDROM, FALSE);
     1468                    run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    14601469            } else {
    14611470                res = 0;
     
    19952004char *tmp = NULL;
    19962005char *tmp1 = NULL;
     2006char *tmp2 = NULL;
    19972007
    19982008if (pathlist == NULL) {
     
    20522062        /*  Adds a | to ensure correct detection even at both ends */
    20532063        mr_asprintf(tmp1,"|%s",token);
     2064        mr_asprintf(&tmp2,"|%s|",token);
    20542065        if (mode == 'E') {
    20552066            /*  Add the token if not already in the list */
    20562067            mr_asprintf(tmp,"|%s|",bkpinfo->exclude_paths);
    2057             if (strstr(tmp,tmp1) == NULL) {
     2068            if (strstr(tmp,tmp2) == NULL) {
    20582069                if (bkpinfo->exclude_paths) {
    20592070                    mr_strcat(bkpinfo->exclude_paths,tmp1);
     
    20662077            /*  Add the token if not already in the list */
    20672078            mr_asprintf(tmp,"|%s|",bkpinfo->include_paths);
    2068             if (strstr(tmp,tmp1) == NULL) {
     2079            if (strstr(tmp,tmp2) == NULL) {
    20692080                mr_strcat(bkpinfo->include_paths, "%s", tmp1);
    20702081            }
     
    20722083        }
    20732084        mr_free(tmp);
     2085        mr_free(tmp2);
    20742086        break;
    20752087    }
  • branches/3.1/mondo/src/common/libmondo-filelist.c

    r2874 r2937  
    13661366#if linux
    13671367        // 2.6 has /sys as a proc-type thing -- must be excluded
    1368         mr_asprintf(strtmp, "find '%s' -maxdepth %d -fstype mvfs -prune -o -fstype devpts -prune -o -fstype tmpfs -prune -o -fstype proc -prune -o -fstype sysfs -prune -o -fstype rpc_pipefs -prune -o -fstype none -prune -o %s -type d -print > %s 2> /dev/null", dir, MAX_SKEL_DEPTH, find_excludes, g_skeleton_filelist);
     1368        mr_asprintf(strtmp, "find '%s' -maxdepth %d -fstype mvfs -prune -o -fstype devpts -prune -o -fstype tmpfs -prune -o fstype devtmpfs -prune -o -fstype proc -prune -o -fstype selinuxfs -prune -o -fstype securityfs -prune -o -fstype hugetlbfs -o -fstype cgroup -prune -prune -o -fstype mqueue -prune -o -fstype debugfs -prune -o -fstype sysfs -prune -o -fstype rpc_pipefs -prune -o -fstype none -prune -o %s -type d -print > %s 2> /dev/null", dir, MAX_SKEL_DEPTH, find_excludes, g_skeleton_filelist);
    13691369#else
    13701370        // On BSD, for example, /sys is the kernel sources -- don't exclude
     
    15821582        mr_free(tmp1);
    15831583
    1584         mr_asprintf(exclude_paths, MONDO_CACHE"|%s|%s|%s|.|..|"MNT_CDROM"|"MNT_FLOPPY"|/media|/tmp|/proc|/sys|/dev/shm|"MINDI_CACHE, tmp2, (bkpinfo->tmpdir[0] == '/' && bkpinfo->tmpdir[1] == '/') ? (bkpinfo->tmpdir + 1) : bkpinfo->tmpdir, (bkpinfo->scratchdir[0] == '/' && bkpinfo->scratchdir[1] == '/') ? (bkpinfo->scratchdir + 1) : bkpinfo->scratchdir);
     1584        mr_asprintf(exclude_paths, MONDO_CACHE"|%s|%s|%s|.|..|"MNT_CDROM"|"MNT_FLOPPY"|/media|/tmp|/proc|/sys|/run|/dev/shm|"MINDI_CACHE, tmp2, (bkpinfo->tmpdir[0] == '/' && bkpinfo->tmpdir[1] == '/') ? (bkpinfo->tmpdir + 1) : bkpinfo->tmpdir, (bkpinfo->scratchdir[0] == '/' && bkpinfo->scratchdir[1] == '/') ? (bkpinfo->scratchdir + 1) : bkpinfo->scratchdir);
    15851585        if (excp != NULL) {
    15861586            mr_strcat(exclude_paths,"|%s",excp);
  • branches/3.1/mondo/src/common/libmondo-files-EXT.h

    r2569 r2937  
    4545extern long size_of_partition_in_mountlist_K(char *tmpdir, char *dev);
    4646
    47 extern int make_grub_install_scriptlet(char *outfile);
    4847extern int read_one_liner_data_file(char *fname, char *contents);
  • branches/3.1/mondo/src/common/libmondo-files.c

    r2850 r2937  
    904904    if (res) {
    905905        log_to_screen("Please install '%s'. I cannot find it on your system.", fname);
    906         log_to_screen("There may be hyperlink at http://www.mondorescue.com which");
     906        log_to_screen("There may be hyperlink at http://www.mondorescue.org which");
    907907        log_to_screen("will take you to the relevant (missing) package.");
    908908        return (1);
     
    10631063    /*@ buffers ******** */
    10641064    char *netfs_dev = NULL;
    1065     char *mac_addr = NULL;
     1065    char *netfs_client_hwaddr = NULL;
    10661066    char *netfs_mount = NULL;
    10671067    char *netfs_client_ipaddr = NULL;
     
    11271127    if (!strncmp(netfs_dev, "bond", 4) || !strncmp(netfs_dev, "alb", 3) || !strncmp(netfs_dev, "aft", 3)) {
    11281128        log_to_screen("Found bonding device %s; looking for corresponding ethN slave device\n", netfs_dev);
    1129         mr_asprintf(command, "%s", "ifconfig %s | awk '{print $5}' | head -n1", netfs_dev);
    1130         mac_addr = call_program_and_get_last_line_of_output(command,TRUE);
     1129
     1130        mr_asprintf(command, "ifconfig %s | awk '{print $5}' | head -n1", netfs_dev);
     1131        netfs_client_hwaddr = call_program_and_get_last_line_of_output(command,TRUE);
    11311132        mr_free(command);
    11321133
    1133         mr_asprintf(command, "ifconfig | grep -E '%s' | grep -v '%s' | head -n1 | cut -d' ' -f1", mac_addr,netfs_dev);
    1134         mr_free(mac_addr);
     1134        mr_asprintf(command, "ifconfig | grep -E '%s' | grep -v '%s' | head -n1 | cut -d' ' -f1", netfs_client_hwaddr, netfs_dev);
    11351135        mr_free(netfs_dev);
    11361136
     
    11511151    mr_free(netfs_mount);
    11521152
    1153     mr_asprintf(tmp, "%s/NETFS-SERVER-PATH", bkpinfo->tmpdir);
    1154     write_one_liner_data_file(tmp, bkpinfo->netfs_remote_dir);
    1155     mr_free(tmp);
    1156 
    11571153    mr_asprintf(tmp, "%s/NETFS-CLIENT-IPADDR", bkpinfo->tmpdir);
    11581154    write_one_liner_data_file(tmp, netfs_client_ipaddr);
     1155    mr_free(tmp);
     1156
     1157    mr_asprintf(tmp, "%s/NETFS-CLIENT-HWADDR", bkpinfo->tmpdir);
     1158    write_one_liner_data_file(tmp, netfs_client_hwaddr);
    11591159    mr_free(tmp);
    11601160
     
    13061306}
    13071307
    1308 
    1309 /**
    1310  * Create a small script that mounts /boot, calls @c grub-install, and syncs the disks.
    1311  * @param outfile Where to put the script.
    1312  * @return 0 for success, 1 for failure.
    1313  */
    1314 int make_grub_install_scriptlet(char *outfile)
    1315 {
    1316     FILE *fout;
    1317     char *tmp = NULL;
    1318     int retval = 0;
    1319 
    1320     if ((fout = fopen(outfile, "w"))) {
    1321         fprintf(fout,
    1322                 "#!/bin/sh\n\nmount /boot > /dev/null 2> /dev/null\ngrub-install $@\nres=$?\nsync;sync;sync\nexit $res\n");
    1323         paranoid_fclose(fout);
    1324         log_msg(2, "Created %s", outfile);
    1325         mr_asprintf(tmp, "chmod +x %s", outfile);
    1326         paranoid_system(tmp);
    1327         mr_free(tmp);
    1328         retval = 0;
    1329     } else {
    1330         retval = 1;
    1331     }
    1332     return (retval);
    1333 }
    1334 
    13351308/* @} - end fileGroup */
  • branches/3.1/mondo/src/common/libmondo-files.h

    r2569 r2937  
    4444int make_hole_for_dir(const char *outdir_fname);
    4545long size_of_partition_in_mountlist_K(char *tmpdir, char *dev);
    46 int make_grub_install_scriptlet(char *outfile);
    47 
    4846int read_one_liner_data_file(char *fname, char *contents);
  • branches/3.1/mondo/src/common/libmondo-fork.c

    r2704 r2937  
    9797 * - @c bkpinfo->manual_cd_tray
    9898 * - @c bkpinfo->backup_media_type
    99  * - @c bkpinfo->please_dont_eject_when_restoring
    10099 * @param basic_call The call to mkisofs. May contain tokens that will be resolved to actual data. The tokens are:
    101100 * - @c _ISO_ will become the ISO file (@p isofile)
  • branches/3.1/mondo/src/common/libmondo-mountlist.c

    r2816 r2937  
    840840            !strcmp(mountlist->el[items].device, "/sys") ||
    841841            !strcmp(mountlist->el[items].device, "sys") ||
     842            !strcmp(mountlist->el[items].device, "/run") ||
     843            !strcmp(mountlist->el[items].device, "run") ||
    842844            !strcmp(mountlist->el[items].device, "/devpts") ||
    843845            !strcmp(mountlist->el[items].device, "devpts")
  • branches/3.1/mondo/src/common/libmondo-raid.c

    r2523 r2937  
    10221022    // get RAID level
    10231023    token = mr_strtok(string, delims, &lastpos);
     1024    // skip potential auto-read-only entry
     1025    if (!strcmp(token, "(auto-read-only)")) {
     1026        mr_free(token);
     1027        token = mr_strtok (string, delims, &lastpos);
     1028    }
    10241029    if (!strcmp(token, "multipath")) {
    10251030      raidlist->el[raidlist->entries].raid_level = -2;
  • branches/3.1/mondo/src/common/libmondo-stream.c

    r2704 r2937  
    737737
    738738    set_tape_block_size_with_mt(bkpinfo->internal_tape_block_size);
     739
     740    /* restore compression mode on */
     741    mr_asprintf(&command, "mt -f %s compression on",bkpinfo->media_device);
     742    res = run_program_and_log_output(command, 1);
     743    paranoid_free(command);
     744
    739745    return(res);
    740746}
  • branches/3.1/mondo/src/common/libmondo-tools.c

    r2850 r2937  
    378378    log_msg(1, "Post-param");
    379379    if (bkpinfo->backup_media_type == tape) {
     380        if (whine_if_not_found("mt") == 1) {
     381            fatal_error("Please install the mt command");
     382        }
    380383        log_msg(1, "Tape");
    381384        if (bkpinfo->media_device == NULL) {
     
    718721        /* purging a potential old tmpdir */
    719722        log_it("Purging old tmpdir %s", bkpinfo->tmpdir);
     723        chdir("/tmp");
    720724        mr_asprintf(tmp,"rm -Rf %s",bkpinfo->tmpdir);
    721725        mr_free(bkpinfo->tmpdir);
  • branches/3.1/mondo/src/common/libmondo-verify.c

    r2508 r2937  
    987987    verify_all_slices_on_CD(mountpoint);
    988988
    989     mr_asprintf(tmp1, "umount %s", mountpoint);
     989    mr_asprintf(tmp1, "umount -d %s", mountpoint);
    990990#ifdef __FreeBSD__
    991991    ret += system(tmp1);
     
    11181118#ifdef __FreeBSD__
    11191119    ret = 0;
    1120     mr_asprintf(command, "umount %s", mountpoint);
     1120    mr_asprintf(command, "umount -d %s", mountpoint);
    11211121    ret += system(command);
    11221122    ret += kick_vn(mddevice);
    11231123    if (ret) {
    11241124#else
    1125     mr_asprintf(command, "umount %s", mountpoint);
     1125    mr_asprintf(command, "umount -d %s", mountpoint);
    11261126    if (system(command)) {
    11271127#endif
     
    11361136
    11371137    if (!does_file_exist(fname)) {
    1138         mr_asprintf(command, "umount %s", bkpinfo->media_device);
     1138        mr_asprintf(command, "umount -d %s", bkpinfo->media_device);
    11391139        run_program_and_log_output(command, 2);
    11401140        mr_free(command);
  • branches/3.1/mondo/src/common/newt-specific.c

    r2874 r2937  
    262262char *tmp1 = NULL;
    263263
    264     mr_asprintf(tmp,"ps %s | grep \" %s \" | awk '{print %s;}' | grep -v \"grep\"", ps_options, str , ps_proc_id);
     264    mr_asprintf(tmp,"ps %s | grep \" %s \" | grep -v \"grep\" | awk '{print %s;}'", ps_options, str , ps_proc_id);
    265265    run_program_and_log_output(tmp, TRUE);
    266266    if (strlen(tmp) > 0) {
     
    320320        chdir("/");
    321321        if (g_selfmounted_isodir) {
    322             mr_asprintf(command, "umount %s", g_selfmounted_isodir);
     322            mr_asprintf(command, "umount -d %s", g_selfmounted_isodir);
    323323            run_program_and_log_output(command, 5);
    324324            mr_free(command);
     
    368368        char *command = NULL;
    369369
    370         chdir("/");
    371         run_program_and_log_output("umount " MNT_CDROM, FALSE);
     370        /*  Before removing dir, make sure we're out of them */
     371        chdir("/tmp");
     372        run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    372373        if (g_selfmounted_isodir) {
    373             mr_asprintf(command, "umount %s", g_selfmounted_isodir);
     374            mr_asprintf(command, "umount -d %s", g_selfmounted_isodir);
    374375            run_program_and_log_output(command, 1);
    375376            mr_free(command);
     
    382383            log_msg(8,"tempdir is %s",bkpinfo->tmpdir);
    383384            if (strstr(bkpinfo->tmpdir ,"mondo.tmp.") != NULL) {
    384                 log_msg(8,"erasing tempdir");
     385                log_msg(8,"erasing tempdir %s",bkpinfo->tmpdir);
    385386                mr_asprintf(command, "rm -Rf %s", bkpinfo->tmpdir);
    386387                system(command);
     
    391392            log_msg(8,"scratchdir is %s", bkpinfo->scratchdir);
    392393            if (strstr(bkpinfo->scratchdir ,"mondo.scratch.") != NULL) {
    393                 log_msg(8,"erasing scratchdir");
     394                log_msg(8,"erasing scratchdir %s",bkpinfo->scratchdir);
    394395                mr_asprintf(command, "rm -Rf %s", bkpinfo->scratchdir);
    395396                system(command);
     
    579580            newtCenteredWindow(40, 7, title);
    580581            g_isoform_main = newtForm(NULL, NULL, 0);
    581             g_isoform_timeline = newtLabel(1, 5, "This is the timeline");
    582             g_isoform_pcline = newtLabel(1, 6, "This is the pcline");
     582            g_isoform_timeline = newtLabel(1, 5, "                    ");
     583            g_isoform_pcline = newtLabel(1, 6, "                  ");
    583584            newtFormAddComponents(g_isoform_main, g_isoform_timeline,
    584585                                  g_isoform_pcline, g_isoform_header,
    585586                                  g_isoform_scale, NULL);
     587            newtDrawForm(g_isoform_main);
    586588            newtRefresh();
    587589        }
     
    647649            g_scale = newtScale(3, 6, 54, (long long)g_maximum_progress);
    648650            g_progressForm = newtForm(NULL, NULL, 0);
    649             g_percentline = newtLabel(10, 9, "This is the percentline");
    650             g_timeline = newtLabel(10, 8, "This is the timeline");
     651            g_percentline = newtLabel(10, 9, "                       ");
     652            g_timeline = newtLabel(10, 8, "                    ");
    651653            newtFormAddComponents(g_progressForm, g_percentline, g_timeline, g_scale, g_blurb1, g_blurb3, g_blurb2, NULL);
    652654            newtPushHelpLine(b1c);
     655            newtDrawForm(g_progressForm);
    653656            newtRefresh();
    654657        }
     
    969972        }
    970973        if (!g_text_mode) {
     974            newtDrawForm(g_isoform_main);
    971975            newtRefresh();
    972976        }
     
    11001104            mr_free(percentline_str);
    11011105
     1106            newtDrawForm(g_progressForm);
    11021107            newtRefresh();
    11031108        }
  • branches/3.1/mondo/src/mondorestore/mondo-prep.c

    r2816 r2937  
    1010#include "mondoprep.h"
    1111#include "../common/libmondo.h"
     12#include "../common/libmondo-tools-EXT.h"
    1213#include "mondo-rstr-tools-EXT.h"
    1314#include <sys/ioctl.h>
     
    4344
    4445FILE *g_fprep = NULL;
    45 
    46 
     46extern char *g_mondo_cfg_file;  // where m*ndo-restore.cfg (the config file) is stored
    4747
    4848int g_partition_table_locked_up = 0;
    49 
    50 
    51 
    52 
    53 
    54 
    55 
    5649
    5750
     
    323316        res = run_program_and_log_output(command, 5);
    324317        if (res > 0 && (p = strstr(command, "lvm "))) {
     318            log_msg(0, "%s --> %d failed so removing lvm just in case", command, res);
    325319            *p = *(p + 1) = *(p + 2) = ' ';
    326320            res = run_program_and_log_output(command, 5);
     
    545539  char *level   = NULL;
    546540  char *program = NULL;
     541  char *tmp = NULL;
     542  char *oldmd = NULL;
     543  char *bootdevice;
     544  char *name;
     545
     546  malloc_string(bootdevice);
     547  malloc_string(name);
    547548 
    548549  // leave straight away if raidlist is initial or has no entries
     
    589590  // - faulty devices ignored
    590591  // - persistent superblock always used as this is recommended
    591   mr_asprintf(program, "mdadm --create --force --run --auto=yes %s --level=%s --raid-devices=%d", raidlist->el[i].raid_device, level, raidlist->el[i].data_disks.entries);
     592  // As per bug #473, the parameter "-e 0.90" is used only when:
     593  //   1) It detects that system boots from Raid-1
     594  //   2) grub bootloader < v1 is used.
     595  // Otherwise it won't boot which is bad.
     596    read_cfg_var(g_mondo_cfg_file, "bootloader.device", bootdevice);
     597    read_cfg_var(g_mondo_cfg_file, "bootloader.name", name);
     598    if (strcmp(name,"GRUB") == 0) {
     599        mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("grub --version"));
     600        if ((strstr(tmp, "GRUB 0.9") != NULL) && (strcmp(raidlist->el[i].raid_device,device) == 0)) {
     601            mr_free(oldmd);
     602            mr_asprintf(oldmd, "-e 0.90");
     603            log_it("Forcing old metadata 0.90 for md on %s for old GRUB", device);
     604        }
     605    } else if ((strcmp(name,"LILO") == 0) && (strcmp(raidlist->el[i].raid_device,device) == 0)) {
     606        mr_free(oldmd);
     607        mr_asprintf(oldmd, "-e 0.90");
     608        log_it("Forcing old metadata 0.90 for md on %s for LILO", device);
     609    } else {
     610        mr_asprintf(oldmd, "");
     611    }
     612    mr_free(device);
     613    mr_free(name);
     614
     615  mr_asprintf(program, "mdadm --create --force --run --auto=yes %s --level=%s --raid-devices=%d %s", raidlist->el[i].raid_device, level, raidlist->el[i].data_disks.entries, oldmd);
     616  mr_free(oldmd);
    592617  if (raidlist->el[i].parity != -1) {
    593618    mr_asprintf(strtmp, "%s", program);
     
    22892314
    22902315    /** float ***********************************************************/
    2291     long long factor;
     2316    float factor;
    22922317    long long new_size;
    22932318
     
    23222347
    23232348    drivemntlist = malloc(sizeof(struct mountlist_reference));
    2324     drivemntlist->el =
    2325         malloc(sizeof(struct mountlist_line *) * MAX_MOUNTLIST_ENTRIES);
     2349    drivemntlist->el = malloc(sizeof(struct mountlist_line *) * MAX_MOUNTLIST_ENTRIES);
    23262350
    23272351    if (!drivemntlist) {
     
    23372361    }
    23382362
    2339     if (original_size_of_drive <= 0) {
     2363    if (original_size_of_drive <= 0LL) {
    23402364        log_to_screen("Cannot resize %s's entries. Drive not found.", drive_name);
    23412365        return;
    23422366    }
    2343     factor = (current_size_of_drive) / (original_size_of_drive);
    2344     log_to_screen("Disk %s was %lld MB; is now %lld MB; Proportionally resizing partitions (factor ~= %lld)", drive_name, original_size_of_drive/1024, current_size_of_drive/1024, factor);
     2367    factor = ((float)current_size_of_drive/(float)original_size_of_drive);
     2368    mr_asprintf(tmp, "Disk %s was %lld MB; is now %lld MB; Proportionally resizing partitions (factor ~= %.5f)",
     2369            drive_name, original_size_of_drive/1024, current_size_of_drive/1024, factor);
     2370    log_to_screen(tmp);
     2371    mr_free(tmp);
    23452372
    23462373    lastpart = drivemntlist->entries - 1;
     
    23482375        /* the 'atoi' thing is to make sure we don't try to resize _images_, whose formats will be numeric */
    23492376        if (!atoi(drivemntlist->el[partno]->format)) {
    2350             new_size = (drivemntlist->el[partno]->size) * factor;
     2377            new_size = (long long)((drivemntlist->el[partno]->size) * factor);
    23512378        } else {
    23522379            new_size = drivemntlist->el[partno]->size;
  • branches/3.1/mondo/src/mondorestore/mondo-rstr-newt.c

    r2816 r2937  
    18041804#undef ACOMP
    18051805
     1806        newtDrawForm(editraidForm);
    18061807        newtRefresh();
    18071808        b_res = newtRunForm(editraidForm);
  • branches/3.1/mondo/src/mondorestore/mondo-rstr-tools.c

    r2850 r2937  
    205205    return (1);
    206206}
    207 paranoid_system("umount "MNT_CDROM" 2> /dev/null"); /* just in case */
     207paranoid_system("umount -d " MNT_CDROM " 2> /dev/null");    /* just in case */
    208208
    209209if (is_this_device_mounted(g_isodir_device)) {
     
    612612        }
    613613    }
    614     run_program_and_log_output("umount "MNT_CDROM, FALSE);
     614    run_program_and_log_output("umount -d "MNT_CDROM, FALSE);
    615615    if (!does_file_exist(cfg_file)) {
    616616        log_it("%s",cfg_file);
     
    684684            if (does_file_exist(MNT_CDROM"/archives/filelist.0")) {
    685685                bkpinfo->backup_media_type = cdr;
    686                 run_program_and_log_output("umount "MNT_CDROM, 1);
     686                run_program_and_log_output("umount -d "MNT_CDROM, 1);
    687687                log_it
    688688                    ("Re-jigging configuration AGAIN. CD-R, not ISO.");
     
    14141414            if (res) {
    14151415                popup_and_OK
    1416                     ("GRUB installation failed. Please install manually using 'grub-install' or similar command. You are now chroot()'ed to your restored system. Please type 'exit' when you are done.");
    1417                 newtSuspend();
    1418                 system("chroot " MNT_RESTORING);
    1419                 newtResume();
    1420                 popup_and_OK("Thank you.");
     1416                    ("GRUB installation failed. You will now edit fstab, mtab, device.map and menu.lst/grub.cfg in order to fix grub install");
     1417                if (!g_text_mode) {
     1418                    newtSuspend();
     1419                }
     1420                sprintf(tmp, "chroot %s %s /etc/fstab", MNT_RESTORING, editor);
     1421                paranoid_system(tmp);
     1422                sprintf(tmp, "chroot %s %s /etc/mtab", MNT_RESTORING, editor);
     1423                paranoid_system(tmp);
     1424                if (does_file_exist(MNT_RESTORING"/boot/grub/menu.lst")) {
     1425                    sprintf(tmp, "chroot %s %s /boot/grub/menu.lst", MNT_RESTORING, editor);
     1426                } else if (does_file_exist(MNT_RESTORING"/boot/grub/grub.cfg")) {
     1427                    sprintf(tmp, "chroot %s %s /boot/grub/grub.cfg", MNT_RESTORING, editor);
     1428                }
     1429                paranoid_system(tmp);
     1430                sprintf(tmp, "chroot %s %s /boot/grub/device.map", MNT_RESTORING, editor);
     1431                paranoid_system(tmp);
     1432                if (!g_text_mode) {
     1433                    newtResume();
     1434                }
     1435                sprintf(command, "stabgrub-me %s", boot_device);
     1436                res = run_program_and_log_output(command, 1);
     1437                if (res) {
     1438                    popup_and_OK
     1439                        ("GRUB installation failed. Please fix the conf files so that a manual install using 'grub-install' or similar command works. You are now chroot()'ed to your restored system. Please type 'exit' when you are done.");
     1440                    newtSuspend();
     1441                    system("chroot " MNT_RESTORING);
     1442                    newtResume();
     1443                    popup_and_OK("Thank you.");
     1444                } else {
     1445                    popup_and_OK("GRUB is now installed correctly");
     1446                    done = TRUE;
     1447                }
    14211448            } else {
    14221449                done = TRUE;
     
    19331960
    19341961    /* Unmounting the local /proc and /sys first */
    1935     run_program_and_log_output("umount " MNT_RESTORING "/proc",3);
    1936     run_program_and_log_output("umount " MNT_RESTORING "/sys",3);
     1962    run_program_and_log_output("umount -d " MNT_RESTORING "/proc",3);
     1963    run_program_and_log_output("umount -d " MNT_RESTORING "/sys",3);
    19371964
    19381965    for (lino = mountlist->entries - 1; lino >= 0; lino--) {
     
    19481975            } else {
    19491976                if (!strcmp(mountlist->el[lino].mountpoint, "/1")) {
    1950                     mr_asprintf(command, "umount %s/", MNT_RESTORING);
     1977                    mr_asprintf(command, "umount -d %s/", MNT_RESTORING);
    19511978                    log_msg(3,
    19521979                            "Well, I know a certain kitty-kitty who'll be sleeping with Mommy tonight...");
    19531980                } else {
    1954                     mr_asprintf(command, "umount " MNT_RESTORING "%s", mountlist->el[lino].mountpoint);
     1981                    mr_asprintf(command, "umount -d " MNT_RESTORING "%s", mountlist->el[lino].mountpoint);
    19551982
    19561983                    /* To support latest Ubuntu where /var is a separate FS
     
    19982025 *END_UNMOUNT_ALL_DEVICES                                                 *
    19992026 **************************************************************************/
    2000 
    2001 
    20022027
    20032028/**************************************************************************
  • branches/3.1/mondo/src/mondorestore/mondorestore.c

    r2874 r2937  
    116116
    117117/**************************************************************************
    118  * COMPAQ PROLIANT Stuff:  needs some special help                        *
     118 * COMPAQ ProLiant Stuff:  needs some special help                        *
    119119**************************************************************************/
    120120
    121121/**
    122  * The message to display if we detect that the user is using a Compaq Proliant.
     122 * The message to display if we detect that the user is using a Compaq ProLiant.
    123123 */
    124124#define COMPAQ_PROLIANTS_SUCK "Partition and format your disk using Compaq's disaster recovery CD. After you've done that, please reboot with your Mondo media in Interactive Mode."
     
    209209 * @ingroup restoreUtilityGroup
    210210 */
    211 void offer_to_abort_because_Compaq_Proliants_suck(void)
     211void offer_to_abort_because_Compaq_ProLiants_suck(void)
    212212{
    213213    popup_and_OK(COMPAQ_PROLIANTS_SUCK);
     
    256256        popup_and_OK("No restoring or comparing will take place today.");
    257257        if (is_this_device_mounted("/mnt/cdrom")) {
    258             run_program_and_log_output("umount /mnt/cdrom", FALSE);
     258            run_program_and_log_output("umount -d /mnt/cdrom", FALSE);
    259259        }
    260260        if (g_ISO_restore_mode) {
    261             mr_asprintf(tmp, "umount %s", bkpinfo->isodir);
     261            mr_asprintf(tmp, "umount -d %s", bkpinfo->isodir);
    262262            run_program_and_log_output(tmp, FALSE);
    263263            mr_free(tmp);
     
    485485                if (partition_table_contains_Compaq_diagnostic_partition
    486486                    (mountlist)) {
    487                     offer_to_abort_because_Compaq_Proliants_suck();
     487                    offer_to_abort_because_Compaq_ProLiants_suck();
    488488                    done = TRUE;
    489489                } else {
     
    693693    }
    694694    if (is_this_device_mounted(MNT_CDROM)) {
    695         paranoid_system("umount " MNT_CDROM);
     695        paranoid_system("umount -d " MNT_CDROM);
    696696    }
    697697//  if (! already_mounted)
    698698//    {
    699     if (system("umount /tmp/isodir 2> /dev/null")) {
     699    if (system("umount -d /tmp/isodir 2> /dev/null")) {
    700700        log_to_screen
    701701            ("WARNING - unable to unmount device where the ISO files are stored.");
     
    773773        if (partition_table_contains_Compaq_diagnostic_partition
    774774            (mountlist)) {
    775             offer_to_abort_because_Compaq_Proliants_suck();
     775            offer_to_abort_because_Compaq_ProLiants_suck();
    776776        } else {
    777777            twenty_seconds_til_yikes();
     
    949949                "Tape : I don't need to unmount or eject the CD-ROM.");
    950950    } else {
    951         run_program_and_log_output("umount " MNT_CDROM, FALSE);
     951        run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    952952        if (!bkpinfo->please_dont_eject) {
    953953            eject_device(bkpinfo->media_device);
    954954        }
    955955    }
    956     run_program_and_log_output("umount " MNT_CDROM, FALSE);
     956    run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    957957    if (!bkpinfo->please_dont_eject) {
    958958        eject_device(bkpinfo->media_device);
     
    21382138
    21392139        /* Now we need to umount the current media to have the next mounted by insist_on_this_cd_number */
    2140         run_program_and_log_output("umount " MNT_CDROM, FALSE);
     2140        /*   run_program_and_log_output("umount " MNT_CDROM, FALSE); */
    21412141    }
    21422142    mr_free(mds);
     
    26352635    make_hole_for_dir("/var/log");
    26362636    make_hole_for_dir("/tmp/tmpfs");    /* just in case... */
    2637     run_program_and_log_output("umount " MNT_CDROM, FALSE);
     2637    run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    26382638
    26392639    run_program_and_log_output("rm -Rf /tmp/tmpfs/mondo.tmp.*", FALSE);
     
    26692669        fout = fopen("/tmp/out.txt", "w");
    26702670        fput_string_one_char_at_a_time(stderr, argv[2]);
    2671         finish(0);
    2672     }
    2673 
    2674     if (argc == 3 && strcmp(argv[1], "--gendf") == 0) {
    2675         make_grub_install_scriptlet(argv[2]);
    26762671        finish(0);
    26772672    }
     
    28922887            sync();
    28932888            if (is_this_device_mounted(MNT_CDROM)) {
    2894                 run_program_and_log_output("umount " MNT_CDROM, FALSE);
     2889                run_program_and_log_output("umount -d " MNT_CDROM, FALSE);
    28952890            }
    28962891
     
    29502945    log_to_screen("Mondo-restore is exiting (retval=%d)                                      ", retval);
    29512946
    2952     mr_asprintf(tmp, "umount %s", bkpinfo->isodir);
     2947    mr_asprintf(tmp, "umount -d %s", bkpinfo->isodir);
    29532948    run_program_and_log_output(tmp, 5);
    29542949    mr_free(tmp);
  • branches/3.1/mondo/src/post-nuke.sample/usr/bin/Makefile.am

    r424 r2937  
    11postnukeusrbindir      = $(pkgdatadir)/post-nuke.sample/usr/bin
    2 postnukeusrbin_SCRIPTS = post-nuke
     2postnukeusrbin_SCRIPTS = post-nuke post-nuke.debian
  • branches/3.1/mondo/src/restore-scripts/mondo/grub-MR

    r2696 r2937  
    2929    fi
    3030    if [ -e "$MNT_RESTORING/boot/grub/stage1" ] ; then
    31         echo "Alright then."
     31        echo "All right then."
    3232        return
    3333    fi
     
    136136FindBootPart $1 $2 2>&1 | tee -a $LOGFILE
    137137mbrdev=`echo $1 | sed 's/\([^0-9]*\)[0-9]*$/\1/'`
    138 if echo $bootpart | grep "/cciss/" > /dev/null ; then
    139     partno=`basename $bootpart | cut -d'p' -f2`
     138if echo $mbrdev | grep "/cciss/" > /dev/null ; then
     139    partno=`basename $mbrdev | cut -d'p' -f2`
    140140    mbrdev=`echo $mbrdev | cut -d'p' -f1`
    141 elif echo $bootpart | grep "/mapper/mpath" > /dev/null ; then
    142     partno=`basename $bootpart | cut -d'p' -f3`
    143     mbrdev=`echo $mbrdev | cut -d'p' -f1`
    144 else
    145     partno=`basename $bootpart | sed 's/[a-z]*//'`
     141elif echo $mbrdev | grep "/mapper/mpath" > /dev/null ; then
     142    partno=`basename $mbrdev | cut -d'p' -f3`
     143    mbrdev=`echo $mbrdev | cut -d'p' -f1-4`
     144else
     145    partno=`basename $mbrdev | sed 's/[a-z]*//'`
    146146fi
    147147if [ ! "$partno" ] ; then
     
    150150    partno=$(($partno-1))
    151151fi
    152 if echo $bootpart | grep "/md" > /dev/null ; then
     152if echo $mbrdev | grep "/md" > /dev/null ; then
    153153    # FIXME: Why this if not used later
    154154    base=`basename $bootpart`
  • branches/3.1/website/downloads.shtml

    r2850 r2937  
    3131                    <a href="http://www.mondorescue.org">Web site</a>,
    3232                    <a href="ftp://ftp.mondorescue.org">Ftp site (ftp)</a>
     33                    <a href="http://www.mondorescue.org/ftp">Ftp site (http)</a>
    3334                    <a href="rsync://rsync.mondorescue.org::mondorescue-ftp">Ftp site (rsync)</a>
    3435                    <ul>
     
    3839                </li>
    3940            </ul>
    40             <li><i>Germany</i>:</li>
    41             <ul>
    42                 <li>Linjection.org:
    43                     <a href="http://mondorescue.linjection.org">Web site</a>,
    44                     <a href="http://mondorescue.linjection.org/ftp">Ftp site (http)</a>
    45                 </li>
    46             </ul>
    4741            <li><i>Italy</i>:</li>
    4842            <ul>
    49                     <li>Daniele Carbonetti (<a href="http://www.dcl-arch.it">http://www.dcl-arch.it</a>):
    50                     <a href="http://mondorescue.dcl-arch.it">Web site</a>,
    51                     <a href="http://www.dcl-arch.it/pub/mondorescue">Ftp site (http)</a>
    52                     <a href="ftp://ftp.dcl-arch.it/pub/mondorescue">Ftp site (ftp)</a>
    53                     <a href="rsync://rsync.dcl-arch.it::mondorescue">Ftp site (rsync)</a>
     43                    <li>Dimitri Bellini (<a href="http://www.quadrata.it/">http://www.quadrata.it/</a>):
     44                    <a href="http://mondo.quadrata.it">Web site</a>,
     45                    <a href="ftp://mondo.quadrata.it/">Ftp site (ftp)</a>
     46                    <a href="http://mondo.quadrata.it/ftp">Ftp site (http)</a>
    5447                    <ul>
    55                             <li>Update times: 2 times/day</li>
    56                             <li>Internet Bandwith: 100Mbit</li>
    57                             <li><i>doesn't seem to be active anymore</i></li>
     48                            <li>Update times: 1 time/day</li>
     49                            <li>Internet Bandwith: Mbit</li>
    5850                    </ul>
    5951                </li>
     
    7870    </div>
    7971    <p><A NAME="dependencies"></A>
    80 <p>The solution has been written in C/bash/perl and developed on a <a href="http://www.mandriva.com/">Mandriva</a> <a href="http://www.gnu.org/">Gnu</a>/<a href="http://www.lwn.net/">Linux</a> distribution. For it to work, you will need:</p>
     72<p>The solution is being written in C/bash/perl and developed on a <a href="http://www.maegia.cg">Mageia</a> <a href="http://www.gnu.org/">Gnu</a>/<a href="http://www.lwn.net/">Linux</a> distribution. For it to work, you will need:</p>
    8173<ul>
    8274<li><b><a href="">afio</a></b>: the packaging tool used to create the archive packets</li>
     
    8880</ul>
    8981
    90 <p>For Mandriva/Mandrake distributions, just use the magic:<br>
    91 <tt>urpmi mondo</tt></p>
     82<p>For Mageia/Mandriva/Mandrake distributions, just use the magic:<br>
     83<tt>urpmi mondo</tt>
    9284to use the native packages of your distribution, or download the <a href="ftp://ftp.mondorescue.org/mandriva/">repo file</a> mondorescue.addmedia script and launch it if you want to use upstream packages.
    93 <p>
    94 <p>For Fedora distributions, after downloading the <a href="ftp://ftp.mondorescue.org/fedora/">repo file</a> mondorescue.repoand adding it to the /etc/yum.repos.d directory, just use the magic:<br>
    95 <tt>yum install mondo</tt></p>
    96 <p>
     85</p><p>
     86<p>For Fedora distributions, after downloading the <a href="ftp://ftp.mondorescue.org/fedora/">repo file</a> mondorescue.repo and adding it to the /etc/yum.repos.d directory, just use the magic:<br>
     87<tt>yum install mondo</tt>
     88</p><p>
    9789For Debian/Ubuntu, just use the magic: <br>
    98 <tt>apt-get install mondo</tt></p>
     90<tt>apt-get install mondo</tt>
    9991to use the native packages of your distribution, or download the <a href="ftp://ftp.mondorescue.org/debian/">repo file</a> mondorescue.sources.list and add it to your /etc/apt/sources.list.d directory if you want to use upstream packages.
    100 <p>
     92</p><p>
    10193For the other RPM based distributions, you will have to issue a <br>
    10294<tt>rpm -ivh *.rpm</tt><br>
     
    122114        <li>RedHat <a href="ftp://ftp.mondorescue.org/redhat/7.3">7.3</a>, <a href="ftp://ftp.mondorescue.org/redhat/9">9</a>.</li>
    123115        <li>Fedora <a href="ftp://ftp.mondorescue.org/fedora/4">Core 4</a>, <a href="ftp://ftp.mondorescue.org/fedora/5">Core 5</a>, <a href="ftp://ftp.mondorescue.org/fedora/6">Core 6</a>, <a href="ftp://ftp.mondorescue.org/fedora/7">7</a>, <a href="ftp://ftp.mondorescue.org/fedora/8">8</a>, <a href="ftp://ftp.mondorescue.org/fedora/9">9</a>, <a href="ftp://ftp.mondorescue.org/fedora/10">10</a>, <a href="ftp://ftp.mondorescue.org/fedora/11">11</a>, <a href="ftp://ftp.mondorescue.org/fedora/12">12</a>, <a href="ftp://ftp.mondorescue.org/fedora/13">13</a>, <a href="ftp://ftp.mondorescue.org/fedora/14">14</a>, <a href="ftp://ftp.mondorescue.org/fedora/15">15</a>.</li>
    124         <li>RedHat Enterprise Linux <a href="ftp://ftp.mondorescue.org/rhel/2.1">2.1</a>, <a href="ftp://ftp.mondorescue.org/rhel/3">3</a>, <a href="ftp://ftp.mondorescue.org/rhel/4">4</a>, <a href="ftp://ftp.mondorescue.org/rhel/5">5</a>, <a href="ftp://ftp.mondorescue.org/rhel/6">6</a>.</li>
     116        <li>RedHat Enterprise Linux <a href="ftp://ftp.mondorescue.org/rhel/2.1">2.1</a>, <a href="ftp://ftp.mondorescue.org/rhel/3">3</a>, <a href="ftp://ftp.mondorescue.org/rhel/4">4</a>, <a href="ftp://ftp.mondorescue.org/rhel/5">5</a>, <a href="ftp://ftp.mondorescue.org/rhel/6">6</a>.</li> (The same packages can be used for other RHEL clones such as CentOS, OEL, Scientific Linux, ...)
     117        <li>Mageia <a href="ftp://ftp.mondorescue.org/mageia/1">1</a>.</li>
    125118        <li>Mandriva <a href="ftp://ftp.mondorescue.org/mandrake/10.1">10.1</a>, <a href="ftp://ftp.mondorescue.org/mandrake/10.2">10.2</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2006.0">2006.0</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2007.0">2007.0</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2007.1">2007.1</a>., <a href="ftp://ftp.mondorescue.org/mandriva/2008.0">2008.0</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2008.1">2008.1</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2009.0">2009.0</a>,  <a href="ftp://ftp.mondorescue.org/mandriva/2009.1">2009.1</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2010.0">2010.0</a>, <a href="ftp://ftp.mondorescue.org/mandriva/2010.1">2010.1</a>.</li>
    126         <li>Mageia <a href="ftp://ftp.mondorescue.org/mageia/1">1</a>.</li>
    127119        <li>OpenSuSE <a href="ftp://ftp.mondorescue.org/suse/10.0">10.0</a>, <a href="ftp://ftp.mondorescue.org/suse/10.1">10.1</a>, <a href="ftp://ftp.mondorescue.org/suse/10.2">10.2</a>, <a href="ftp://ftp.mondorescue.org/suse/10.3">10.3</a>, <a href="ftp://ftp.mondorescue.org/opensuse/11.0">11.0</a>, <a href="ftp://ftp.mondorescue.org/opensuse/11.1">11.1</a>, <a href="ftp://ftp.mondorescue.org/opensuse/11.2">11.2</a>, <a href="ftp://ftp.mondorescue.org/opensuse/11.3">11.3</a>, <a href="ftp://ftp.mondorescue.org/opensuse/11.4">11.4</a>. Look also at <a href="http://www.mikenjane.net/~mike/">this</a> web page for SuSE details. <a href="http://packman.links2linux.org/">Packman</a> may have some useful additional packages.
    128120        <li>SuSE Linux Enterprise Server <a href="ftp://ftp.mondorescue.org/sles/9">9</a>, <a href="ftp://ftp.mondorescue.org/sles/10">10</a>, <a href="ftp://ftp.mondorescue.org/sles/11">11</a>.</li>
  • branches/3.1/website/mondorescue.org.conf

    r2155 r2937  
    55    ServerAlias mondorescue.org
    66    ServerAdmin webmaster@mondorescue.org
    7     DocumentRoot /mondo/www/html/mondo
     7    DocumentRoot /prj/www/html/mondorescue
    88    CustomLog /var/log/httpd/www.mondorescue.org/access_log combined
    99    Errorlog /var/log/httpd/www.mondorescue.org/error_log
     
    1111    RewriteRule     ^/index\.html$  /index.shtml
    1212    RewriteRule     ^/$  /index.shtml
    13     SetEnv TRAC_ENV "/mondo/trac/mondorescue.env"
    1413
    15     <Directory "/mondo/www/html/mondo">
     14    <Directory "/prj/www/html/mondorescue">
    1615    DirectoryIndex index.shtml
    1716        Options -Indexes MultiViews FollowSymLinks +Includes
     
    2120    </Directory>
    2221
    23     <Directory "/mondo/www/cgi-bin">
     22    <Directory "/prj/www/html/mondorescue/ftp">
     23        Options Indexes MultiViews FollowSymLinks
     24        AllowOverride None
     25        Order allow,deny
     26        Allow from all
     27    </Directory>
     28
     29    <Directory "/var/www/cgi-bin">
    2430        AllowOverride All
    2531        Options ExecCGI FollowSymLinks
     
    2834    </Directory>
    2935
    30     ScriptAlias /cgi-bin/ "/mondo/www/cgi-bin/"
    31 
    3236</VirtualHost>
    3337
    3438<VirtualHost 10.3.252.23>
    3539    ServerName trac.mondorescue.org
    36     SetEnv TRAC_ENV "/mondo/trac/mondorescue.env"
    37     DocumentRoot /mondo/www/cgi-bin/trac.cgi
     40    DocumentRoot /prj/www/html/mondorescue
    3841    ServerAdmin webmaster@mondorescue.org
    3942    CustomLog /var/log/httpd/www.mondorescue.org/access_log combined
    4043    Errorlog /var/log/httpd/www.mondorescue.org/error_log
    4144
    42     # fix mdk bug #16298
    43     PassEnv LC_ALL
    44     PassEnv LANG
    45 
    46     <Directory "/mondo/www/cgi-bin">
     45    <Directory "/var/www/cgi-bin">
    4746        AllowOverride All
    4847        Options ExecCGI FollowSymLinks
     
    5150    </Directory>
    5251
    53     Alias /trac/ "/usr/share/trac/htdocs/"
    54     ScriptAlias /cgi-bin/ "/mondo/www/cgi-bin/"
     52    <Location "/">
     53        SetEnv TRAC_ENV "/prj/trac/mondorescue.env"
     54    </Location>
    5555
    56     # You need something like this to authenticate users
    57     #<Location "/login">
    58         #AuthType Basic
    59         #AuthName "MondoRescue"
    60         #AuthUserFile /usr/local/etc/trac.htpasswd
    61         #Require valid-user
    62     #</Location>
     56    ScriptAlias / "/var/www/cgi-bin/trac.fcgi/"
    6357</VirtualHost>
    6458
     
    6660    ServerName oldwww.mondorescue.org
    6761    ServerAdmin webmaster@mondorescue.org
    68     DocumentRoot /mondo/www/html/oldwww
     62    DocumentRoot /prj/www/html/oldmondorescue
    6963    CustomLog /var/log/httpd/oldwww.mondorescue.org/access_log combined
    7064    Errorlog /var/log/httpd/oldwww.mondorescue.org/error_log
    71     <Directory "/mondo/www/html/oldwww">
     65    <Directory "/prj/www/html/oldmondorescue">
    7266        Options -Indexes MultiViews FollowSymLinks +Includes
    7367        AllowOverride None
     
    8074    ServerName www1.mondorescue.org
    8175    ServerAdmin webmaster@mondorescue.org
    82     DocumentRoot /mondo/www/html/test
     76    DocumentRoot /prj/www/html/testmondorescue
    8377    CustomLog /var/log/httpd/www1.mondorescue.org/access_log combined
    8478    Errorlog /var/log/httpd/www1.mondorescue.org/error_log
    85     <Directory "/mondo/www/html/test">
     79    <Directory "/prj/www/html/testmondorescue">
    8680        Options -Indexes MultiViews FollowSymLinks +Includes
    8781        AllowOverride None
     
    9488    ServerName mondo.hpintelco.org
    9589    ServerAdmin webmaster@mondorescue.org
    96     DocumentRoot /var/www/html
     90    DocumentRoot /prj/www/html/mondorescue
    9791    CustomLog /var/log/httpd/mondo.hpintelco.org/access_log combined
    9892    Errorlog /var/log/httpd/mondo.hpintelco.org/error_log
    99     <Directory "/var/www/html">
     93    <Directory "/prj/www/html/mondorescue">
    10094        Options Indexes MultiViews FollowSymLinks +Includes
    10195        AllowOverride None
     
    10397        Allow from all
    10498    </Directory>
     99    <Directory "/prj/www/html/mondorescue/ftp">
     100        Options Indexes MultiViews FollowSymLinks
     101        AllowOverride None
     102        Order allow,deny
     103        Allow from all
     104    </Directory>
     105
    105106</VirtualHost>
    106107
     
    109110    ServerAlias mondorescue.com
    110111    ServerAdmin webmaster@mondorescue.com
    111     DocumentRoot /mondo/www/html/mondo
     112    DocumentRoot /prj/www/html/mondorescue
    112113    CustomLog /var/log/httpd/www.mondorescue.com/access_log combined
    113114    Errorlog /var/log/httpd/www.mondorescue.com/error_log
    114     <Directory "/mondo/www/html/mondo">
     115    <Directory "/prj/www/html/mondorescue">
    115116    DirectoryIndex index.shtml
    116117        Options -Indexes MultiViews FollowSymLinks +Includes
     
    119120        Allow from all
    120121    </Directory>
     122    <Directory "/prj/www/html/mondorescue/ftp">
     123        Options Indexes MultiViews FollowSymLinks
     124        AllowOverride None
     125        Order allow,deny
     126        Allow from all
     127    </Directory>
     128
    121129</VirtualHost>
Note: See TracChangeset for help on using the changeset viewer.