delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/11/12/13:00:01

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:content-type:content-transfer-encoding
:subject:message-id:date:to:mime-version; q=dns; s=default; b=ue
8vgKcdaIHtwGj8JztOPV5VWE6b1yOVQPkRtBedBSKDSWAq+5ZkM03NyQ/lCGeynj
Qe7rCHJGS5usEcT7JpKdUeFbY/ZoV1EjqAwDTvuzTRRKcoGVpOqOXbZK/RIkSUg+
gKj9NVpQFcizb2EeGxSBsybpFtGrrun2DL3hzXzwo=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:content-type:content-transfer-encoding
:subject:message-id:date:to:mime-version; s=default; bh=LAGzwUEm
KpOw3RYsStLbGKZJp0o=; b=cZlgh39hb7TTs6B+UFm0Dnnl/ukxp5OGYkkj6yTK
O9gMhBxTbkJF90gZ7SgLiqhroZukM+98XDhcX3F38CwCzMLUlCM2Ha50kwBbsq0m
f6nk+D2B9A1r2CZId051xRFXmCL//oZB7SZbRkfmPo+cidbYkcTFv9geAxAlYzkx
MgQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=1.8 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,UNSUBSCRIBE_BODY autolearn=no version=3.3.2
X-HELO: etr-usa.com
From: Warren Young <wyml AT etr-usa DOT com>
Subject: /usr/local, /var and */tmp in c:\Users\Public
Message-Id: <81578012-FD3F-4463-BC56-ADB092317DD4@etr-usa.com>
Date: Wed, 12 Nov 2014 11:00:04 -0700
To: cygwin AT cygwin DOT com
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
X-IsSubscribed: yes
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id sACHxsE4025893

I didn’t want to derail the discussion about the future of /home with this, so I’m starting a new thread.

I think it would be an improvement to Cygwin if c:\cygwin contained only things that can be reinstalled from your local setup.exe download cache, in the same way that you can nuke "c:\Program Files\Microsoft Office $version” and reinstall without losing anything you created locally.

Further design principles follow from this:

- User data should live in directories that those users are normally allowed to write to.

- Per-machine software and per-machine configuration should be in directories that local Administrators can normally write to.

- Software built from source (/usr/local) should not be in c:\cygwin; it is per-machine configuration, and so should be elsewhere.

- If you tighten down what remains so that normal users only get read permission, it should continue to function, in the same way that normal users on a Linux box don’t need write access to, say, /usr/include.


This /etc/fstab addition mostly accomplishes that:


c:/Users/Public/Cygwin/var         /var         ntfs   auto      0 0
c:/Users/Public/Cygwin/usr/local   /usr/local   ntfs   auto      0 0

c:/Users/Public/Cygwin/tmp         /tmp         ntfs   notexec   0 0
c:/Users/Public/Cygwin/tmp         /usr/tmp     ntfs   notexec   0 0
c:/Users/Public/Cygwin/tmp         /var/tmp     ntfs   notexec   0 0


I propose that this or something like it be added to the default fstab.

It should apply to an existing setup without trouble.  If you already have things in /var and /usr/local, you should copy those trees over first.

The only thing remaining in c:\cygwin that can’t be moved in this way — but which it would be nice to — is /etc.  If you try, you will find that it makes Cygwin asplode; cygwin1.dll needs to find $cygbindir/../etc in order to find /etc/fstab, at the least.

Attempting to create a “shadow /etc” — vaguely like how Linux’s initrd works — also failed here, but it doesn’t seem like a good idea to do this anyway.  It means you now have to remember which of the two etc dirs to edit files in, a management hassle I don’t want.

(Anyone who uses FreeBSD with Ports installed knows this pain, with /etc and /usr/local/etc.  In Cygwin, it would be /etc and /cygdrive/c/cygwin/etc.)

Are there any directories I have missed?
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019