|
From: Robert K. <ro...@ko...> - 2002-05-22 22:37:33
|
Hi, I'd like to warm up the theme about Directory structure and multiple installations, again. Hyper and I had a discussion in this context, and I want to give us a base via posting it. Conclusion up to now is: -very different views for some ss -multiple distinct installations should be possible on one partition but cause dir-inconsistency (who has the true view) Let's start clearing this problem., do you think we should continue that discussion about directory structure? NonVolatil: yes KJK::Hyperion: I have five queued messages maybe we should ask first :-) NonVolatil: I think we should define the structure as early as possible and diverge the sturcute to have no overfilled dirs *** KJK::Hyperion signed off at Wed Apr 24 21:38:43 2002. *** KJK::Hyperion signed on at Wed Apr 24 21:38:53 2002. KJK::Hyperion: yes, I agree the earlier, the better KJK::Hyperion: about Unix dirs... I think they *really* should stay in the disk root. All systems with a POSIX subsystem (MacOS/X, QNX, BeOS) do that, I don't see why we have to differ NonVolatil: here agein KJK::Hyperion: heh NonVolatil: moment I have a call...... KJK::Hyperion: that's ok NonVolatil: Here I am again. Female phone partners never find an end KJK::Hyperion: hehehehehehehehe how true NonVolatil: what now............ NonVolatil: I don't want to pollute the root KJK::Hyperion: the root is no-one's land NonVolatil: This is one of the advances of NT over OS/2 for example. You can install multiple installations on one parttion NonVolatil: W2k gave this adv. away in some parts NonVolatil: AND I want to have a subdir for each sub system, also win32 KJK::Hyperion: Win32 can, by design, be installed everywhere Unix systems cannot. They have a rigid structure, and more important there's no way to determine dynamically the location of directories NonVolatil: thats ok and unchangeable. But with virtual dirs there is a possibility to locate the real dirs under the OS' dir KJK::Hyperion: virtual directories are an administration and programming hell NonVolatil: i don't think so NonVolatil: 'cos a programmer of a certain ss knows what he knows KJK::Hyperion: they introduce yet another special file system object, for example NonVolatil: not needed *** Error while sending IM: Rate to client NonVolatil: for example NT's os2 ss does souch a thing with CONFIG.SYS NonVolatil: The os2 ss creates a virtual config.sys form a key in the registry. KJK::Hyperion: this is hideous NonVolatil: So every NT installation has its own config.sys - which was the intention NonVolatil: hideous? KJK::Hyperion: horrible KJK::Hyperion: what path has this fake config.sys? NonVolatil: X:\ NonVolatil: ? NonVolatil: I know...you are imaging yourself a posix only version KJK::Hyperion: do they take in account all the possible paths? X:\dir\..\config.sys? X:\config.sys.? X:\dir1\dir2\..\..\config.sys? NonVolatil: OS/2's config.sys resides in the boot drives root KJK::Hyperion: what if some program reads it with an "indirect" path like those? do you have to check every damn file open? NonVolatil: whats an indierect path? KJK::Hyperion: the dot and double-dot entries, for example NonVolatil: the ss's open implementation has to monitor if a special file is opened and treat that differently. - Its possible but hard KJK::Hyperion: X:\..\..\dir\.\dir2\..\.\..\config.sys.... this is the same as X:\config.sys NonVolatil: oh, yes, they are NonVolatil: I don't know if it is possible in nt NonVolatil: but it is pain KJK::Hyperion: with a little sacrifice no more problems NonVolatil: Its difficult if you think of a posix or os2 only version. But this would mean that you can boot different systems with win32 but the other ss remain the same - or even more evil refuse to function in the other version KJK::Hyperion: there's another problem with the "every SS has its root" approach. That they cannot work together NonVolatil: was it you who told us about the other POSIX 2 compiant ss taken by M$ NonVolatil: if they share the same root ? KJK::Hyperion: if they share the same root, file paths can be exchanged freely with little or no processing required NonVolatil: what do you mean with that? KJK::Hyperion: POSIX+ for example already accepts both the backslash and forward slash as path separator. A path like \home\hyperion\desktop is both a valid Win32 and a valid POSIX path NonVolatil: lets talk baout your ss. which dirs are required? KJK::Hyperion: technically, none. Only the root and /tmp. But for an usable system, it needs /bin, /dev, /etc, /lib and /sbin. For full FHS compliance, /boot, /home, /mnt and /opt are also required KJK::Hyperion: and /usr, and /var, by the way NonVolatil: tmp and usr may share the root. the others I think not NonVolatil: dev may exist but be 'filled' by the ss KJK::Hyperion: why not? I can guarantee you that it poses no problem at all for existing programs NonVolatil: The parallel install thing. And, as you said, other ss that use the same names KJK::Hyperion: no other subsystem uses these names NonVolatil: I can imagine a carbon ss. This will have tmp as darwin has one KJK::Hyperion: Darwin is Unix NonVolatil: yes and so it requires different usr var etc etc. NonVolatil: I don't like this either KJK::Hyperion: but Carbon doesn't define standard directories NonVolatil: Do you know MacOS? I don't NonVolatil: But take for example the Cocoa API *** Error while sending IM: Rate to client KJK::Hyperion: A bit. It has directories like System, Applications, and a few others. I think, apart from System, that other directories have no special meaning NonVolatil: is this for os X true, too? KJK::Hyperion: yes. The root is something like this: /bin /etc /lib ... /Applications ... NonVolatil: so darwin+MacOS KJK::Hyperion: it's just that /bin, /etc, /lib, etc. are hidden KJK::Hyperion: yes. They effectively have four concurrent subsystems: POSIX, Carbon (old Mac), Cocoa (NeXTStep) and Aqua (new Mac) KJK::Hyperion: and they use a single root NonVolatil: ? I thought Carbon are old but improved binarys. They use Aqua for display. Cocoa are native apps and they use also Aqua for display. Aqua is not a subsystem KJK::Hyperion: Aqua is the subsystem, the display is called Quartz and to support the old Mac they both have an emulation subsystem with binary compatibility (Classic) and a native subsystem with source compatibility (Carbon) |