Re: Need help to reanimate an AT&T AT&T 3B1/7300 UNIX-PC



On 2008-03-28, dold@xxxxxxxxxxxxxxxx <dold@xxxxxxxxxxxxxxxx> wrote:
DoN. Nichols <dnichols@xxxxxxxxxxx> wrote:
This happened on a system which I administered, and we needed to
move the user's files to a different server. Everything failed until I

ls -bli would have revealed the inode number of the awkward file.
find . -inum NNN -exec mv {} sensiblename \;
should have worked.

It might have, but I don't think so. you would still be at the
mercy of the system's interpretation of the path. Remember that find(1)
will just discover the name as it was, and mv(1) does a link(2) followed
by an unlink(2) to accomplish the task -- and the unlink(2) failed in a
hard-coded path compiled into a program.

I didn't think to try that one. at the time. I was sufficiently
mad at the user for creating filenames like that on a unix file server.
(Of course, he didn't know that it should not be done, and the NFS
didn't bother telling him. :-) I think that the main blame should have
been on the NFS implementations.

The problem is that the unix implementation simply refuses to
pass a filename with '/' in it without attempting to interpret whatever
precedes it as part of a path (directories), and what follows it as
another part of a path (more directories, ending in a possible
filename).

If NFS put it there, then NFS would have been the place to undo the harm.

Yes -- when called from a Mac -- which did not consider '/' to
be a subdirectory separator. But the libraries on Solaris, at least,
would not allow it. Let's say the full path was:

/home-6/username/subdirecoryname/file/name

with "file/name" being the actual file. The libraries on Solaris, and
any other unix which I have used, would have attempted to locate a
directory named "file" at the end of the rest of the leading path, and
then attempted to remove a file simply named "name" -- *if* there were
also a directory named "file" at that level. In all cases it would
fail, unless there were also a file named "name" in the directory named
"file".

For that matter -- remember the old MS-DOS versions -- pre
Windows -- would not accept a space in a filename. I found a file with
such a name, and could not get any command-line approach to get rid of
it. Then I looked at the program which created it, and discovered that
it was written in BASIC. So -- I wrote a small BASIC program to remove
the file and it worked. Apparently the BASIC hooked into the filesystem
at a lower level that the rest of the OS -- which since Microsoft's
first product was a BASIC interpreter for the Altair 8800 (and later for
the Altair 680b which I had), and somewhat later there was a "Disk
BASIC" which booted from the floppy and all files were either program
files ".BAS", or data file -- all created by BASIC talking to a very low
level of the disk controller's drivers -- somewhere in the lower levels
of the BIOS in the MS-DOS versions. So -- It is not surprising that the
BASIC could do things which the OS prohibited.

For older systems, NFS is the only decent way to deal with CDROM. The 3B1
and older HPUX systems come to mind. The same CDROM unusable when mounted
on an HPUX system could be read if mounted elsewhere and exported via NFS.

Interesting. So it would be mounted on something like SunOS
4.1.? I guess?

And of course, a CDROM jammed into the 3B1 floppy slot doesn't mount
easily. ;-)

And -- the 3B1 never supported NFS. I *think* that it supported
RFS, but I'm not sure. But -- the CD-ROM of the images would be
something to use for rebuilding damaged floppys. And it would be
possible to set up uucp on both some other system and the 3B1 and put
the ".cpio" files there, and let the install scripts work from there.

IIRC -- that was how downloaded files from "The Store" worked.
But, of course, you needed a system sufficiently built so you could
configure uucp before you could do that, which left out the possibility
of installing the "Foundation Set" that way at a minimum.

And there were certain nasties in the system backup scripts.
They checked the date/time on a file (/etc/installdate, I think), and
refused to back up anything older than that. So -- if you got programs
in tar form and installed them (e.g. an improved version of mkdir(1)
which included the "-p" option for building any missing subdirectories
in the path), it would not be saved in the backups. The principle was
to make sure that anything from the Foundation set was never overwritten
during a restore, but it should have done a compare of the output of
sum(1) to be sure that it was an unchanged version. :-)

Enjoy,
DoN.

--
Email: <dnichols@xxxxxxxxxxx> | Voice (all times): (703) 938-4564
(too) near Washington D.C. | http://www.d-and-d.com/dnichols/DoN.html
--- Black Holes are where God is dividing by zero ---
.



Relevant Pages

  • Re: jumpstart requests wrong file
    ... a client and executed make_client successfully. ... address from my jumpstartserver but then requests a wrong filename to be ... boot net -v - install ...
    (comp.unix.solaris)
  • Re: fetch extension - use local filename from content-dispositionheader (new diff)
    ... Previously giving this non-argument -O flag would use the ... Now this flag takes an expected filename as an argument. ... if we make a mistake in the URL or if the server changes the mapping. ... +If the server sent a Content-Disposition header, the +.Fa content_disposition +field will contain the suggested local filename. ...
    (freebsd-current)
  • Re: Why is KDE 4 so messed up?
    ... a server in the form you and your browser see. ... what was the filename on the server? ... No need I've used opera in the past, but I didn't stick with it so my ...
    (alt.os.linux.suse)
  • Re: A program made by C# can not use a ATL/COM server...
    ... Proxy Stub for COM server ... filename: ComExeCE11PS.dll ... made by a project of WCE Dynamic-Link Library ... BOOL bRun = TRUE; ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: Testing a file-type input element
    ... the filename selected is, or whether one was selected at all. ... may arise when the user inadvertently submits the form without selecting all ... I can test for an empty file form element name at the server side script, ... As far as client-side security goes: ...
    (comp.infosystems.www.authoring.html)