PDP-10 / its

Incompatible Timesharing System
Other
851 stars 80 forks source link

NON-EXISTENT DIRECTORY / LOGIN documentation #1535

Closed mstram closed 5 years ago

mstram commented 5 years ago

I have been working my way through the info pages and looking through the doc directory, but haven't found these answers yet

I've been trying to create / the "hello world" program here : https://github.com/PDP-10/its/blob/master/doc/hello-midas.md

But when trying to get emacs to save the file. I keep getting :

OP020 dsk: ^Q ^Q ^Q ^Q ^Q 0; [TECO] > NON-EXISTENT DIRECTORY

1) Who should I be logged in as ?

I've tried OPERATOR, USER, and just MIKE, but I'm not sure if there are existing user names I should be using, or ITS creates a user "on-the-fly".

2) How do I see the existing directory names ?

The INFO / INTRO is not much help, with its :

"To see the files in a directory use :

    :LISTF directory-name

ITS NON-EXISTENT DIRECTORY?
eswenson1 commented 5 years ago

You are running into an idiosyncrasy (!) of ITS. You have logged in as a user who does not have a home directory. And the system doesn't know how to map your non-existent user into a default directory. Here's what I suggest: After logging in, create yourself a home directory and THEN try to save the file in emacs to that directory.

Let's say you login as FOO with FOO$U or :LOGIN FOO, in order to create a directory called FOO (same as your login name), do this:

^R FOO; ..new. (udir)

You will get an error message, but the directory FOO should have gotten created. You can make sure by typing:

:listf foo;

Now, proceed with the steps you tried previously. When you save the hello program in emacs, it should default the directory to FOO; and you should be able to proceed fine.

I think you could also have just specified a directory when you tried to save the file in emacs. You would do that by specifying a directory in the path you used when you saved the file. For example, if you were saving the file HELLO >, you could specify FOO; HELLO > or any other already-existing directory.

Note: in all the examples above, substitute your login name for FOO.

eswenson1 commented 5 years ago

There is a mechanism in ITS to map userids that don't have home directories to existent user directories, but the DB build may not have this properly set up. I believe the user directories used for this are USERS, USERS1, USERS2, USERS3, etc. However, as I said, this may not be properly set up on DB, and thus, the default directory is something gross like " 0", which is typed as ^Q ^Q ^Q ^Q ^Q 0. Hence, you're seeing that ugly directory name (which doesn't exist) and thus getting the error.

eswenson1 commented 5 years ago

Missed your other question regarding how you see existing directory names. You need another magic file name. Reading the “file” M.F.D. (FILE) will display the names of all directories. MFD stands for Master File Directory. So to see the directories do:

^R m.f.d. (file)

Or

:print m.f.d. (file)

eswenson1 commented 5 years ago

You mentioned that you tried the directory OPERATOR. Directory names (also file name components and device names) are 6 character long (max) on ITS. They are also case insensitive. This is because they are stored in a 36-bit word using the SIXBIT character set, where each character is 6 bits long.

There should be a directory called USERS. There won’t be one called MIKE until you create one:

^R mike;..new. (udir)

Or

:print mike;..new. (udir)

larsbrinkhoff commented 5 years ago

I think Eric answered the questions.

This information could be put somewhere. Maybe a new markdown file that picks up where the toplevel README.md ends. "See this for basic steps as a new user." Or something.

mstram commented 5 years ago

"This information could be put somewhere"

How about the wiki ? :)

Thanks very much for the info.

I found the pdf "AIM-161A.pdf" ( "ITS 1.5 Reference manual") https://dspace.mit.edu/bitstream/handle/1721.1/6165/AIM-161A.pdf?sequence=4

Are there other docs available ? (A "sys admin" or "install" type would be helpful, as well as "user level")

A linux / windows-cmd --> ITS guide would be helpful too.

What docs have you guys been using to build the system ?

eswenson1 commented 5 years ago

I’d rather put useful info about how to use ITS in INFO. Then, it would be available to anyone running or logging into an ITS.

That ITS doc is for an ancient version of ITS, but I don’t know that it was ever updated.

I do like the idea of a map between Linux/ Win/Mac commands and ITS commands. And a how to guide for doing basic functions on ITS.

Regarding what docs we’ve been using to build the system: mostly doc in INFO, .INFO., and SYSDOC directories — and source code. I was an ITS user decades ago and remember a bunch from then.

I’ve been writing some TIPS in a new INFO document. If you want to suggest some topics I can write them up or point you to existing docs.

eswenson1 commented 5 years ago

You’ve seen .info.;its primer, right?

larsbrinkhoff commented 5 years ago

We don't use wikis much. See this for documentation: https://github.com/PDP-10/its/#documentation

AIM-161A is quite archaic, describing ITS about the time it were when it moved off the PDP-6 to the PDP-10.

The automated script does everything to install ITS. Most people aren't expected to do all the steps themselves, but if they really want to they can look at the script.

There are some pointers for a sys admin: https://github.com/PDP-10/its/tree/master/doc#maintenance

Linux -> ITS guide: https://github.com/PDP-10/its/blob/master/doc/DDT.md

Documentation for building the system is scattered here and there and in many cases you have to read source code to understand how things are done.

mstram commented 5 years ago

Let's say you login as FOO with FOO$U or :LOGIN FOO, in order to create a directory called FOO (same as your login name), do this:

^R FOO; ..new. (udir)

Where is that documented ?

The only ^R I've found is in .INFO.; DDT ORDER

:PRINT or ^R

$

larsbrinkhoff commented 5 years ago

It's the same ^R. Reading a file called ..NEW. (UDIR) creates a directory.

The only documentation I find is from SYSDOC; _CALLS 127:


        The file names  ..NEW. (UDIR)  cause a new directory
        to be created with the given sname if none already
        exists.  Creating a directory in this way causes a
        message to be printed on the system console.
mstram commented 5 years ago

Ok thanks.

How did you find that ?

Is there a "grep" equivalent (some kind of Emacs "macro" ) ?

(I'm a noob with Emacs)

On 2/17/19, Lars Brinkhoff notifications@github.com wrote:

It's the same ^R. Reading a file called ..NEW. (UDIR) creates a directory.

The only documentation I find is from SYSDOC; _CALLS 127:


        The file names  ..NEW. (UDIR)  cause a new directory
        to be created with the given sname if none already
        exists.  Creating a directory in this way causes a
        message to be printed on the system console.

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/PDP-10/its/issues/1535#issuecomment-464435057
larsbrinkhoff commented 5 years ago

I don't remember now. Probably reading some mailing list. It's a common stumbling block.

But I added it to the DDT.md file, so hopefully it's not a mystery any more.

larsbrinkhoff commented 5 years ago

I think this has been answered now.

larsbrinkhoff commented 4 years ago

I wrote in more detail how to create a new ITS user:
https://wiki.livingcomputers.org/doku.php?id=its_user

I believe our new Chief Documentation Officer @wyan volunteered to make a copy for this repository.