Changeset 1770 in MondoRescue for branches/stable/mondo
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- Location:
- branches/stable/mondo/src
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mondo/src/common/libmondo-archive.c
r1769 r1770 929 929 bkpinfo->tmpdir, bkpinfo->scratchdir); 930 930 if (system(command)) { 931 fatal_error("Unable to create temporary dufftarball");931 fatal_error("Unable to create temporary all tarball"); 932 932 } 933 933 mr_free(command); … … 936 936 /* BERLIOS: Not executed ? 937 937 sprintf(command, "cp -f %s/mindi-*oot*.img %s/images", 938 */ 939 /* For USB we already have everything on the key */ 940 if (bkpinfo->backup_media_type == usb) { 941 mr_asprintf(&command, "rm -rf %s/images", bkpinfo->scratchdir); 942 run_program_and_log_output(command, FALSE); 943 mr_free(command); 944 } else { 945 mr_asprintf(&command, "cp -f %s/mindi-*oot*.img %s/images", 938 946 bkpinfo->tmpdir, bkpinfo->scratchdir); 939 */ 940 mr_asprintf(&tmp, "cp -f %s/images/all.tar.gz %s", 947 if (system(command)) { 948 mr_msg(2, "Unable to copy mindi images"); 949 } 950 mr_free(command); 951 952 mr_asprintf(&tmp, "cp -f %s/images/all.tar.gz %s", 941 953 bkpinfo->scratchdir, bkpinfo->tmpdir); 942 if (system(tmp)) { 943 fatal_error("Cannot find all.tar.gz in tmpdir"); 944 } 945 mr_free(tmp); 954 if (system(tmp)) { 955 fatal_error("Cannot find all.tar.gz in tmpdir"); 956 mr_free(tmp); 957 } 958 } 946 959 947 960 if (res) { … … 1162 1175 "Writing any remaining data to media "); 1163 1176 1164 mr_msg(1, "Closing tape/CD ... ");1177 mr_msg(1, "Closing tape/CD/USB ... "); 1165 1178 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 1166 1179 /* write tape/cdstream */ … … 1249 1262 write_data_disks_to_stream(data_disks_file); 1250 1263 } else { 1251 mr_msg(1, "Backing up to CD's"); 1264 if (bkpinfo->backup_media_type == usb) { 1265 mr_msg(1, "Backing up to USB's"); 1266 } else { 1267 mr_msg(1, "Backing up to CD's"); 1268 } 1252 1269 } 1253 1270 mr_free(data_disks_file); … … 1574 1591 log_msg(1, message_to_screen); 1575 1592 1576 if (is_this_device_mounted(bkpinfo->media_device)) { 1593 asprintf(&tmp1, "%s1", bkpinfo->media_device); 1594 if (is_this_device_mounted(tmp1)) { 1577 1595 log_msg(1, "USB device mounted. Remounting it at the right place"); 1578 asprintf(&tmp, "umount %s", bkpinfo->media_device);1596 asprintf(&tmp, "umount %s", tmp1); 1579 1597 run_program_and_log_output(tmp, FALSE); 1580 1598 paranoid_free(tmp); 1581 1599 } 1600 paranoid_free(tmp); 1601 1582 1602 log_msg(1, "Mounting USB device."); 1583 1603 asprintf(&tmp1, "%s/usb", bkpinfo->tmpdir); … … 1596 1616 1597 1617 /* Command to execute */ 1598 asprintf(&tmp,"mv %s/ .??* %s/* %s", bkpinfo->scratchdir, bkpinfo->scratchdir, tmp1);1618 asprintf(&tmp,"mv %s/* %s", bkpinfo->scratchdir, tmp1); 1599 1619 res = eval_call_to_make_USB(tmp, message_to_screen); 1600 1620 if (res) { … … 3262 3282 media_descriptor_string(g_backup_media_type)); 3263 3283 chdir("/"); 3264 iamhere("Before calling verify_cd_image()"); 3265 res += verify_cd_image(); 3266 iamhere("After calling verify_cd_image()"); 3284 iamhere("Before calling verification of image()"); 3285 if (bkpinfo->backup_media_type == usb) { 3286 res += verify_usb_image(); 3287 } else { 3288 res += verify_cd_image(); 3289 } 3290 iamhere("After calling verification of image()"); 3267 3291 } 3268 3292 if (!res) { … … 3299 3323 3300 3324 if (last_cd) { 3301 mr_msg(2, "This was your last CD.");3325 mr_msg(2, "This was your last media."); 3302 3326 } else { 3303 3327 mr_msg(2, "Continuing to backup your data..."); … … 3340 3364 mr_msg(2, 3341 3365 "Not verifying again. Per-CD/ISO verification already carried out."); 3342 sprintf(tmp, "cat %s/changed.files > %s/changed.files 2> /dev/null",bkpinfo->tmpdir, M INDI_CACHE);3366 sprintf(tmp, "cat %s/changed.files > %s/changed.files 2> /dev/null",bkpinfo->tmpdir, MONDO_CACHE); 3343 3367 paranoid_system(tmp); 3344 3368 } else { … … 3369 3393 mr_asprintf(&tmp, 3370 3394 "grep 'afio: ' %s | sed 's/afio: //' | grep -vE '^/dev/.*$' >> %s/changed.files", 3371 MONDO_LOGFILE, M INDI_CACHE);3395 MONDO_LOGFILE, MONDO_CACHE); 3372 3396 system(tmp); 3373 3397 mr_free(tmp); … … 3375 3399 mr_asprintf(&tmp, 3376 3400 "grep 'star: ' %s | sed 's/star: //' | grep -vE '^/dev/.*$' >> %s/changed.files", 3377 MONDO_LOGFILE, M INDI_CACHE);3401 MONDO_LOGFILE, MONDO_CACHE); 3378 3402 system(tmp); 3379 3403 mr_free(tmp); … … 3382 3406 eject_device(bkpinfo->media_device); 3383 3407 } 3384 sprintf(tmp, "%s/changed.files", M INDI_CACHE);3408 sprintf(tmp, "%s/changed.files", MONDO_CACHE); 3385 3409 diffs = count_lines_in_file(tmp); 3386 3410 -
branches/stable/mondo/src/common/libmondo-devices.c
r1769 r1770 45 45 46 46 extern bool g_ISO_restore_mode; 47 extern char *g_erase_tmpdir_and_scratchdir;48 47 extern char *g_selfmounted_isodir; 49 48 extern char *MONDO_LOGFILE; … … 555 554 } 556 555 557 558 /**559 * Locate a CD-R/W writer's SCSI node.560 * @param cdrw_device SCSI node will be placed here.561 * @return 0 for success, nonzero for failure.562 */563 556 564 557 … … 1315 1308 1316 1309 /** 1310 * Mount the CD-ROM at @p mountpoint. 1311 * @param device The device (or file if g_ISO_restore_mode) to mount. 1312 * @param mountpoint The place to mount it. 1313 * @return 0 for success, nonzero for failure. 1314 */ 1315 int mount_USB_here(char *device, char *mountpoint) 1316 { 1317 /*@ buffer ****************************************************** */ 1318 char *command; 1319 char *dev; 1320 int retval; 1321 1322 malloc_string(command); 1323 malloc_string(dev); 1324 assert_string_is_neither_NULL_nor_zerolength(device); 1325 assert_string_is_neither_NULL_nor_zerolength(mountpoint); 1326 1327 make_hole_for_dir(mountpoint); 1328 if (isdigit(device[0])) { 1329 return(1); 1330 } else { 1331 strcpy(dev, device); 1332 } 1333 log_msg(4, "(mount_USB_here --- device=%s, mountpoint=%s", device, 1334 mountpoint); 1335 1336 #ifdef __FreeBSD__ 1337 sprintf(command, "mount_vfat %s %s 2>> %s", 1338 device, mountpoint, MONDO_LOGFILE); 1339 1340 #else 1341 sprintf(command, "mount %s -t vfat %s 2>> %s", 1342 device, mountpoint, MONDO_LOGFILE); 1343 #endif 1344 1345 log_msg(4, command); 1346 retval = system(command); 1347 log_msg(1, "system(%s) returned %d", command, retval); 1348 1349 paranoid_free(command); 1350 paranoid_free(dev); 1351 return (retval); 1352 } 1353 1354 /** 1355 * Mount the CD-ROM at @p mountpoint. 1356 * @param device The device (or file if g_ISO_restore_mode) to mount. 1357 * @param mountpoint The place to mount it. 1358 * @return 0 for success, nonzero for failure. 1359 */ 1360 int mount_CDROM_here(char *device, char *mountpoint) 1361 { 1362 /*@ buffer ****************************************************** */ 1363 char *command; 1364 char *dev; 1365 char *options; 1366 int retval; 1367 1368 malloc_string(command); 1369 malloc_string(dev); 1370 malloc_string(options); 1371 assert_string_is_neither_NULL_nor_zerolength(device); 1372 assert_string_is_neither_NULL_nor_zerolength(mountpoint); 1373 1374 make_hole_for_dir(mountpoint); 1375 strcpy(options, "ro"); 1376 if (isdigit(device[0])) { 1377 find_cdrom_device(device, FALSE); 1378 } else { 1379 strcpy(dev, device); 1380 } 1381 if (g_ISO_restore_mode) { 1382 1383 #ifdef __FreeBSD__ 1384 strcpy(dev, make_vn(device)); 1385 if (!dev) { 1386 sprintf(command, "Unable to mount ISO (make_vn(%s) failed)", 1387 device); 1388 fatal_error(command); 1389 } 1390 strcpy(device, dev); 1391 #else 1392 strcat(options, ",loop"); 1393 #endif 1394 1395 } 1396 log_msg(4, "(mount_CDROM_here --- device=%s, mountpoint=%s", device, 1397 mountpoint); 1398 /*@ end vars *************************************************** */ 1399 1400 #ifdef __FreeBSD__ 1401 sprintf(command, "mount_cd9660 -r %s %s 2>> %s", 1402 device, mountpoint, MONDO_LOGFILE); 1403 1404 #else 1405 sprintf(command, "mount %s -o %s -t iso9660 %s 2>> %s", 1406 device, options, mountpoint, MONDO_LOGFILE); 1407 #endif 1408 1409 log_msg(4, command); 1410 if (strncmp(device, "/dev/", 5) == 0) { 1411 retract_CD_tray_and_defeat_autorun(); 1412 } 1413 retval = system(command); 1414 log_msg(1, "system(%s) returned %d", command, retval); 1415 1416 paranoid_free(command); 1417 paranoid_free(dev); 1418 paranoid_free(options); 1419 return (retval); 1420 } 1421 1422 1423 1424 1425 1426 1427 /** 1317 1428 * Ask the user for CD number @p cd_number_i_want. 1318 1429 * Sets g_current_media_number once the correct CD is inserted. … … 1443 1554 { 1444 1555 char *tmp = NULL; 1556 char *tmp1 = NULL; 1445 1557 char *sz_size = NULL; 1446 1558 char *command = NULL; … … 1480 1592 case dvd: 1481 1593 case usb: 1594 /* Never try to eject a USB device */ 1595 if (bkpinfo->backup_media_type == usb) { 1596 bkpinfo->please_dont_eject = TRUE; 1597 } 1482 1598 if (archiving_to_media) { 1483 1599 if ((bkpinfo->backup_media_type != dvd) && (bkpinfo->backup_media_type != usb)) { … … 1556 1672 } 1557 1673 } 1558 1674 /* No break because we continue even for usb */ 1559 1675 case cdstream: 1560 if ( bkpinfo->disaster_recovery) {1676 if ((bkpinfo->disaster_recovery) && (bkpinfo->backup_media_type != usb)) { 1561 1677 mr_allocstr(bkpinfo->media_device, "/dev/cdrom"); 1562 1678 mr_msg(2, "CD-ROM device assumed to be at %s", bkpinfo->media_device); 1563 } else if (bkpinfo->restore_data || bkpinfo->backup_media_type == dvd) { 1679 } else if ((bkpinfo->restore_data && (bkpinfo->backup_media_type != usb)) 1680 || bkpinfo->backup_media_type == dvd) { 1564 1681 if (!bkpinfo->media_device) { 1565 1682 mr_allocstr(bkpinfo->media_device, "/dev/cdrom"); … … 1582 1699 bkpinfo->media_device); 1583 1700 } else { 1701 <<<<<<< .courant 1584 1702 mr_asprintf(&comment, _("What is your media device ?")); 1585 1703 mr_asprintf(&tmp, mr_conf->media_device); … … 1588 1706 log_to_screen(_("User has chosen not to backup the PC")); 1589 1707 finish(1); 1590 } 1708 ======= 1709 if ((find_cdrw_device(bkpinfo->media_device)) && (bkpinfo->backup_media_type != usb)) { 1710 bkpinfo->media_device[0] = '\0'; 1711 >>>>>>> .fusion-droit.r1769 1712 } 1713 <<<<<<< .courant 1591 1714 mr_free(comment); 1592 1715 … … 1602 1725 if (!popup_and_get_string("Device", comment, tmp, 5)) { 1603 1726 log_to_screen(_("User has chosen not to backup the PC")); 1727 ======= 1728 if (bkpinfo->media_device[0]) { 1729 if (bkpinfo->backup_media_type == usb) { 1730 sprintf(tmp, 1731 "I think your %s media corresponds to %s. Is this correct?", 1732 media_descriptor_string(bkpinfo->backup_media_type), 1733 bkpinfo->media_device); 1734 } else { 1735 sprintf(tmp, 1736 "I think I've found your %s burner at SCSI node %s. Is this correct? (Say no if you have an IDE burner and you are running a 2.6 kernel. You will then be prompted for further details.)", 1737 media_descriptor_string(bkpinfo->backup_media_type), 1738 bkpinfo->media_device); 1739 } 1740 if (!ask_me_yes_or_no(tmp)) { 1741 bkpinfo->media_device[0] = '\0'; 1742 } 1743 } 1744 if (!bkpinfo->media_device[0]) { 1745 if (bkpinfo->backup_media_type == usb) { 1746 i = popup_and_get_string("/dev entry?", 1747 "What is the /dev entry of your USB Disk/Key, please?", 1748 bkpinfo->media_device, 1749 MAX_STR_LEN / 4); 1750 } else { 1751 if (g_kernel_version < 2.6) { 1752 i = popup_and_get_string("Device node?", 1753 "What is the SCSI node of your CD (re)writer, please?", 1754 bkpinfo->media_device, 1755 MAX_STR_LEN / 4); 1756 } else { 1757 i = popup_and_get_string("/dev entry?", 1758 "What is the /dev entry of your CD (re)writer, please?", 1759 bkpinfo->media_device, 1760 MAX_STR_LEN / 4); 1761 } 1762 } 1763 if (!i) { 1764 log_to_screen("User has chosen not to backup the PC"); 1765 >>>>>>> .fusion-droit.r1769 1604 1766 finish(1); 1605 1767 } … … 1770 1932 // check whether writable - we better remove surrounding spaces for this 1771 1933 mr_strip_spaces(bkpinfo->nfs_remote_dir); 1772 mr_asprintf(& command, "echo hi > '%s/%s/.dummy.txt'", bkpinfo->isodir,1773 bkpinfo->nfs_remote_dir);1934 mr_asprintf(&tmp1,"%s/%s/.dummy.txt", bkpinfo->isodir,bkpinfo->nfs_remote_dir); 1935 mr_asprintf(&command, "echo hi > '%s'", tmp1); 1774 1936 while (run_program_and_log_output(command, FALSE)) { 1775 1937 mr_asprintf(&tmp, bkpinfo->nfs_remote_dir); … … 1788 1950 // check whether writable - we better remove surrounding space s for this 1789 1951 mr_strip_spaces(bkpinfo->nfs_remote_dir); 1952 paranoid_free(tmp1); 1953 mr_asprintf(&tmp1,"%s/%s/.dummy.txt", bkpinfo->isodir,bkpinfo->nfs_remote_dir); 1790 1954 1791 1955 mr_free(command); 1792 mr_asprintf(&command, "echo hi > '%s/%s/.dummy.txt'", bkpinfo->isodir, 1793 bkpinfo->nfs_remote_dir); 1956 mr_asprintf(&command, "echo hi > '%s'", tmp1); 1794 1957 } 1795 1958 mr_free(command); 1959 unlink(tmp1); 1960 paranoid_free(tmp1); 1796 1961 1797 1962 mr_asprintf(&tmp, mr_conf->prefix); … … 2183 2348 mr_asprintf(&mountdev, bkpinfo->media_device); 2184 2349 if (!is_this_device_mounted(MNT_CDROM)) { 2185 mount_CDROM_here(mountdev, MNT_CDROM); 2350 if (bkpinfo->backup_media_type == usb) { 2351 mount_USB_here(mountdev, MNT_CDROM); 2352 } else { 2353 mount_CDROM_here(mountdev, MNT_CDROM); 2354 } 2186 2355 } 2187 2356 cd_number = -
branches/stable/mondo/src/common/libmondo-filelist.c
r1670 r1770 1515 1515 char *userdef_filelist) 1516 1516 { 1517 char sz_datefile_wildcard[] = "/var/cache/mondo-archive/difflevel.%d";1517 char sz_datefile_wildcard[] = MONDO_CACHE"/difflevel.%d"; 1518 1518 char *p = NULL; 1519 1519 char *q = NULL; … … 1589 1589 mr_msg(2, "include_paths = '%s'", include_paths); 1590 1590 mr_msg(1, "Calculating filelist"); 1591 snprintf(exclude_paths, (size_t)8*MAX_STR_LEN," %s %s %s %s %s %s . .. \1591 snprintf(exclude_paths, (size_t)8*MAX_STR_LEN," %s %s %s %s %s %s %s . .. \ 1592 1592 " MNT_CDROM " /mnt/floppy /media \ 1593 1593 /proc /sys /tmp /var/log/lastlog /root/images/mondo " MINDI_CACHE " " MONDO_CACHE, excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir); -
branches/stable/mondo/src/common/libmondo-tools.c
r1769 r1770 32 32 33 33 extern int g_tape_buffer_size_MB; 34 extern char *g_erase_tmpdir_and_scratchdir;35 34 extern char *g_serial_string; 36 35 extern bool g_text_mode; … … 653 652 } 654 653 655 asprintf(&tmp,"rm -Rf %s/changed.files*",M INDI_CACHE);654 asprintf(&tmp,"rm -Rf %s/changed.files*",MONDO_CACHE); 656 655 run_program_and_log_output(tmp, FALSE); 657 656 paranoid_free(tmp); … … 798 797 assert_string_is_neither_NULL_nor_zerolength(partition); 799 798 800 mr_asprintf(&command, "df -m -P %s &> /dev/null", partition);799 mr_asprintf(&command, "df -m -P %s 1> /dev/null 2> /dev/null", partition); 801 800 if (system(command)) { 802 801 return (-1); … … 838 837 /*@ int's *************** */ 839 838 int retval = 0; 840 long Lres;841 842 839 843 840 mvaddstr_and_log_it(g_currentY, 0, 844 841 "Checking sanity of your Linux distribution"); 845 842 #ifndef __FreeBSD__ 846 if (system("which mkfs.vfat &> /dev/null")847 && !system("which mkfs.msdos &> /dev/null")) {843 if (system("which mkfs.vfat 2> /dev/null 1> /dev/null") 844 && !system("which mkfs.msdos 2> /dev/null 1> /dev/null")) { 848 845 log_it 849 846 ("OK, you've got mkfs.msdos but not mkfs.vfat; time for the fairy to wave her magic wand..."); … … 1225 1222 malloc_string(g_boot_mountpt); 1226 1223 malloc_string(g_tmpfs_mountpt); 1227 malloc_string(g_erase_tmpdir_and_scratchdir);1228 1224 malloc_string(g_serial_string); 1229 1225 malloc_string(g_magicdev_command); … … 1231 1227 mr_free(g_boot_mountpt); 1232 1228 mr_free(g_tmpfs_mountpt); 1233 mr_free(g_erase_tmpdir_and_scratchdir);1234 1229 mr_free(g_serial_string); 1235 1230 mr_free(g_magicdev_command); -
branches/stable/mondo/src/common/libmondo-verify-EXT.h
r1663 r1770 3 3 4 4 extern int verify_cd_image(); 5 extern int verify_usb_image(); 5 6 extern int verify_a_tarball(char *); 6 7 extern int verify_an_afioball_from_CD(char *); -
branches/stable/mondo/src/common/libmondo-verify.c
r1769 r1770 879 879 880 880 /** 881 * Verify the USB device 882 * @param bkpinfo The backup information structure. Fields used: 883 * - @c bkpinfo->isodir 884 * - @c bkpinfo->media_device 885 * - @c bkpinfo->tmpdir 886 * - @c bkpinfo->verify_data 887 * 888 * @return 0 for success (even if differences are found), nonzero for failure. 889 * @ingroup verifyGroup 890 */ 891 int verify_usb_image() 892 { 893 894 /*@ int ************************************************************ */ 895 int retval = 0; 896 897 /*@ buffers ******************************************************** */ 898 char *mountpoint = NULL; 899 char *tmp = NULL; 900 char *tmp1 = NULL; 901 char *fname = NULL; 902 int ret = 0; 903 #ifdef __FreeBSD__ 904 char mdd[32]; 905 char *mddevice = mdd; 906 int vndev = 2; 907 #else 908 //skip 909 #endif 910 911 assert(bkpinfo != NULL); 912 913 asprintf(&fname, "%s1", bkpinfo->media_device); 914 if (is_this_device_mounted(fname)) { 915 log_msg(1, "USB device mounted. Remounting it at the right place"); 916 asprintf(&tmp, "umount %s", fname); 917 run_program_and_log_output(tmp, FALSE); 918 paranoid_free(tmp); 919 } 920 paranoid_free(fname); 921 922 log_msg(1, "Mounting USB device."); 923 asprintf(&mountpoint, "%s/usb", bkpinfo->tmpdir); 924 asprintf(&tmp, "mkdir -p %s", mountpoint); 925 run_program_and_log_output(tmp, FALSE); 926 paranoid_free(tmp); 927 /* Mindi always create one single parition on the USB dev */ 928 asprintf(&tmp, "mount %s1 %s", bkpinfo->media_device, mountpoint); 929 ret = run_program_and_log_output(tmp, FALSE); 930 paranoid_free(tmp); 931 if (ret) { 932 paranoid_free(mountpoint); 933 return(ret); 934 } 935 936 sync(); 937 log_msg(2, "OK, I've mounted the USB Disk/Key\n"); 938 asprintf(&tmp, "%s/archives/NOT-THE-LAST", mountpoint); 939 if (!does_file_exist(tmp)) { 940 log_msg 941 (2, 942 "This is the last USB device. I am therefore setting bkpinfo->verify_data to FALSE."); 943 bkpinfo->verify_data = FALSE; 944 /* 945 (a) It's an easy way to tell the calling subroutine that we've finished & 946 there are no more device to be verified; (b) It stops the post-backup verifier 947 from running after the per-device verifier has run too. 948 */ 949 } 950 paranoid_free(tmp); 951 verify_afioballs_on_CD(mountpoint); 952 iamhere("before verify_all_slices"); 953 verify_all_slices_on_CD(mountpoint); 954 955 asprintf(&tmp1, "umount %s", mountpoint); 956 #ifdef __FreeBSD__ 957 ret += system(tmp1); 958 ret += kick_vn(mddevice); 959 if (ret) 960 #else 961 if (system(tmp1)) 962 #endif 963 { 964 asprintf(&tmp, "%s failed; unable to unmount USB device\n", tmp1); 965 log_to_screen(tmp); 966 paranoid_free(tmp); 967 retval++; 968 } else { 969 log_msg(2, "OK, I've unmounted the USB device\n"); 970 } 971 paranoid_free(tmp1); 972 paranoid_free(mountpoint); 973 return (retval); 974 } 975 976 977 /** 881 978 * Verify the CD indicated by @c g_current_media_number. 882 979 * @param bkpinfo The backup information structure. Fields used: … … 1084 1181 diffs = count_lines_in_file(changed_files_fname); 1085 1182 if (diffs > 0) { 1086 mr_asprintf(&tmp, "cp -f %s %s/changed.files", changed_files_fname, M INDI_CACHE);1183 mr_asprintf(&tmp, "cp -f %s %s/changed.files", changed_files_fname, MONDO_CACHE); 1087 1184 run_program_and_log_output(tmp, FALSE); 1088 1185 mr_free(tmp); … … 1090 1187 mr_asprintf(&tmp, 1091 1188 "%ld files differed from live filesystem; type less %s or less %s/changed.files to see", 1092 diffs, changed_files_fname, M INDI_CACHE);1189 diffs, changed_files_fname, MONDO_CACHE); 1093 1190 mr_msg(0, tmp); 1094 1191 mr_free(tmp); 1095 1192 1096 1193 log_to_screen 1097 (_("See "M INDI_CACHE"/changed.files for a list of nonmatching files."));1194 (_("See "MONDO_CACHE"/changed.files for a list of nonmatching files.")); 1098 1195 log_to_screen 1099 1196 (_("The files probably changed on filesystem, not on backup media.")); 1100 // retval++;1101 1197 } 1102 1198 mr_free(changed_files_fname); -
branches/stable/mondo/src/common/libmondo-verify.h
r1663 r1770 63 63 64 64 int verify_cd_image(); 65 int verify_usb_image(); 65 66 int verify_a_tarball(char *); 66 67 int verify_an_afioball_from_CD(char *); -
branches/stable/mondo/src/common/newt-specific.c
r1670 r1770 105 105 g_xmondo_stdout[MAX_NEWT_COMMENT_LEN]; ///< .... @bug Unneeded w/current XMondo. 106 106 bool g_called_by_xmondo = FALSE; ///< @bug Unneeded w/current XMondo. 107 char *g_erase_tmpdir_and_scratchdir = NULL; ///< The command to run to erase the tmpdir and scratchdir at the end of Mondo.108 107 char *g_selfmounted_isodir = NULL; ///< Holds the NFS mountpoint if mounted via mondoarchive. 109 108 … … 326 325 } 327 326 328 if (g_erase_tmpdir_and_scratchdir[0]) {329 run_program_and_log_output(g_erase_tmpdir_and_scratchdir, 5);330 }331 332 327 if (g_selfmounted_isodir) { 333 328 mr_asprintf(&command, "umount %s", g_selfmounted_isodir); … … 373 368 run_program_and_log_output("rm -Rf /mondo.scratch.* /tmp.mondo.*", 374 369 FALSE); 375 if (g_erase_tmpdir_and_scratchdir) {376 run_program_and_log_output(g_erase_tmpdir_and_scratchdir, 1);377 }378 370 if (g_selfmounted_isodir) { 379 371 mr_asprintf(&command, "umount %s", g_selfmounted_isodir); … … 396 388 printf("Execution run ended; result=%d\n", signal_code); 397 389 printf("Type 'less %s' to see the output log\n", MONDO_LOGFILE); 390 mr_asprintf(&command, "rm -Rf %s %s", bkpinfo->tmpdir, bkpinfo->scratchdir); 391 system(command); 392 paranoid_free(command); 393 paranoid_free(bkpinfo); 398 394 free_libmondo_global_strings(); 399 395 mr_exit(signal_code, "Execution run ended"); … … 1190 1186 b2 = newtButton(17, 1, _("CD-RW disks")); 1191 1187 b3 = newtButton(1, 9, _("Tape drive ")); 1192 b4 = newtButton(17, 5, _(" CD streamer"));1188 b4 = newtButton(17, 5, _("USB Key/Disk")); 1193 1189 b5 = newtButton(1, 5, _(" DVD disks ")); 1194 1190 b6 = newtButton(17, 9, _(" NFS mount ")); -
branches/stable/mondo/src/include/my-stuff.h
r1693 r1770 87 87 */ 88 88 #define MOUNTLIST_FNAME_STUB "tmp/mountlist.txt" 89 90 /** 91 * The location where mondo changed info are stored. 92 */ 93 #define MONDO_CACHE "/var/cache/mondo" 89 94 90 95 /** -
branches/stable/mondo/src/mondoarchive/mondo-cli.c
r1769 r1770 488 488 if (flag_set['U']) { 489 489 bkpinfo->backup_media_type = usb; 490 /* Never try to eject a USB device */ 491 bkpinfo->please_dont_eject = TRUE; 490 492 } 491 493 if (flag_set['z']) { … … 618 620 strncpy(bkpinfo->isodir, flag_val['d'], MAX_STR_LEN / 4); 619 621 mr_asprintf(&tmp2, "ls -l %s", bkpinfo->isodir); 620 if (run_program_and_log_output(tmp2, FALSE)) {622 if (run_program_and_log_output(tmp2, 2)) { 621 623 fatal_error 622 624 ("output folder does not exist - please create it"); … … 633 635 634 636 if (flag_set['n']) { 635 mr_asprintf(&tmp 2, "echo hi > %s/%s/.dummy.txt", bkpinfo->isodir,636 bkpinfo->nfs_remote_dir);637 if (run_program_and_log_output(tmp2, FALSE)) {637 mr_asprintf(&tmp1,"%s/%s/.dummy.txt", bkpinfo->isodir,bkpinfo->nfs_remote_dir); 638 mr_asprintf(&tmp2, "echo hi > %s", tmp1); 639 if (run_program_and_log_output(tmp2, 2)) { 638 640 retval++; 639 641 mr_free(tmp2); … … 644 646 } 645 647 mr_free(tmp2); 648 unlink(tmp1); 649 mr_free(tmp1); 646 650 } 647 651 … … 749 753 && 750 754 !run_program_and_log_output 751 ("grep -Ei suse /etc/issue.net | grep -E '9.0' | grep 64", TRUE)) {755 ("grep -Ei suse /etc/issue.net | grep -E '9.0' | grep 64", 2)) { 752 756 bkpinfo->make_cd_use_lilo = TRUE; 753 757 log_to_screen … … 767 771 (_("using LILO instead of SYSLINUX as the CD's boot loader.")); 768 772 } 769 if (run_program_and_log_output("which mkfs.vfat", FALSE)) {773 if (run_program_and_log_output("which mkfs.vfat", 2)) { 770 774 bkpinfo->make_cd_use_lilo = TRUE; 771 775 #ifdef __IA32__ -
branches/stable/mondo/src/mondoarchive/mondoarchive.c
r1769 r1770 44 44 extern bool g_remount_cdrom_at_end, g_remount_floppy_at_end; 45 45 extern char *g_tmpfs_mountpt; 46 extern char *g_erase_tmpdir_and_scratchdir;47 46 extern char *g_cdrw_drive_is_here; 48 47 extern double g_kernel_version; … … 484 483 485 484 mr_msg(9, "Next"); 485 make_hole_for_dir(MONDO_CACHE); 486 486 487 welcome_to_mondoarchive(); 487 488 distro_specific_kludges_at_start_of_mondoarchive(); … … 620 621 (_("BusyBox's sources are available from http://www.busybox.net")); 621 622 622 sprintf(g_erase_tmpdir_and_scratchdir, "rm -Rf %s %s", bkpinfo->tmpdir,623 bkpinfo->scratchdir);624 623 625 624 /* If we're meant to backup then backup */ … … 660 659 } 661 660 662 if (length_of_file(M INDI_CACHE"/changed.files") > 2) {661 if (length_of_file(MONDO_CACHE"/changed.files") > 2) { 663 662 if (g_text_mode) { 664 663 log_to_screen 665 (_("Type 'less "M INDI_CACHE"/changed.files' to see which files don't match the archives"));664 (_("Type 'less "MONDO_CACHE"/changed.files' to see which files don't match the archives")); 666 665 } else { 667 666 mr_msg(1, 668 _("Type 'less "M INDI_CACHE"/changed.files' to see which files don't match the archives"));667 _("Type 'less "MONDO_CACHE"/changed.files' to see which files don't match the archives")); 669 668 mr_msg(2, "Calling popup_changelist_from_file()"); 670 popup_changelist_from_file(M INDI_CACHE"/changed.files");669 popup_changelist_from_file(MONDO_CACHE"/changed.files"); 671 670 mr_msg(2, "Returned from popup_changelist_from_file()"); 672 671 } 673 672 } else { 674 unlink(M INDI_CACHE"/changed.files");673 unlink(MONDO_CACHE"/changed.files"); 675 674 } 676 675 log_to_screen(say_at_end); … … 684 683 run_program_and_log_output(tmp, TRUE); 685 684 mr_free(tmp); 686 run_program_and_log_output(g_erase_tmpdir_and_scratchdir, TRUE); 685 if (bkpinfo->backup_media_type == usb) { 686 log_msg(1, "Unmounting USB device."); 687 mr_asprintf(&tmp, "umount %s1", bkpinfo->media_device); 688 run_program_and_log_output(tmp, TRUE); 689 mr_free(tmp); 690 } 687 691 688 692 run_program_and_log_output("mount", 2); 689 693 690 system("rm -f /var/cache/mondo-archive/last-backup.aborted");694 system("rm -f "MONDO_CACHE"/last-backup.aborted"); 691 695 if (!retval) { 692 696 printf(_("Mondoarchive ran OK.\n")); … … 697 701 register_pid(0, "mondo"); 698 702 set_signals(FALSE); 699 chdir("/tmp"); // just in case there's something wrong with g_erase_tmpdir_and_scratchdir 700 system(g_erase_tmpdir_and_scratchdir); 701 702 /* assemble command string for deletion of Mondo's tmp directory */ 703 sprintf(tmp, "rm -Rf %s", bkpinfo->tmpdir); 704 703 705 704 free_libmondo_global_strings(); 706 705 mr_free(bkpinfo); … … 717 716 mr_msg_close(); 718 717 719 /* remove Mondo's tmp directory */ 720 system(tmp); 721 paranoid_free(tmp); 718 chdir("/tmp"); 722 719 723 720 if (!g_text_mode) { … … 725 722 (_("Mondo Archive has finished its run. Please press ENTER to return to the shell prompt.")); 726 723 log_to_screen(_("See %s for details of backup run."), MONDO_LOGFILE); 727 finish(retval);728 724 } else { 729 725 printf(_("See %s for details of backup run.\n"), MONDO_LOGFILE); 730 726 mr_exit(retval, NULL); 731 727 } 728 finish(retval); 732 729 733 730 return EXIT_SUCCESS; -
branches/stable/mondo/src/mondorestore/mondo-prep.c
r1555 r1770 2250 2250 strcpy(program, "mkfs.jfs"); 2251 2251 } else if (strcmp(format, "ext3") == 0) { 2252 strcpy(program, "mkfs -t ext 2 -F -j-q");2252 strcpy(program, "mkfs -t ext3 -F -q"); 2253 2253 } else if (strcmp(format, "minix") == 0) { 2254 2254 strcpy(program, "mkfs.minix"); -
branches/stable/mondo/src/mondorestore/mondo-rstr-compare.c
r1670 r1770 138 138 139 139 if (retval) { 140 if (!(fout = fopen(M INDI_CACHE"/changed.txt", "a"))) {140 if (!(fout = fopen(MONDO_CACHE"/changed.txt", "a"))) { 141 141 fatal_error("Cannot openout changed.txt"); 142 142 } … … 306 306 if (length_of_file(logfile) > 5) { 307 307 mr_asprintf(&command, 308 "sed s/': \\\"'/\\|/ %s | sed s/'\\\": '/\\|/ | cut -d'|' -f2 | sort -u | grep -vE \"^dev/.*\" >> "M INDI_CACHE"/changed.txt",308 "sed s/': \\\"'/\\|/ %s | sed s/'\\\": '/\\|/ | cut -d'|' -f2 | sort -u | grep -vE \"^dev/.*\" >> "MONDO_CACHE"/changed.txt", 309 309 logfile); 310 310 system(command); … … 464 464 getcwd(new, MAX_STR_LEN - 1); 465 465 insist_on_this_cd_number(g_current_media_number); 466 unlink(M INDI_CACHE"/changed.txt");466 unlink(MONDO_CACHE"/changed.txt"); 467 467 468 468 resA = compare_all_tarballs(); 469 469 resB = compare_all_biggiefiles(); 470 470 chdir(cwd); 471 noof_changed_files = count_lines_in_file(M INDI_CACHE"/changed.txt");471 noof_changed_files = count_lines_in_file(MONDO_CACHE"/changed.txt"); 472 472 if (noof_changed_files) { 473 473 log_to_screen(_("%ld files do not match the backup "), 474 474 noof_changed_files); 475 mr_asprintf(&command, "cat "M INDI_CACHE"/changed.txt >> %s", MONDO_LOGFILE);475 mr_asprintf(&command, "cat "MONDO_CACHE"/changed.txt >> %s", MONDO_LOGFILE); 476 476 paranoid_system(command); 477 477 mr_free(command); … … 579 579 } 580 580 581 if (count_lines_in_file(M INDI_CACHE"/changed.txt") > 0) {581 if (count_lines_in_file(MONDO_CACHE"/changed.txt") > 0) { 582 582 mvaddstr_and_log_it(g_currentY++, 0, 583 583 _ 584 584 ("Differences found while files were being compared.")); 585 streamline_changes_file(M INDI_CACHE"/changed.files", MINDI_CACHE"/changed.txt");586 if (count_lines_in_file(M INDI_CACHE"/changed.files") <= 0) {585 streamline_changes_file(MONDO_CACHE"/changed.files", MONDO_CACHE"/changed.txt"); 586 if (count_lines_in_file(MONDO_CACHE"/changed.files") <= 0) { 587 587 mvaddstr_and_log_it(g_currentY++, 0, 588 588 _ … … 591 591 ("The differences were logfiles and temporary files. Your archives are fine.")); 592 592 } else { 593 q = count_lines_in_file(M INDI_CACHE"/changed.files");593 q = count_lines_in_file(MONDO_CACHE"/changed.files"); 594 594 mr_asprintf(&tmp, _("%ld significant difference%s found."), q, 595 595 (q != 1) ? "s" : ""); … … 608 608 chdir(bkpinfo->restore_path); 609 609 getcwd(new, MAX_STR_LEN - 1); 610 popup_changelist_from_file(M INDI_CACHE"/changed.files");610 popup_changelist_from_file(MONDO_CACHE"/changed.files"); 611 611 mr_msg(2, "Returning from popup_changelist_from_file()"); 612 612 chdir(cwd); … … 666 666 res = verify_tape_backups(); 667 667 chdir(dir); 668 if (length_of_file(M INDI_CACHE"/changed.txt") > 2669 && length_of_file(M INDI_CACHE"/changed.files") > 2) {668 if (length_of_file(MONDO_CACHE"/changed.txt") > 2 669 && length_of_file(MONDO_CACHE"/changed.files") > 2) { 670 670 mr_msg(0, 671 "Type 'less "M INDI_CACHE"/changed.files' to see which files don't match the archives");671 "Type 'less "MONDO_CACHE"/changed.files' to see which files don't match the archives"); 672 672 mr_msg(2, "Calling popup_changelist_from_file()"); 673 popup_changelist_from_file(M INDI_CACHE"/changed.files");673 popup_changelist_from_file(MONDO_CACHE"/changed.files"); 674 674 mr_msg(2, "Returned from popup_changelist_from_file()"); 675 675 } -
branches/stable/mondo/src/mondorestore/mondo-rstr-newt.c
r1663 r1770 182 182 mr_asprintf(&format_str, "ufs"); 183 183 #else 184 mr_asprintf(&format_str, "ext 2");184 mr_asprintf(&format_str, "ext3"); 185 185 #endif 186 186 newtOpenWindow(20, 5, 48, 10, _("Add entry")); -
branches/stable/mondo/src/mondorestore/mondo-rstr-tools-EXT.h
r1663 r1770 8 8 extern int iso_fiddly_bits(bool nuke_me_please); 9 9 extern void kill_petris(void); 10 extern int mount_ cdrom();10 extern int mount_media(); 11 11 extern int mount_all_devices(struct mountlist_itself *, bool); 12 12 extern void protect_against_braindead_sysadmins(void); -
branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c
r1769 r1770 342 342 } 343 343 if (!IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 344 mount_ cdrom();344 mount_media(); 345 345 } 346 346 i = what_number_cd_is_this(); /* has the side-effect of calling mount_cdrom() */ … … 439 439 mr_msg(2, "command='%s'", command); 440 440 } 441 mr_free(additional_parameters);442 443 441 res = run_program_and_log_output(command, TRUE); 444 if (res && (strstr(command, "xattr") || strstr(command, "acl"))) {445 mr_msg(1, "Re-trying without the fancy extra parameters");446 mr_free(command);447 448 mr_asprintf(&command, "mount -t %s %s %s 2>> %s", format, device,449 mountdir, MONDO_LOGFILE);450 res = run_program_and_log_output(command, TRUE);451 }452 442 if (res) { 453 443 mr_msg(1, "Unable to mount device %s (type %s) at %s", device, … … 533 523 534 524 mr_asprintf(&format, mountlist->el[lino].format); 525 /* BERLIOS: removed as it doen't make sens to not mount ext3 partitions as ext3 535 526 if (!strcmp(format, "ext3")) { 536 527 mr_free(format); 537 528 mr_asprintf(&format, "ext2"); 538 529 } 530 */ 539 531 res = mount_device(mountlist->el[lino].device, 540 532 mountlist->el[lino].mountpoint, … … 593 585 594 586 595 /* *596 * Mount the CD-ROMdevice at /mnt/cdrom.597 598 599 600 601 602 603 604 int mount_ cdrom()587 /* 588 * Mount the CD-ROM or USB device at /mnt/cdrom. 589 * @param bkpinfo The backup information structure. Fields used: 590 * - @c bkpinfo->backup_media_type 591 * - @c bkpinfo->disaster_recovery 592 * - @c bkpinfo->isodir 593 * - @c bkpinfo->media_device 594 * @return 0 for success, nonzero for failure. 595 */ 596 int mount_media() 605 597 { 606 598 char *mount_cmd = NULL; … … 614 606 if (bkpinfo->backup_media_type == tape 615 607 || bkpinfo->backup_media_type == udev) { 616 mr_msg(8, "Tape/udev. Therefore, no need to mount CDROM.");608 mr_msg(8, "Tape/udev. Therefore, no need to mount a media."); 617 609 return 0; 618 610 } 619 611 620 612 if (!run_program_and_log_output("mount | grep -F " MNT_CDROM, FALSE)) { 621 mr_msg(2, "mount_ cdrom() - CDalready mounted. Fair enough.");613 mr_msg(2, "mount_media() - media already mounted. Fair enough."); 622 614 return (0); 623 615 } … … 661 653 MNT_CDROM); 662 654 #endif 655 } else if (bkpinfo->backup_media_type == usb) { 656 mr_asprintf(&mount_cmd, "mount -t vfat %s %s", bkpinfo->media_device, MNT_CDROM); 663 657 } else if (strstr(bkpinfo->media_device, "/dev/")) 664 658 #ifdef __FreeBSD__ … … 679 673 mr_allocstr(bkpinfo->media_device, 680 674 last_line_of_file("/tmp/CDROM-LIVES-HERE")); 675 } else { 676 find_cdrom_device(bkpinfo->media_device, TRUE); 681 677 } 682 678 683 679 #ifdef __FreeBSD__ 684 680 mr_asprintf(&mount_cmd, "mount_cd9660 -r %s %s", bkpinfo->media_device, 685 681 MNT_CDROM); 686 682 #else 687 683 mr_asprintf(&mount_cmd, "mount %s -t iso9660 -o ro %s", 688 684 bkpinfo->media_device, MNT_CDROM); 689 685 #endif 690 691 } 692 mr_msg(2, "(mount_ cdrom) --- command = %s", mount_cmd);686 } 687 688 mr_msg(2, "(mount_media) --- command = %s", mount_cmd); 693 689 for (i = 0; i < 2; i++) { 694 690 res = run_program_and_log_output(mount_cmd, FALSE); … … 706 702 mr_msg(2, "Failed, despite %d attempts", i); 707 703 } else { 708 mr_msg(2, "Mounted CD-ROM driveOK");704 mr_msg(2, "Mounted media OK"); 709 705 } 710 706 return (res); 711 707 } 708 712 709 /************************************************************************** 713 *END_MOUNT_CDROM * 714 **************************************************************************/ 710 *END_MOUNT_CDROM * 711 **************************************************************************/ 712 715 713 716 714 … … 784 782 } else if (!strcmp(value, "dvd")) { 785 783 bkpinfo->backup_media_type = dvd; 784 } else if (!strcmp(value, "usb")) { 785 bkpinfo->backup_media_type = usb; 786 bkpinfo->please_dont_eject = TRUE; 786 787 } else if (!strcmp(value, "iso")) { 787 788 // Patch by Conor Daly - 2004/07/12 … … 824 825 mr_allocstr(bkpinfo->prefix,envtmp1); 825 826 } 826 827 } else if (bkpinfo->backup_media_type == usb) { 828 if (read_cfg_var(cfg_file, "usb-dev", value)) { 829 fatal_error("Cannot get USB device name from cfg file"); 830 } 831 mr_asprintf(&tmp, "%s1", value); 832 mr_allocstr(bkpinfo->media_device, tmp); 833 mr_free(tmp); 834 835 mr_asprintf(&tmp, "Backup medium is USB --- dev=%s", bkpinfo->media_device); 836 log_msg(2, tmp); 837 mr_free(tmp); 827 838 } else if (!strcmp(value, "tape")) { 828 839 bkpinfo->backup_media_type = tape; … … 908 919 bkpinfo->differential = TRUE; 909 920 } 921 910 922 mr_msg(2, "differential var = '%s'", value); 911 923 if (bkpinfo->differential) { … … 913 925 } else { 914 926 mr_msg(2, "This is a regular (full) backup"); 915 }916 927 917 928 read_cfg_var(g_mondo_cfg_file, "please-dont-eject", tmp); … … 1023 1034 mr_free(iso_path); 1024 1035 } 1036 /* bkpinfo->isodir should now be the true path to prefix-1.iso etc... */ 1037 if (bkpinfo->backup_media_type == iso) { 1038 sprintf(bkpinfo->isodir, "%s%s", iso_mnt, iso_path); 1039 } 1025 1040 } 1026 1041 … … 1043 1058 return (0); 1044 1059 } 1060 1045 1061 /************************************************************************** 1046 1062 *END_READ_CFG_FILE_INTO_BKPINFO * … … 2111 2127 } else { 2112 2128 mr_msg(2, "gcffa --- calling mount_cdrom now :)"); 2113 if (!mount_ cdrom()) {2129 if (!mount_media()) { 2114 2130 mr_msg(2, 2115 2131 "gcffa --- managed to mount CD; so, no need for Plan B"); -
branches/stable/mondo/src/mondorestore/mondo-rstr-tools.h
r1663 r1770 8 8 int iso_fiddly_bits(bool nuke_me_please); 9 9 void kill_petris(void); 10 int mount_ cdrom();10 int mount_media(); 11 11 int mount_device(char *, char *, char *, bool); 12 12 int mount_all_devices(struct mountlist_itself *, bool); -
branches/stable/mondo/src/mondorestore/mondorestore.c
r1769 r1770 437 437 read_cfg_file_into_bkpinfo(g_mondo_cfg_file); 438 438 iamhere("Done loading config file; resizing ML"); 439 mr_asprintf(&tmp,bkpinfo->prefix); 440 if (popup_and_get_string 441 ("Prefix", "Prefix of your ISO images ?", tmp, MAX_STR_LEN / 4)) { 442 mr_free(bkpinfo->prefix); 443 bkpinfo->prefix = tmp; 444 mr_msg(1, "Prefix set to %s",bkpinfo->prefix); 439 if (bkpinfo->backup_media_type != usb) { 440 mr_asprintf(&tmp,bkpinfo->prefix); 441 if (popup_and_get_string 442 ("Prefix", "Prefix of your ISO images ?", tmp, MAX_STR_LEN / 4)) { 443 mr_free(bkpinfo->prefix); 444 bkpinfo->prefix = tmp; 445 mr_msg(1, "Prefix set to %s",bkpinfo->prefix); 446 } 445 447 } 446 448 … … 924 926 if (!g_restoring_live_from_cd) { 925 927 popup_and_OK 926 (_("Please insert tape/CD , then hit 'OK' to continue."));928 (_("Please insert tape/CD/USB key, then hit 'OK' to continue.")); 927 929 sleep(1); 928 930 } … … 2588 2590 mvaddstr_and_log_it(g_currentY, 0, _("Preparing to read your archives")); 2589 2591 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 2590 mount_ cdrom();2592 mount_media(); 2591 2593 mvaddstr_and_log_it(g_currentY++, 0, 2592 2594 _("Restoring OS and data from streaming media")); … … 2606 2608 } else { 2607 2609 mvaddstr_and_log_it(g_currentY++, 0, 2608 _("Restoring OS and data from CD 2609 mount_ cdrom();2610 _("Restoring OS and data from CD/USB ")); 2611 mount_media(); 2610 2612 resA = restore_all_tarballs_from_CD(filelist); 2611 2613 resB = restore_all_biggiefiles_from_CD(filelist); … … 2876 2878 } 2877 2879 mkdir(MNT_CDROM, 0x770); 2880 make_hole_for_dir(MONDO_CACHE); 2878 2881 2879 2882 /* Backup original mountlist.txt */ … … 3155 3158 /* clean up at the end */ 3156 3159 if (retval) { 3157 if (does_file_exist(M INDI_CACHE"/changed.files")) {3160 if (does_file_exist(MONDO_CACHE"/changed.files")) { 3158 3161 log_to_screen 3159 (_("See "M INDI_CACHE"/changed.files for list of files that have changed."));3162 (_("See "MONDO_CACHE"/changed.files for list of files that have changed.")); 3160 3163 } 3161 3164 mvaddstr_and_log_it(g_currentY++, -
branches/stable/mondo/src/restore-scripts/mondo/hack-fstab
r1548 r1770 20 20 format=`echo "$incoming" | cut -d' ' -f3` 21 21 size=`echo "$incoming" | cut -d' ' -f4` 22 label=`echo "$incoming" | cut -d' ' -f5` 23 uuid=`echo "$incoming" | cut -d' ' -f6` 22 label=`echo "$incoming" | cut -d' ' -f5` 24 23 original_fstab_line=`grep " $mountpoint " $old_fstab | grep -v "#" | tr -s ' ' ' '` 25 24 if [ "$format" = "ext2" ] || [ "$format" = "ext3" ] ; then … … 28 27 fi 29 28 if [ "`echo "$original_fstab_line" | grep "UUID="`" != "" ] ; then 30 device="UUID=$ uuid"29 device="UUID=$label" 31 30 fi 32 31 fi -
branches/stable/mondo/src/restore-scripts/mondo/label-partitions-as-necessary
r1341 r1770 11 11 label=`echo "$1" | awk '{print $1}' | cut -d'=' -f2` 12 12 format=`echo "$1" | awk '{print $3}'` 13 mountpt=`awk '{print $1,$5}' $mountlist | grep " $label$" | awk '{print $1}'` 13 14 14 15 if [ "`echo "$1" | grep -E 'LABEL='`" != "" ] ; then 15 16 opttun="-L" 16 mountpt=`awk '{print $1,$5}' $mountlist | grep " $label$" | awk '{print $1}'`17 17 elif [ "`echo "$1" | grep -E 'UUID='`" != "" ] ; then 18 18 opttun="-U" 19 mountpt=`awk '{print $1,$6}' $mountlist | grep " $label$" | awk '{print $1}'`20 19 else 21 20 # Nothing to do … … 34 33 elif [ "$format" = "swap" ] ; then 35 34 if [ "$opttun" = "-U" ]; then 36 echo "Unable yet to identify swap with UUID" 35 LogIt "Creating uuid $label on swap partition $label" 36 echo -n "$label" | perl -ne 's/-//g;chomp;print pack "H*",$_' | dd conv=notrunc "of=$mountpt" obs=1 seek=1036 37 37 else 38 38 command="mkswap $opttun $label $mountpt"
Note:
See TracChangeset
for help on using the changeset viewer.