|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T u
Length: 4431 (0x114f) Types: TextFile Names: »usr/admin/menu/diskmgmt/cpdisk «
└─⟦3d8f416b2⟧ Bits:30004042/core2.imd SW95705I 386/ix Multi-user Release 1.2 └─⟦this⟧ »usr/admin/menu/diskmgmt/cpdisk «
#ident "@(#)sadmin:admin/menu/diskmgmt/cpdisk 2.12" #menu# make exact copies of a removable medium #help# #help# This procedure copies the contents of a removable medium into the #help# machine and makes exact copies of it. These copies are identical to #help# the original in every way. #help# The copies are made by first reading the original removable medium #help# entirely into the machine and then writing it out onto duplicates. #help# The procedure will fail if there is not enough space in the #help# system to hold the original medium. #help# If there are two or more drives of the same type on the system, #help# you can request that the copy be directly from one to the other, #help# in which case the space limitation (above) does not hold. ##help# When copying between dissimilar drives, the smaller one dominates. trap 'exit 0' 1 2 15 unset patterns lspatterns=/dev/rSA dir=${0}.d if [ -d ${dir} ] then patterns=`ls ${dir} 2>/dev/null` lspatterns=`echo "${patterns}" | sed 's;.*;/dev/rSA/&*;'` fi sdargs="-c $$ /dev/rSA ${patterns}" cpcmd=cp if [ `ls ${lspatterns} 2>/dev/null | wc -l` -gt 1 ] && checkyn -q q -k $$ -f -H ' Copying directly from one drive to another can save time and also does not use any file system space on the built-in disk. The original is put in one drive and then copied onto the media on the other. When using only one drive, the original is copied onto the built-in disk and then copied out to another medium placed in the same drive. This is slower, but leaves the other drive available.' \ 'Do you wish to copy directly from one drive to another?' then ddrive=`selectdevice -q 'Select the drive you wish to copy from:' ${sdargs}` ddrive2=`selectdevice -q 'Select the drive you wish to copy to:' ${sdargs}` if [ ${ddrive} = ${ddrive2} ] then echo 'You cannot copy directly from and to the same drive. Try again.' exit 0 fi ndrive=`drivename ${ddrive}` ndrive2=`drivename ${ddrive2}` if [ -n "${patterns}" ] then . ${dir}/`selpattern ${ddrive}` fi while true do disklabel -q "Insert the ORIGINAL medium to be COPIED in the ${ndrive}. It is recommended that you write-protect the original. Press <RETURN> when ready. [q]" $$ ${ddrive} >/dev/null disklabel -w -q "To make a COPY of the original insert the medium TO BE WRITTEN into the ${ndrive2}. Press <RETURN> when ready. Type q to quit." $$ ${ddrive2} >/dev/null trap 'echo Interrupt.▶07◀' 1 2 15 ${cpcmd} ${ddrive} ${ddrive2} || { echo "▶07◀ The copy did not succeed, possibly because the \"to\" drive's medium is smaller than the \"from\" drive's, or because the \"to\" medium was write protected, or some other difficulty. The copy is incomplete." exit 1 } trap 'exit 0' 1 2 15 echo '▶07◀Copy finished. You may now remove the media.' checkyn ${flags} -f -H ' If you answer "yes", you will be able to use the same drives to copy either the same or different media.' \ ' Do you want to make another drive-to-drive copy?' || break done exit 0 fi ddrive=`selectdevice ${sdargs}` ndrive=`drivename ${ddrive}` if [ -n "${patterns}" ] then . ${dir}/`selpattern ${ddrive}` fi # select file system with most free space free=0 usrfree=0 eval `df / /usr | sed -n 's/.\([^ ]*\).* \([0-9]*\) blocks.*/\1free=\2/p'` if [ "${free}" -lt "${usrfree}" ] then usr=/usr free=${usrfree} else usr= fi ulimit ${free} disklabel -q "Insert the ORIGINAL medium to be COPIED IN the ${ndrive}. It is recommended that you write-protect the original. Press <RETURN> when ready. [q]" $$ ${ddrive} >/dev/null echo 'The original is being copied in.' trap ' trap "" 1 2 rm -f ${usr}/tmp/$$cpdisk' 0 ${cpcmd} ${ddrive} ${usr}/tmp/$$cpdisk || { echo ' There is not enough room in the machine to copy the original medium. No copies can be made.' exit 1 } echo 'Copy in complete.' unset a while true do echo "You may now remove the medium from the ${ndrive}.▶07◀\n" disklabel -w -q "To make ${a:-a} COPY of the original insert the medium TO BE WRITTEN into the ${ndrive}. Press <RETURN> when ready. Type q to quit." $$ ${ddrive} >/dev/null echo 'The original is being copied out onto the duplicate medium.' if ${cpcmd} ${usr}/tmp/$$cpdisk ${ddrive} then echo 'Copy out complete.' a=ANOTHER else echo " There is a problem with the medium in the ${ndrive}."' No copy has been made. Check for "write protection" on the medium or try a different medium. ' fi done