User Tools

Site Tools


plato:cdc.io:tutorials:start

TUTORIALS

The best way to familiarize yourself with the various subcommands is to try them out on your own. This series of tutorials will guide you through what to expect (and not) as you work your way through the range of functionality provided by the CDC.IO utility.

For these tutorials - we are running all commands against two separate instances:

  1. the CYBIS/R1 distribution (in local directory E:\Emulation\CybisRelease1\disks) which contains:
    • DM01_SYSTFA
    • DM02_SYSTFA
    • DM03_CYBDEV
    • DM04_BINARY
    • DM11_DEV0
    • DM12_CYB0
    • DM13_CYB1
    • DM14_CYB2
    • DM21_UOL
    • DM22_PUB0
    • DM23_PUB1
    • DM24_CYB3
  2. the CYBIS/R2 (NCC) distribution (in local directory E:\Emulation\CybisRelease2.Prod\disks) which contains:
    • DQ10
    • DQ11
    • DQ12
    • DQ13
    • DQ20_BINARY
    • DQ21_CYB0
    • DQ22_CYB1
    • DQ23_PUB0
    • DQ24_PUB1
    • DQ25_UOL
    • DQ26_GEN1 (Added AFTER Installation)
    • DQ27_GEN2 (Added AFTER Installation)

Tutorials

1.1 allhelp

Info

This operation's purpose is to display the help - no tutorial is required.

1.2 c.aclist

The β€œAccount List” subcommand displays a formatted view of any account in a specified cluster.

Learn More at c.aclist

1.3 c.analyze

The cluster Analysis subcommand provides volumes of diagnostic information about the target cluster identified in the command line.

Learn More at c.analyze

1.4 c.b66conv

This subcommand performs a transfer of a B66 file capsule to a specified target file.

Project Proprietary

The B66 file format was developed to define a specific type of capsule used to transfer TUTOR, CODE, LESLIST, CHARSET, and COMMON data between systems. This special format, and its use, will only be relevant to packagers and maintainers of the CYBIS/Rn releases.

There is no tutorial for this subcommand - hobbyists who are interested in learning more about this subcommand and its use should contact the author.

Learn more about Patching System Lessons.

1.5 c.backup

One of the significant limitations of the PLATO environment is its lack of flexibility (when compared to modern systems) in the area of source code and configuration management. Complicating this is the β€œbase CYBIS system” itself.

As received from VCampus, CYBIS' backup system was not operational. The primary means of managing change is to work on copies of files. This works most of the time, but it's not very convenient or useful when

  • it comes time to do a new release,
  • or if a corruption occurs in a given file,
  • or if the restoration of a single file to a previous version is needed.
  • etc.

To address this deficiency, a backup and restore feature was added to CDC.IO which enables a bridge between the PLATO/CYBIS filesystem and the HOST filesystem.

Learn More at c.backup

1.6 c.brestore

Restore a single host-based backup file into a PLATO tutor file cluster. Host-based backup files may be of any supported format including that generated by the utility NOS Tools which breaks tape files up into individual files.

Learn More at c.brestore

1.7 c.catalog

Another major benefit of modern systems is having a robust collection of relational databases. One of the most popular, simple (and portable) forms of RDBMS structures is SQLITE3.

This subcommand enables the creation of a catalog which may be used for any purpose. The primary purpose for which this feature is built: we can quickly catalog and 'diff' the filesystems of two or more separate instances.

A catalog may contain one or more inventories and may be updated at any time. This feature can be run while the PLATO/CYBIS system is up and running, but subject to the same obvious conditions: stuff may change.

Learn More at c.catalog

1.8 c.findnf

Finding a NOS file in a cluster is sometimes a bit of a challenge. Because a given filename may be stored under a userindex that was not known or expected, it's nice to have a means of searching an entire cluster for a given file name.

Issue the following command against the CYBIS/R1 cluster:

 cdc.io c.findnf -c "E:\Emulation\CybisRelease1\disks" system

The response is:

---------------------------------------------------------------------------------------- NOS Pack 'E:\Emulation\CybisRelease1\disks\DM12_CYB0' has 1 matches. ---------------------------------------------------------------------------------------- system[o377773] ---------------------------------------------------------------------------------------- NOS Pack 'E:\Emulation\CybisRelease1\disks\DM13_CYB1' has 5 matches. ---------------------------------------------------------------------------------------- system1[o377773] system2[o377773] system3[o377773] system4[o377773] system5[o377773]

Success

Congratulations!

You have now found all of the files starting with system!

1.9 c.findpf

Finding a PLATO file in a given cluster (especially if it's not running) is equally a pain. This subcommand enables you to find any PLATO file on any pack within the cluster.

Issue the command:

 cdc.io c.findpf -c "E:\Emulation\CybisRelease1\disks" system

The response is:

---------------------------------------------------------------------------------------- PLATO Pack 'system' has 2 matches. ---------------------------------------------------------------------------------------- system system1 ---------------------------------------------------------------------------------------- PLATO Pack 'system2' has 1 matches. ---------------------------------------------------------------------------------------- systemx

Success

Congratulations!

You have successfully found the elusive file beginning with the name system!

1.10 c.grplist

Managing groups is a function of any site administrator and the built-in tools are helpful but not complete.

When trying to understand the the sum-total of the site configuration, this subcommand was created to give the site administrator a more global view of the system's users.

Learn More at c.grplist.

1.11 c.pfcopy

Considerations

Copying files between systems is very cumbersome because so many thing need to be taken into consideration. The CYBIS PF utility has certain benefits, but also has constraints. The process for moving files between systems requires that a tape be mounted; loaded; unloaded; then mounted on the target system and reloaded. There is a lot of manual operation specific to each file that makes this process error prone and very inconvenient. It also requires that you have a running system (both source and target must be functioning).

You must know what you are doing before initiating a copy operation. Just a few of the considerations below need to be examined prior to performing any kind of copy operation:

Is the file to be copied:

  • Source System
    • a system lesson?
    • compatible with the target system?
    • dependent on other files or lessons?
    • etc.
  • Target System
    • already in existence?
    • the same size as the source system?
    • a system lesson?
    • etc.

Learn More at c.pfcopy

1.12 c.pflist

The c.pflist subcommand is the global version of the more specific pflist command.

Using the command:

cdc.io c.pflist -c "E:\Emulation\CybisRelease1\disks"

The output is generated in β€œbrief” form. An example of this output is about 193Kbytes and displays a list of files found in every masterfile found in every NOS pack in the cluster specified.

Significantly more information may be obtained by supplying the -i or –infolevel flags:

cdc.io c.pflist -i -c "E:\Emulation\CybisRelease1\disks"

A much longer example is 2 megabytes larger but provides substantial detail about the file:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                    PLATO Pack Listing                                                    ┃
┃                                          Pack Name 'system' Structure Type 'm'                                           ┃
┃                                            Container <class 'nosio.NosFile'>'                                            ┃
┃                                                      00683. File(s)                                                      ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
filename   blks prts ftype start    file inf word     rmts ndir account               file type                dftype  
---------- ---- ----   -   ----- -------------------- ---- ---- ------- -------------------------------------- ----------
accountc     63    9   a      21 00000000011100000003    .    . system  normal tutor lesson                    tutor    a 
accountp     56    8   a      84 00000000011000000014    .    . system  normal tutor lesson                    tutor    a 
accounts     49    7   a     140 00000000010700000024    .    . system  normal tutor lesson                    tutor    a 
accountu     56    8   a     189 00000000011000000033    .    . system  normal tutor lesson                    tutor    a 
account1     98   14   a     245 00000000011600000043    .    . system  normal tutor lesson                    tutor    a 
.
.
.
u            49    7   a   27251 00000000010700007465    .    . system  normal tutor lesson                    tutor    a 
user         42    6   a   27300 00000000010600007474    .    . system  normal tutor lesson                    tutor    a 
utility      77   11   a   27342 00000000011300007502    .    . system  normal tutor lesson                    tutor    a 
u0busy       14    2   a   27419 00000000010200007515    .    . system  normal tutor lesson                    tutor    a 
u0ffm        28    4   a   27433 00000000010400007517    .    . system  normal tutor lesson                    tutor    a 
vocabedit    28    4   a   27461 00000000010400007523    .    . system  normal tutor lesson                    tutor    a 
x             7    1   a   27489 00000000010100007527    .    . system  normal tutor lesson                    tutor    a 
xa0qrefns   238   34   k   28784 00001225134200010020   10   21 system  named-record dataset                   nameset  k 
xrecords    126   18   a   27496 00000000012200007530    .    . system  normal tutor lesson                    tutor    a 
xsyswork     42    6   a   27622 00000000010600007552    .    . s0xfer  normal tutor lesson                    tutor    a 
zclmastuvw   35    5   k   28553 40000305130500007757    3    5 system  named-record dataset                   nameset  k 
zclmcurr1    35    5   a   28588 40000000010500007764    .    . system  normal tutor lesson                    tutor    a 
zfloppypc    35    5   a   27699 00000000010500007565    .    . system  normal tutor lesson                    tutor    a 
zfroml        7    1   a   27664 00000000010100007560    .    . system  normal tutor lesson                    tutor    a 
zimode       35    5   a   28623 40000000010500007771    .    . system  router lesson                          router   a 
znotes      126   18   a   28658 40000000012200007776    .    . system  normal tutor lesson                    tutor    a 
zs0pcld4    126   18   a   27734 40000000012200007572    .    . system  normal tutor lesson                    tutor    a 
z1report     21    3   a   27671 00000000010300007561    .    . system  normal tutor lesson                    tutor    a 
0             7    1   a   27692 00000000010100007564    .    . system  normal tutor lesson                    tutor    a 
4;;;;;;;;;   21    3           0 00000000770300000000    .    .                                             

Success

Congratulations!

You have now listed the entire contents of cluster E:\Emulation\CybisRelease1\disks!

1.13 c.pfprint

This is the cluster version of pfprint. The only difference is that the -c (cluster) switch is active and the -M (masterfile) and the pack_path argument are not required.

cdc.io c.pfprint -v -c "E:/Emulation/TH.CybisRelease1/disks" plat.* charsets

The above command results in the printing of file PLATO and CHARSETS.

File Selection

The file specifications follow the syntax of regular expressions .

1.14 c.resolve

Resolve and print the result of a Cluster Object specification. This function helps visualize the list of packs and files upon which a given Cluster Object Specifier will operate. It can also Reconcile one cluster's contents against another's based on a Cluster Object specification. This subcommand helps compare file naming across cluster contexts.

This function does a quick β€œcomparison” of two sets of files meeting the same criteria across two different clusters. For example, if I would like to see how the files on pack system in account system compare between two clusters - I issue the following command:

cdc.io c.resolve -I "E:\Emulation\CybisRelease1\disks" -O "E:\Emulation\CybisRelease2.Prod\disks" -f system.*@system

The report output displays a side-by-side comparison of the matching filenames found on each cluster/account/pack along with:

  • the filetype of each file
  • the number of parts occupied by each file
  • the difference between the two file sizes (if any)

The first 5 results are shown here:

     1 system     accountc     9 parts a       pack 'system    ' account 'system    '   9 parts (equ size)
     2 system     accountp     8 parts a       pack 'system    ' account 'system    '   8 parts (equ size)
     3 system     accounts     7 parts a       pack 'system    ' account 'system    '   8 parts (  1 more)
     4 system     accountu     8 parts a       pack 'system    ' account 'system    '   8 parts (equ size)
     5 system     account1    14 parts a       pack 'system    ' account 'system    '  14 parts (equ size)

<adm note>It's important to note that this does a very simple comparison to that provided in the cat.compare subcommand which uses a cryptographic signature of each file to recognize differences in the actual content of the file (in addition to just finding a difference in size).

Success

Congratulations!

You have just resolved the contents of account system!

1.15 cat.compare

In c.catalog, we created a catalog containing two sample clusters. In this tutorial, we have created a catalog of three clusters:

  1. The BASIC β€œHunter” distribution TH.CybisRelease1.
  2. A modified β€œHunter” distribution CybisRelease1.
  3. The NCC distribution NCC.CybisRelease1.

Learn More at cat.compare

1.16 cat.delete

This subcommand removes a previously cataloged cluster from the specified database.

That's All!

1.17 cat.list

The cat.list subcommand has several variants:

  1. This variant simply lists the names of the cataloged clusters

    (py11.venv) Ξ» cdc.io cat.list -d nccwork.sqlite3 Cluster Name 0 CybisRelease1 1 NCC.CybisRelease1 2 TH.CybisRelease1

  2. Lists the volumes contained in one or more cataloged clusters

    (py11.venv) Ξ» cdc.io cat.list -d nccwork.sqlite3 CybisRelease1 NCC.CybisRelease1 Cluster Name Container Name CType Hostfile Path Last Modified 0 CybisRelease1 binary1 m C:\dtCyber.R1\disks\DM04_BINARY 2023-05-02T06:26:15.886402 1 CybisRelease1 binary2 m C:\dtCyber.R1\disks\DM04_BINARY 2023-05-02T06:26:15.886402 2 CybisRelease1 develop m C:\dtCyber.R1\disks\DM21_UOL 2023-05-02T06:26:15.906349 3 CybisRelease1 puba m C:\dtCyber.R1\disks\DM22_PUB0 2023-05-02T06:26:15.910338 4 CybisRelease1 pubb m C:\dtCyber.R1\disks\DM22_PUB0 2023-05-02T06:26:15.910338 5 CybisRelease1 pubc m C:\dtCyber.R1\disks\DM22_PUB0 2023-05-02T06:26:15.910338 6 CybisRelease1 pubd m C:\dtCyber.R1\disks\DM22_PUB0 2023-05-02T06:26:15.910338 7 CybisRelease1 pube m C:\dtCyber.R1\disks\DM22_PUB0 2023-05-02T06:26:15.910338 8 CybisRelease1 pubf m C:\dtCyber.R1\disks\DM23_PUB1 2023-05-02T06:26:15.914329 9 CybisRelease1 pubg m C:\dtCyber.R1\disks\DM23_PUB1 2023-05-02T06:26:15.914329 10 CybisRelease1 pubh m C:\dtCyber.R1\disks\DM23_PUB1 2023-05-02T06:26:15.914329 11 CybisRelease1 pubi m C:\dtCyber.R1\disks\DM23_PUB1 2023-05-02T06:26:15.914329 12 CybisRelease1 pubj m C:\dtCyber.R1\disks\DM23_PUB1 2023-05-02T06:26:15.914329 13 CybisRelease1 s0files m C:\dtCyber.R1\disks\DM12_CYB0 2023-05-02T06:26:15.894353 14 CybisRelease1 s0stuff m C:\dtCyber.R1\disks\DM12_CYB0 2023-05-02T06:26:15.894353 15 CybisRelease1 system m C:\dtCyber.R1\disks\DM12_CYB0 2023-05-02T06:26:15.894353 16 CybisRelease1 system1 m C:\dtCyber.R1\disks\DM13_CYB1 2023-05-02T06:26:15.898371 17 CybisRelease1 system2 m C:\dtCyber.R1\disks\DM13_CYB1 2023-05-02T06:26:15.898371 18 CybisRelease1 system3 m C:\dtCyber.R1\disks\DM13_CYB1 2023-05-02T06:26:15.898371 19 CybisRelease1 system4 m C:\dtCyber.R1\disks\DM13_CYB1 2023-05-02T06:26:15.898371 20 CybisRelease1 system5 m C:\dtCyber.R1\disks\DM13_CYB1 2023-05-02T06:26:15.898371 Cluster Name Container Name CType Hostfile Path Last Modified 0 NCC.CybisRelease1 binary1 m C:\dtCyber.R2\disks\DQ20_BINARY 2023-11-16T20:08:52.520364 1 NCC.CybisRelease1 binary2 m C:\dtCyber.R2\disks\DQ20_BINARY 2023-11-16T20:08:52.520364 2 NCC.CybisRelease1 develop m C:\dtCyber.R2\disks\DQ25_UOL 2023-11-16T20:08:52.542870 3 NCC.CybisRelease1 puba m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 4 NCC.CybisRelease1 pubb m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 5 NCC.CybisRelease1 pubc m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 6 NCC.CybisRelease1 pubd m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 7 NCC.CybisRelease1 pube m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 8 NCC.CybisRelease1 pubf m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 9 NCC.CybisRelease1 pubg m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 10 NCC.CybisRelease1 pubh m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 11 NCC.CybisRelease1 pubi m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 12 NCC.CybisRelease1 pubj m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 13 NCC.CybisRelease1 s0files m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 14 NCC.CybisRelease1 s0stuff m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 15 NCC.CybisRelease1 system m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 16 NCC.CybisRelease1 system1 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 17 NCC.CybisRelease1 system2 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 18 NCC.CybisRelease1 system3 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 19 NCC.CybisRelease1 system4 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 20 NCC.CybisRelease1 system5 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340

  3. Lists the volumes contained in one or more cataloged clusters and the files contained within them matching the pattern %plato% 1).

    (py11.venv) Ξ» cdc.io cat.list -d nccwork.sqlite3 -f "%plato%" NCC.CybisRelease1 Cluster Name Container Name CType Hostfile Path Last Modified 0 NCC.CybisRelease1 binary1 m C:\dtCyber.R2\disks\DQ20_BINARY 2023-11-16T20:08:52.520364 1 NCC.CybisRelease1 binary2 m C:\dtCyber.R2\disks\DQ20_BINARY 2023-11-16T20:08:52.520364 2 NCC.CybisRelease1 develop m C:\dtCyber.R2\disks\DQ25_UOL 2023-11-16T20:08:52.542870 3 NCC.CybisRelease1 puba m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 4 NCC.CybisRelease1 pubb m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 5 NCC.CybisRelease1 pubc m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 6 NCC.CybisRelease1 pubd m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 7 NCC.CybisRelease1 pube m C:\dtCyber.R2\disks\DQ23_PUB0 2023-11-16T20:08:52.534328 8 NCC.CybisRelease1 pubf m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 9 NCC.CybisRelease1 pubg m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 10 NCC.CybisRelease1 pubh m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 11 NCC.CybisRelease1 pubi m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 12 NCC.CybisRelease1 pubj m C:\dtCyber.R2\disks\DQ24_PUB1 2023-11-16T20:08:52.538317 13 NCC.CybisRelease1 s0files m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 14 NCC.CybisRelease1 s0stuff m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 15 NCC.CybisRelease1 system m C:\dtCyber.R2\disks\DQ21_CYB0 2023-11-16T20:08:52.525351 16 NCC.CybisRelease1 system1 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 17 NCC.CybisRelease1 system2 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 18 NCC.CybisRelease1 system3 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 19 NCC.CybisRelease1 system4 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 20 NCC.CybisRelease1 system5 m C:\dtCyber.R2\disks\DQ22_CYB1 2023-11-16T20:08:52.529340 Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 develop nplato tutor a 1997-11-05 00:00:00 1997-11-05 01:07:30 s0nver 126 93f48183f56f8696f06356e6e1dc857ffab371eb4c578c507799c4e40ff03ad7 Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 puba 0atplato1 tutor a 1979-10-16 00:00:00 2002-03-04 16:01:08 publisd 28 948958b4406c5e8ae4e06e0abcf8d2f3d3d4169245facb3adf745ee0e0355900 1 puba 0atplato1b tutor a 1979-10-16 00:00:00 1993-12-09 14:34:44 publisd 14 cb42e8aef147867695f84cda514b75e594db7ed4cdf1d383c06523414505d048 2 puba 0atplato1c tutor a 1979-10-22 00:00:00 2002-03-04 16:01:42 publisd 21 a8d6df15d02e3ada871c62befdfdc456b978cc30f0acf9a8a616c2dbd84116a3 3 puba 0atplato2 tutor a 1977-06-16 00:00:00 1997-06-12 15:38:36 publisd 14 6901c447e2e5b662e60a0daf5600004b0f82b2d5fc459feb14fd24acd4afb9ce Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 pubc 0plato3 tutor a 1977-07-01 00:00:00 1979-02-05 09:16:34 publisd 7 bb69b76397514cc889ad17af58374d265a47618176216e9331509178490d1697 1 pubc 0plato4 tutor a 1977-07-25 00:00:00 1979-02-05 09:16:40 publisd 14 e678d36932f76925be681e44214a62e1db94a07589a851f8edea56c663cedddc 2 pubc 0plato6 tutor a 1977-07-25 00:00:00 1979-02-05 09:16:46 publisd 14 88ada8227a78b93373b30638a33d86fcd763241bb0be959a0753056298a92afd 3 pubc 0plato7 tutor a 1977-07-25 00:00:00 1979-02-05 09:16:53 publisd 14 c7c15f48426ba36d1a6c86dea286ca1af9a14ad1d3389d02b41457eebf55a625 Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 pubd 0platoiv tutor a 1974-02-12 00:00:00 1979-02-05 08:40:45 publise 14 8653ec8948d5f8be9f1680a8b6fc4b5093beb0081be31fd5c01fad8b8de581c3 Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 system plato tutor a 1997-11-05 00:00:00 1997-11-05 01:28:00 system 126 406a90f18e962c91495d5422d2ca7a05f022dbc540993ea3ef709433d259c3a9 Container PLATO File File Type Create Date Modify Date Account # Blocks Cryptographic Hash 0 system1 oplato tutor a 1997-11-05 00:00:00 2003-12-24 11:19:36 system 126 9f16e942ea1c126ba395a25a618d0f5096f3af89cda62f18e807a6498ba3e3e5

1.18 hash

When packaging containers (or files of any kind), it is sometimes important to ensure that the integrity of the files is preserved. The cryptographic hash of the file can be used to determine the condition of the file. A unique signature is generated for each file in the current folder and the signature is stored in a file .hashtab. If a signature changes between hash operations, the change is noted as output of the command which resembles the following:

<nn> items processed: ... added:<afilename_1>; <afilename_2>; ... ; <afilename_n> ... deleted:<dfilename_1>; <dfilename_2>; ... ; <dfilename_n> ... changed:<cfilename_1>; <cfilename_2>; ... ; <cfilename_n> ... unchanged:<ufilename_1>; <ufilename_2>; ... ; <ufilename_n>

1.19 nosget

1.20 noslist

This subcommand processese the target volume and identifies the file names and their respective user indexes contained within the volume:

(py11.venv) Ξ» cdc.io noslist "E:\Engineering\SZ10101\dtCyber.plato\NOS2.8.7\disks\DQ21_CYB0" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ NOS Label Level 2 Pack 'cyb0' ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Container File: 'E:\dtCyber.R1\disks\DQ21_CYB0' IOMode 'rb' Container Size: 552,468,480. bytes. Device Type: 'dq' (From Label) Detected Characteristics: Type: 'dm' IsPacked: 'True' Half-Track I/O: 'False' 16-word PFC Ent: 1 Catalog Contig: 1 PRUs (Sectors): 1076480 NOS Format MST: True Cat Actual Trks: 1 Model: dd885-(11/12) packed/new (dm or dq) Sectors/Track: 0640. o1200 Device Mask: Primary 0o377 Secondary 0o377 Device Number: 0o000 Rel Unit 0o000 Num Unit 0o000 Track Reservation Table Size(1682.) NOTE: Label Level 2 is fully-interpreted by this utility. Catalog Tracks: Count(1). o0001 Device Tracks: Total(01682.). NextFree(00001.) Catalog of disk [Ordinal] -------------------------------------------------- -seq-. name ui size a dev:trk sec 00000. s0files o377773 80714. d o00:o0005 o0000 00001. s0stuff o377773 116282. d o00:o0205 o0000 00002. s0sup o377773 57914. d o00:o0473 o0000 00003. system o377773 210218. d o00:o0626 o0000 Cross-Reference [FileName/UserIndex] -------------------------------------------------------------------------------- s0files: 377773 s0stuff: 377773 s0sup : 377773 system : 377773 Cross-Reference [UserIndex/FileName] -------------------------------------------------------------------------------- 377773: s0files s0stuff s0sup system

1.21 pfget

1.22 pflist

The pflist subcommand is the β€œsingle volume” version of the cluster subcommand c.pflist.

Sample listing of ''s0files''

The alternative form of the command provides significant detail about each file:

Sample listing of ''s0files'' with ''verbose'' setting

1.23 pfprint

1)
Note: SQL-Style Wildcard syntax
plato/cdc.io/tutorials/start.txt Β· Last modified: 2023/11/28 19:03 by Site Administrator