The several characteristics can be combined in one command.If you want a logical OR behaviour in stead of the default AND behaviour, you can use the special option MATCH=OR eg:
These 2 options can be used to get files which have a creation date before or after a specific date. The BEFORE and SINCE option can be combined in one command.
The NONE option gives files which don't have a expiration date recorded.The other 2 options can be used to get files which have a expiration date before or after a specific date. The BEFORE and SINCE option can be combined in one command.
DFU> disk/FRAG DFU> disk/FRAG=min=10 DFU> disk/FRAG=(min=10,max=100)
These 2 options can be used to get files which have a modification date before or after a specific date. The BEFORE and SINCE option can be combined in one command.
This chapter describes the SET command with the related parameters and
The SET command allows you to modify file attributes which can't be modified through DCL commands. Note that you should be careful about using this function; you may easily corrupt files. This much wanted functionality was introduced in VMS 6.0 with a new DCL command $SET FILE/ATTRIBUTES. Still DFU's SET has some options which are not in SET FILE/ATTRIBUTES (such as setting a BACKUP date).
The new qualifier, /IGNORE=INTERLOCK, allows setting file attributes
even on open or locked files.
11.2 UIC and identifier processing
As of version V2.4 of DFU the /OWNER and /IDENT qualifier now accepts all valid UIC or identifier formats. See chapter 10.5 for details.
Modify file attributes.
file1,file2,...,@fileThe files to be modified. The attributes to be modified are specified with qualifiers. Wildcards area allowed in the filename. An indirect file can be used by using the @ sign. This allows processing of a file list produced by a DFU SEARCH command.
/NOACCESS_DATEControls whether a new last-access date is assigned to the specified files. (V7.2 only) Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used. If you specify /NOACCESS_DATE the last access date field will be cleared.
/NOATTRIBUTE_DATEControls whether a new last attribute change date is assigned to the specified files (V7.2 only). Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used. If you specify /NOATTRIBUTE_DATE the last attribute change date field will be cleared.
/NOBACKUP_DATEControls whether a new backup date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used. If you specify /NOBACKUP_DATE the Backup date field will be cleared.
/NOBADACLSets or resets the 'BADACL' flag in the file header. This enables deletion of a file with a corrupted ACL.
/NOBCKClears or sets the files NOBACKUP bit. Setting a file to NOBACKUP with /NOBCK causes it to be skipped by a BACKUP operation.
/BUCKETSIZE=sizeSets a new value for the bucket size in the file header.
/NOCONFIRM (default)Controls whether a request is issued before each individual SET operation to confirm that the operation should be performed on that file. When the system issues the prompt, you can issue any of the following responses:YES NO QUIT TRUE FALSE CTRL/Z 1 0 ALL <RET>
You can use any combination of upper- and lowercase letters for word responses. Word responses can be abbreviated to one or more letters (for example, T, TR, or TRU for TRUE). Affirmative answers are YES, TRUE, and 1. Negative answers are NO, FALSE, 0, and <RET>. QUIT or CTRL/Z indicates that you want to stop processing the command at that point. When you respond with ALL, the command continues to process, but no further prompts are given. If you type a response other than one of those in the list, the prompt will be reissued.
/NOCONTIGUOUS_BEST_TRYSets or resets the 'CONTIGUOUS_BEST_TRY' bit in the file header.
/NOCREATION_DATEControls whether a new creation date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used.
/NODIRECTORYSets or resets the directory attribute of a file. This qualifier allows you to set the directory bit of a file which was mistakingly reset by the 'SET FILE/NODIRECTORY' command. If it is done on a non-directory file, then access to that directory will give a 'BADIRECTORY' error.
/EBLOCK[=block]This qualifier will reset the end-of-file mark to the highest block allocated if no block has been specified. Otherwise the end-of-file mark will be set to the specified block.
/EBYTE[=byte]This qualifier will set the end-of-file byte mark to the highest byte if it has not been specified. Otherwise the end-of-file byte mark will be set to the specified byte.
/NOEXPIRATION_DATEControls whether an expiration date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used.
/IDENT=identifier or uicModify the file ownership. See also /OWNER_UIC. This allows modification of the file-ownership even if the file is open, eg. INDEXF.SYS. You cannot use both /IDENT and /OWNER_UIC.
/IGNORE=INTERLOCKPerform the SET command on open or locked files. Default DFU will return a %SYSTEM-E-ACCONFLICT on open files. The /IGNORE=INTERLOCK option can overrule this behaviour.
/NOLOCKEDThis qualifier will lock a file for future use. Nothing else can then be done with the file, until it is unlocked (which can also be done with the VMS 'UNLOCK' command.
/NOLOGControls whether the SET command displays the file specification of each file after the modification is made.
/MAXREC=recordSets a new value for the maximum record number in the file header.
/NOMOVEThis qualifier disables or enables (/NONOMOVE) the MoveFile attribute on files. It is the same as the DCL command SET FILE/NOMOVE, but in conjunction with /IGNORE=INTERLOCK DFU can change the setting on Open or Locked files.
/ORGANIZATION=keywordThe following keywords are used as parameters for the ORGANIZATION qualifier: DIRECT, INDEXED, RELATIVE and SEQUENTIAL. This will allow you to modify the file organization type in the file header. Of course this won't change the real organization of the file.
/OWNER_UIC=uic or identifierModify the file ownership to an UIC or identifier. See also /IDENT. This allows modification of the file-ownership even if the file is open, eg. INDEXF.SYS. You cannot use both /IDENT and /OWNER_UIC.
/RECATTRIBUTES=keywordThe following keywords are used as parameters for the RECATTRIBUTES qualifier: NONE, FORTRAN, IMPLIED, PRINT and NOSPAN. This will allow you to modify the file's record attributes in the file header. NONE, FORTRAN, IMPLIED and PRINT are mutually exclusive, but can be used in combination with NOSPAN. When NOSPAN is omitted SPAN is assumed (the default is to allow records to cross block boundaries).
/RECSIZE=sizeSets a new value for the record size in the file header.
/RECTYPE=keywordThe following keywords are used as parameters for the RECTYPE qualifier: FIXED, STREAM, STREAMCR, STREAMLF, UNDEFINED, VARIABLE and VFC. This will allow you to modify the file's record type in the file header.
/NOREVISION_DATEControls whether a revision date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used.
/RVCOUNT=countSets a new value for the revision count in the file header.
/NOUPDATE (default)Normally the file's revision date will be updated after any modification to it. SET however disables this update (otherwise the REVISION date could not be set). Specify this qualifier if you want the revision date to be updated.
/VFCSIZE=sizeSets a new value for the VFC size in the file header. This value will only be used with the VFC record type.
This chapter describes the UNDELETE command with the related parameters
The UNDELETE function is designed to recover deleted files, if possible. UNDELETE operates in a safe mode such that it first checks if the deleted file header and diskblocks are still available. Only in that case will the file be recovered. Otherwise UNDELETE will leave the disk unmodified. UNDELETE has some powerfull options:
12.2 File specification syntax
Because a deleted file no longer 'knows' its parent directory you must
NOT enter a directory specification in the file name. Therefore , the
syntax to undelete a specific file is :
DFU> UNDELETE <device:>/file=<filename.ext> eg: DFU> UNDELETE $1$DIA1:/file=FOO.BAR
DFU will try to re-enter the file in its original directory; it that
fails the file will be entered in the [SYSLOST] directory.
12.3 How Undelete works
The UNDELETE command operates as follows :
If the /LIST qualifier is used, DFU will just list the recoverable files without performing any action on the disk. The disk will not be locked.
It is important to note that during the bitmap and file header processing any error will immediately terminate the recovery process, and unlock the disk. Files which have been recovered up to that point will still be entered in the appropiate directory. As no wrong information has been written back to the disk this should leave the disk in a proper state.
NOTE: The blocks recovered will NOT be subtracted from the Volume's free block count. To get the actual freeblock count a SET VOLUME/REBUILD=FORCE is necessary. Also a complete reMOUNT will reset the freeblock count.
IMPORTANT: DFU takes care to recover only files whose original blocks are free. However these blocks may have been modified in the meantime by another file which also has been deleted. Therefore each recovered file must be checked manually to check its integrity.
Example of a Undelete session :
DFU> undel $1$dua102:/list Recoverable file [TEST]CHANGE_UIC.FOR;2 found Recoverable file [TEST]CHECK_ID.FOR;1 found Recoverable file [TEST]CHKPRDIMG.FOR;1 found Recoverable file [TEST]CHRLEN.FOR;1 found DFU> undel/file=*.for $1$DUA102: %DFU-I-READBMAP, Reading BITMAP.SYS... %DFU-W-LOCKED, Volume now LOCKED for write %DFU-I-UNDEL, Start search on $1$DUA102: Recoverable file [TEST]CHANGE_UIC.FOR;2 found Recover this file? (Y/N) [N] : n Recoverable file [TEST]CHECK_ID.FOR;1 found Recover this file? (Y/N) [N] : y %DFU-S-RECOVER, File succesfully recovered %DFU-I-ADDQUOTA, updating diskquota... Recoverable file [TEST]CHKPRDIMG.FOR;1 found Recover this file? (Y/N) [N] : n Recoverable file [TEST]CHRLEN.FOR;1 found Recover this file? (Y/N) [N] : y %DFU-S-RECOVER, File succesfully recovered %DFU-I-ADDQUOTA, updating diskquota... %DFU-I-UNLOCK, Volume unlocked %DFU-I-ENTER, Entering file(s) in directory... %DFU-S-ENTERED, File CHECK_ID.FOR entered in original directory %DFU-S-ENTERED, File CHRLEN.FOR entered in original directory DFU> EXIT
12.4 Files marked for delete
Normally DFU does not undelete files marked for delete. To recover
files marked for delete you must use the /MARKED qualifier. This will
specifically undelete files marked for delete. This allows the recovery
of files which are deleted but still open, such as INSTALLed files, or
even recovery of the system dump file SYSDUMP.DMP whenever such a file
is accidentially deleted.
Recover one or more deleted files on a device.
deviceThe device on which to undelete one or more files. The device will be write-locked during the undelete process.
/FILE=filenameThe file to be recovered. Wildcards may be used. If a matching file is found Undelete will ask a confirmation. If a certain file is confirmed, that file will be recovered if possible, and control will be returned to the DFU> prompt. If the /FILE qualifier is omitted DFU will assume *.*;* .
/IDENT=identifier or uicYou can search for files owned by a specific identifier or UIC. Another way is the /OWNER_UIC qualifier; you cannot combine these 2 qualifier in one UNDELETE command.
/LIST(=output-file-name)Generate a list of recoverable files. No undelete will take place, and the disk will not be locked. The defaultoutput is SYS$OUTPUT.
/MARKEDConsider only files marked-for-delete. Such files are usuallly still open by some utility, such as INSTALLed files or the system dump file.
/OWNER_UIC=uic or identifierThis qualifier is used to select files by a UIC or identifier . You cannot combine this qualifier with /IDENT.
/STATISTICSThis qualifier displays the performance statistics: CPU time, Elapsed Time, I/O and PageFaults.
The new SPAWN command creates an interactive subprocess. This allows a quick escape to the DCL level from an interactive DFU session. The subprocess has a default prompt DFU_sub$. In SMG mode the <DO> key also performs a SPAWN command. You must logout explicitly to return to the DFU session.
This chapter describes the VERIFY command with the related parameters
The VERIFY command makes an analysis of the disk, scanning for file and disk structure errors. VERIFY performs almost all of the checks normally done by a ANALYZE/DISK command. But VERIFY is several times faster than ANALYZE/DISK, and uses less resources.
VERIFY checks and reports the following errors:
14.2 Basic repair actions
The /FIX qualifier can be used to perform some basic repair actions.
Unlike ANALYZE/DISK/REPAIR this does not lock the disk! /FIX repairs
the following errors:
14.3 Advanced repair actions
The /REBUILD qualifier can be used to perform some more repair actions.
This will however lock the disk (like a DCL $SET VOLUME/REBUILD=FORCE
command) for a short period of time (usually less than 30 seconds).
/REBUILD repairs the following errors :
Note that /REBUILD does NOT change the disk's free block count.
14.4 Directory scanning
The /DIRECTORY_SCAN qualifier will force DFU to also verify and repair
(when using /FIX) directory problems. This qualifier directs DFU to
scan all directories on the disk. This has some advantages :
Please note that a complete directory scan may take several minutes to
14.5 Interpreting errors
On a system (cluster) wide mounted disk there will probably be
concurrent disk activity during the VERIFY command. Therefore VERIFY
may report some errors which are not really errors. Try running VERIFY
2 or 3 times to see if the errors are reported again. To get a really
consistent report from VERIFY you can use the /LOCK qualifier. This
will write-lock the disk during the VERIFY run, so don't use this
qualifier too often. (The /REPAIR qualifier of ANALYZE/DISK also
write-locks the disk). Even if DFU ends ungracefully the DFU exit
handler will always UNLOCK the disk.
14.6 Error reporting
An example of a typical VERIFY run follows:
DFU> VERIFY mydisk %DFU-I-VERIFY, Verifying MYDISK: %DFU-S-CHKHOME, Home block info verified OK %DFU-I-IFSCAN, Scanning INDEXF.SYS ... %DFU-I-CHKBITMAP, Checking BITMAP.SYS... %DFU-I-CHKLOST, Checking for lost files... %DFU-I-CHKQUOTA, Checking QUOTA.SYS... DFU> VERIFY/REBUILD sys$sysdevice %DFU-W-LOCKED, Volume now write locked %DFU=I-VERIFY, Verifying SYS$SYSDEVICE: %DFU-S-CHKHOME, Home block info verified OK %DFU-W-DELETED, file (620,351,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete %DFU-W-DELETED, file (6349,173,1) DCLTABLES.EXE;937 marked for delete %DFU-W-DELETED, file (19745,35,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete %DFU-I-CHKBITMAP, Checking BITMAP.SYS... %DFU-E-ALLOCCLR, blocks LBN 2667141 through 2667143 incorrectly marked allocated %DFU-E-ALLOCCLR, blocks LBN 2667153 through 2667161 incorrectly marked allocated . . %DFU-S-RBDBITMAP, BITMAP.SYS succesfully rebuild %DFU-I-CHKLOST, Checking for lost files... %DFU-I-UNLOCK, Volume unlocked DFU>
VERIFY can report the following errors:
ALLOCCLR, blocks incorrectly marked allocated,
ALLOCSET, blocks incorrectly marked free,
BADBLOCK, file has suspected bad blocks,
BADEXTLNK, link to extension header broken,
BADMFDLNK, directory has backlink to 000000.DIR on RVN n,
DELETED, file marked for delete,
ERRHOME, Home block info not OK,
INVBAKFID, file has invalid backlink,
LOCKED, file is deaccess locked,
LOSTHDR1, file found in nonexistent directory,
LOSTHDR2, file found in directory with bad backlink,
LOSTHDR3, file found in invalid directory,
LOSTHDR4, not found in a directory,
MULTALLOC, blocks multiple allocated,
NOBITCLR, Deleted file header marked BUSY,
NOBITSET, index file bitmap bit not set,
NOOWNER, file has no owner,
QUOTAERR, UIC [x,y] has n blocks used, QUOTA indicates m blocks,
SLFBAKFID, backlink points to itself,
VERIFY a device for disk structure errors.
deviceThe device to be verified.
/APPEND=filenameThis qualifier redirects the output to be appended to an already existing file. If the output file does not exists it will be created. You can use /APPEND or /OUTPUT but not both.
/DIRECTORY_SCANPerforms a full directory scan. This may take up some time, but it allows detection of mismatches between the directories and INDEXF.SYS.
/NOFIX (default)Repair errors on the disk. File marked for delete will be deleted and lost files and directories will be moved to [SYSLOST].
/NOLOCK (default)Locks the disk for file allocation/deletion. This gives a consistent report for the disk, but other users may experience a delay when accessing the disk. The device will be unlocked a the end of the VERIFY command.
/OUTPUT=filenameThis qualifier redirects the output to a file. The output will also go to SYS$OUTPUT. CAUTION: if you use /LOCK in combination with /OUTPUT be careful to specify an outputfile on ANOTHER disk, or DFU will finish with a severe error.
/NOREBUILD (default)Perform a volume rebuild. Using this qualifier will temporarily lock the disk for other users.
/STATISTICSThis qualifier displays the performance statistics: CPU time, Elapsed Time, I/O and PageFaults.