DFU for VMS Main Menu |
Introduction to DFU
The online help for DFU provides a great introduction to the tool:
"The ODS-2 Disk and File Utilities (DFU) is a collection of high performance utilities developed to perform routine maintenance and special purpose operations on disks, files and directories. The functionality offered by DFU is not or partly available through other DCL commands or VMS utilities.
DFU has the following functions:
- DEFRAGMENT : defragment individual files
- DELETE : delete files by file-id, and delete directory(trees) fast
- DIRECTORY functions
- COMPRESS , DUMP or RECOVER directories
- Search directories for files with multiple versions, alias files or empty directories
- INDEXF : analyze , defragment truncate and extend INDEXF.SYS
- REPORT : reports disk fragmentation
- SEARCH : search for files
- SET : set file attributes
- UNDELETE : recover deleted files
- VERIFY : analyze (and repair) the disk structure"
Installing DFU on OpenVMS VAX 7.3
The DFU tool for VAX servers running OpenVMS operating system is available free online for download. I installed it on MARIAH (31.70) - my real MicroVAX 3100-80.To download DFU VAX:
[localuser@linuxpc tmp]$ wget https://www.digiater.nl/openvms/freeware/v50/dfu027a/dec-vaxvms-dfu-v0207-a-1.pcsi
--2020-04-21 03:13:50-- https://www.digiater.nl/openvms/freeware/v50/dfu027a/dec-vaxvms-dfu-v0207-a-1.pcsi
Resolving www.digiater.nl (www.digiater.nl)... 185.92.71.114
Connecting to www.digiater.nl (www.digiater.nl)|185.92.71.114|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 974848 (952K)
Saving to: ‘dec-vaxvms-dfu-v0207-a-1.pcsi’
100%[======================================>] 974,848 62.7KB/s in 13s
2020-04-21 03:14:04 (73.5 KB/s) - ‘dec-vaxvms-dfu-v0207-a-1.pcsi’ saved [974848/974848]
Then FTP the PCSI installer to the VAX:
[localuser@linuxpc tmp]$ ftp 10.42.2.5
Connected to 10.42.2.5 (10.42.2.5).
220 sanyalnet-vax.sanyalnet.lan FTP Server (Version 5.1) Ready.
Name (10.42.2.5:localuser): sanyal
331 Username sanyal requires a Password
Password:
230 User logged in.
Remote system type is VMS.
ftp> cd temp
250-CWD command successful.
250 New default directory is DUA1:[SANYAL.TEMP]
ftp> bin
200 TYPE set to IMAGE.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put dec-vaxvms-dfu-v0207-a-1.pcsi
local: dec-vaxvms-dfu-v0207-a-1.pcsi remote: dec-vaxvms-dfu-v0207-a-1.pcsi
227 Entering Passive Mode (10,42,2,5,192,20)
150 Opening data connection for DUA1:[SANYAL.TEMP]DEC-VAXVMS-DFU-V0207-A-1.PCSI; (10.42.2.11,43577)
########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
226 Transfer complete.
974848 bytes sent in 0.49 secs (1987.70 Kbytes/sec)
ftp> bye
Then log into the VAX and install DFU.
DUA1:[SANYAL.TEMP] dir *.pcsi
Directory DUA1:[SANYAL.TEMP]
DEC-VAXVMS-DFU-V0207-A-1.PCSI;1
Total of 1 file.
DUA1:[SANYAL.TEMP] product install *
The following product has been selected:
DEC VAXVMS DFU V2.7-A Layered Product
Do you want to continue? [YES]
Configuration phase starting ...
You will be asked to choose options, if any, for each selected product and for
any products that may be installed to satisfy software dependency requirements.
DEC VAXVMS DFU V2.7-A: Disk and File Utilities for OpenVMS
Do you want the defaults for all options? [YES] NO
DEC VAXVMS VMS V7.3 [Installed]
* Configuration options for this referenced product cannot
* be changed now because the product is already installed.
* (You can use PRODUCT RECONFIGURE later to change options.)
Documentation in Text format [YES]
Documentation in PostScript format [YES]
Documentation in BookReader format [YES]
Documentation in HTML format [YES]
Do you want to review the options? [NO]
Execution phase starting ...
The following product will be installed to destination:
DEC VAXVMS DFU V2.7-A DISK$OPENVMS$7_3:[VMS$COMMON.]
Portion done: 0%...10%...20%...30%...40%...70%...80%...90%...100%
The following product has been installed:
DEC VAXVMS DFU V2.7-A Layered Product
DUA1:[SANYAL.TEMP]
Attempting to run DFU straightaway fails. We need the identifier DFU_ALLPRIV to be granted to the user.
DUA1:[SANYAL] dfu defrag vaxgames.sav
%DFU-E-NOPRIV, No privilege to perform this function (DFU_ALLPRIV not granted)
Proceed to grant the required identifier to the user.
DUA1:[SANYAL.TEMP] cd sys$system
SYS$SYSROOT:[SYSEXE] mc authorize
UAF>
UAF> grant/identifier DFU_ALLPRIV SANYAL
%UAF-I-GRANTMSG, identifier DFU_ALLPRIV granted to SANYAL
UAF> exit
%UAF-I-NOMODS, no modifications made to system authorization file
%UAF-I-NAFNOMODS, no modifications made to network proxy database
%UAF-I-RDBDONEMSG, rights database modified
LOGOUT and log back in. Once the identifier is granted, DFU can be used.
$ set proc/priv=all
DUA1:[SANYAL] dfu defrag vaxgames.sav
┌──────────────────────────< DFU V2.7-A (Freeware) >───────────────────────────┐
│%DFU-I-DEFRAG, Start defragmenting file(s) ... │
│%DFU-S-MOVED, File DUA1:[SANYAL]VAXGAMES.SAV;2 defragmented │
│ │
│%DFU-I-READY, DEFRAG command ready │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
├──────────────────────────────────Statistics──────────────────────────────────┤
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
DUA1:[SANYAL] dfu search dua2 /version_num=min=500
┌──────────────────────────< DFU V2.7-A (Freeware) >───────────────────────────┐
│%DFU-I-SEARCH, Start search on DUA2: (QCOCAL$DUA2:) │
│ │
│QCOCAL$DUA2:[FAL$SERVER]INTRUSIONS.TXT;880 19/21 │
│ │
│%DFU-I-EOF, End of file INDEXF.SYS, Primary headers : 3491 │
│ │
│%DFU-S-FND , Files found : 1, Size : 19/21 │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
├──────────────────────────────────Statistics──────────────────────────────────┤
│ Progress : | 100% | │
│ Status : READY │
└──────────────────────────────────────────────────────────────────────────────┘
Installing DFU on OpenVMS Alpha 8.3
Installing DFU on OpenVMS/Alpha is just like installing on VAX VMS. I installed it on RAPTOR (31.18) - an AlphaServer ES40 833 MHz running OpenVMS Alpha 8.3:
$ SHOW CPU
System: RAPTOR, AlphaServer ES40 833 MHz
CPU ownership sets:
Active 0
Configure 0
CPU state sets:
Potential 0
Autostart 0
Powered Down None
Not Present None
Failover None
$
First, download the OpenVMS/Alpha edition of DFU on a local Linux machine:
[localuser@linuxpc ~]$ wget https://www.digiater.nl/openvms/freeware/v70/dfu/dec-axpvms-dfu-v0301-1-1.pcsi
--2020-04-22 01:45:43-- https://www.digiater.nl/openvms/freeware/v70/dfu/dec-axpvms-dfu-v0301-1-1.pcsi
Resolving www.digiater.nl (www.digiater.nl)... 185.92.71.114
Connecting to www.digiater.nl (www.digiater.nl)|185.92.71.114|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1392640 (1.3M)
Saving to: ‘dec-axpvms-dfu-v0301-1-1.pcsi.1’
100%[======================================>] 1,392,640 138KB/s in 13s
2020-04-22 01:45:57 (104 KB/s) - ‘dec-axpvms-dfu-v0301-1-1.pcsi.1’ saved [1392640/1392640]
Then FTP the DFU PCSI installer to the Alphaserver:
[localuser@linuxpc ~]$ ls *pcsi
dec-axpvms-dfu-v0301-1-1.pcsi dec-vaxvms-dfu-v0207-a-1.pcsi
[localuser@linuxpc ~]$ ftp 10.42.2.12
Connected to 10.42.2.12 (10.42.2.12).
220 raptor.sanyalnet.lan FTP Server (Version 5.6) Ready.
Name (10.42.2.12:localuser): sanyal
331 Username sanyal requires a Password
Password:
230 User logged in.
Remote system type is VMS.
ftp> bin
200 TYPE set to IMAGE.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put dec-axpvms-dfu-v0301-1-1.pcsi
local: dec-axpvms-dfu-v0301-1-1.pcsi remote: dec-axpvms-dfu-v0301-1-1.pcsi
227 Entering Passive Mode (10,42,2,12,192,16)
150 Opening data connection for SYS$SYSDEVICE:[SANYAL]dec-axpvms-dfu-v0301-1-1.pcsi; (10.42.2.11,37666)
################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
226 Transfer complete.
1392640 bytes sent in 0.241 secs (5784.11 Kbytes/sec)
ftp> bye
221 Goodbye.
Invoke the PCSI installer as usual:
$ DIR *.PCSI
Directory SYS$SYSDEVICE:[SANYAL]
dec-axpvms-dfu-v0301-1-1.pcsi;1
Total of 1 file.
$
$ PRODUCT INSTALL *
%PCSI-I-CANNOTVAL, cannot validate RAPTOR$DKA0:[SANYAL]dec-axpvms-dfu-v0301-1-1.
pcsi;1
-PCSI-I-NOTSIGNED, product kit is not signed and therefore has no manifest file
The following product has been selected:
DEC AXPVMS DFU V3.1-1 Layered Product
Do you want to continue? [YES]
Configuration phase starting ...
You will be asked to choose options, if any, for each selected product and for
any products that may be installed to satisfy software dependency requirements.
DEC AXPVMS DFU V3.1-1: Disk and File Utilities for OpenVMS Alpha
Do you want the defaults for all options? [YES] NO
DEC AXPVMS VMS V8.3 [Installed]
* Configuration options for this referenced product cannot
* be changed now because the product is already installed.
* (You can use PRODUCT RECONFIGURE later to change options.)
Documentation in Text format [YES]
Documentation in PostScript format [YES] NO
Documentation in Adobe (R) PDF format [YES] NO
Documentation in HTML format [YES] NO
Do you want to review the options? [NO]
Execution phase starting ...
The following product will be installed to destination:
DEC AXPVMS DFU V3.1-1 DISK$ALPHASYS:[VMS$COMMON.]
Portion done: 0%...10%...20%...60%...70%...100%
The following product has been installed:
DEC AXPVMS DFU V3.1-1 Layered Product
$
$ DIR SYS$SYSTEM:DFU.EXE
Directory SYS$COMMON:[SYSEXE]
DFU.EXE;1
Total of 1 file.
Define a symbol to make running DFU easier (this same symbol can be defined in SYS$MANAGER:SYLOGIN_VMS.COM too), and away we go running the great tool.
$ DFU :== "$SYS$SYSTEM:DFU.EXE"
$ DFU HELP
┌─────────────────────────────< DFU Help Screen >──────────────────────────────┐
│ │
│DFU │
│ │
│ │
│ The ODS-2 Disk and File Utilities is a high performance utility │
│ developed to perform routine maintenance and special purpose operations │
│ on disks, files and directories. The functionality offered by DFU │
│ is not or partly available through other DCL commands or VMS utilities. │
│ │
│ DFU has the following functions: │
│ │
│ o DEFRAGMENT : defragment individual files │
│ o DELETE : delete files by file-id, and delete directory(trees) fast │
│ o DIRECTORY functions │
│ : COMPRESS , DUMP or RECOVER directories │
│ : search directories for files with multiple versions , │
│ alias files , or empty directories │
│ o INDEXF : analyze , defragment truncate and extend INDEXF.SYS │
│ o REPORT : reports disk fragmentation │
│ │
│Press RETURN to continue... │
└──────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────< DFU Help Screen >──────────────────────────────┐
│ o SEARCH : search for files │
│ o SET : set file attributes │
│ o UNDELETE : recover deleted files │
│ o VERIFY : analyze (and repair) the disk structure │
│ │
│ │
│ │
│ Additional information available: │
│ │
│ New_features Restrictions DEFRAG DELETE │
│ DIRECTORY EXIT HELP INDEXF REPORT Screen_Management │
│ SEARCH SET SPAWN UNDELETE VERIFY │
│ │
│DFU Subtopic? │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
$ DFU
┌────────────────────────────────< DFU V3.1-1 >────────────────────────────────┐
│ │
│ Disk and File Utilities for OpenVMS V3.1-1 │
│ DFU functions are : │
│ │
│ DEFRAGMENT : Defragment files │
│ DELETE : Delete files by File-ID; delete directory (trees) │
│ DIRECTORY : Manipulate directories │
│ INDEXF : Modify /View INDEXF.SYS │
│ REPORT : Generate a complete disk report │
│ SEARCH : Fast file search │
│ SET : Modify file attributes │
│ UNDELETE : Recover deleted files │
│ VERIFY : Check and repair disk structure │
│ │
│ │
│ │
│ │
│ │
├──────────────────────────────────Statistics──────────────────────────────────┤
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
DFU> exit
$
$ DFU SEARCH DKA0 /VERSION=MINIMUM=2000
┌────────────────────────────────< DFU V3.1-1 >────────────────────────────────┐
│%DFU-I-SEARCH, Start search on DKA0: (RAPTOR$DKA0:) │
│ │
│RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28983 2/16 │
│RAPTOR$DKA0:[SYS0.TCPIP$SMTP]TCPIP$SMTP_RECV_RUN.LOG;32767 │
│ 2/16 │
│RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28984 2/16 │
│RAPTOR$DKA0:[SYS0.TCPIP$NTP]TCPIP$NTP.DRIFT;17209 1/16 │
│RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28981 2/16 │
│RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28982 2/16 │
│RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28980 2/16 │
│ │
│%DFU-I-EOF, End of file INDEXF.SYS, Primary headers : 11455 │
│ │
│%DFU-S-FND , Files found : 7, Size : 13/112 │
│ │
│ │
│ │
│ │
├──────────────────────────────────Statistics──────────────────────────────────┤
│ Progress : | 100% | │
│ Status : READY │
└──────────────────────────────────────────────────────────────────────────────┘
$
$ DFU DEFRAG RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG
┌────────────────────────────────< DFU V3.1-1 >────────────────────────────────┐
│%DFU-I-DEFRAG, Start defragmenting file(s) ... │
│%DFU-S-MOVED, File RAPTOR$DKA0:[SYS0.NML$SERVER]NETSERVER.LOG;28984 defragment│
│ed │
│ │
│%DFU-I-READY, DEFRAG command ready │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
├──────────────────────────────────Statistics──────────────────────────────────┤
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
$