*BSD News Article 17784


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!convex!convex!cs.utexas.edu!uunet!mcsun!Germany.EU.net!news
From: bs@Germany.EU.net (Bernard Steiner)
Newsgroups: comp.os.386bsd.questions
Subject: Re: Hard Links Between Directories
Date: 1 Jul 1993 11:48:03 +0200
Organization: EUnet Deutschland GmbH, Dortmund, Germany
Lines: 33
Distribution: world
Message-ID: <20ubsj$nk2@Germany.EU.net>
References: <1693180.80035.807@status.gen.nz>
NNTP-Posting-Host: qwerty.germany.eu.net
Keywords: Links


In article <1693180.80035.807@status.gen.nz>, craigw@status.gen.nz (Craig Whitmore,My Amazing Amiga ,A500,649-292-4859) writes:
|> Can someone tell me how to make hard links between directories? The man
|> about ln says quote:
|> "...Hard Links may not refer to directories (unless the proper incantations
|> are supplied)..."
|>  
|> But what are the proper incantations??? Please help me!!

a) you *must* run it uid 0
b) ln -f *might* work.
c) Re-compiling ln without the check to see whether this is a directory
   *does* help.
d) I don't see why you would want to do it.
e) Make sure you have the appropriately modified version of rm at hand.
f) I think the stuff on the Tiny floppy does not have the restrictions.

BTW One of the (older) versions of SINIX[TM] featured a version of fsck that
actually managed to dig up a directory that had been removed three weeks
before, somehow gave it two names (plus the . in the directory plus a couple
of ..'s from children directories).  "rm -rf" on the directory did not work. 
Doing a quick hack with a one-line program resulted in unlink() failing,
however, re-compiling the thing again with syscall() proved that the kernel
itself would talk to your tty if you tried to unlink a directory.

-Bernard
-- 
=====    ____                          =====   EUnet Deutschland GmbH
=====   /      /   /   ___    ___  _/_ =====   Emil-Figge-Str. 80
=====  /----  /   /  /   /  /___/  /   =====   D-44227 Dortmund
===== /____  /___/  /   /  /___   /    =====   Germany
=======                              =======   Vox +49 231 972 2222
======= Connecting Europe since 1982 =======   Fax +49 231 972 1111