Gentoo Archives: gentoo-user

From: wraeth <wraeth@×××××××××.au>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: unix philosophy question for old farts: the original purpose for /tmp ?
Date: Tue, 16 Dec 2014 22:17:14
Message-Id: 5490AF56.803@wraeth.id.au
In Reply to: RE: [gentoo-user] Re: unix philosophy question for old farts: the original purpose for /tmp ? by Mike Edenfield
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 17/12/14 08:32, Mike Edenfield wrote:
5 >>>> "A general use scratch pad area where files written are not
6 >>>> expected to survive successive invocations of the program
7 >>>> that wrote them". That's interesting as it means the sysadmin
8 >>>> can delete everything in /tmp at any time for any reason,
9 >>
10 >> And as long as the app doesn't close the file descriptor,
11 >> everything will continue to work just fine. I used to do this for
12 >> fun about once a week or so on a many multiuser host, then tell
13 >> users to tell upstream to fix the stupid bugs in any apps that
14 >> broke. I've calmed down since then, must have something to do
15 >> with the onset of senility...
16 >
17 > Then I discovered that ssh-agent decided that a good default place
18 > to put its domain socket was /tmp/ssh-XXXXXXXXXXXXXXXXXX and
19 > deleting it breaks ssh key forwarding, among other things :\
20
21 I think a key point has been missed here, and that is use of the words
22 "successive invocation".
23
24 To me, /tmp is an area where files that are /not meant to be
25 permanent/ are able to be written without contaminating the file
26 system and without requiring open permissions in other more sensitive
27 areas like /usr/share or /etc/randomdir.
28
29 A single invocation of a program having its /tmp contents removed and
30 then acting abnormally isn't something that I would consider a bug.
31 It's when a _subsequent_ run fails because it's expecting a file that
32 is, at least by it's location, _temporary_.
33
34 One analogy may be that in driving a car, you expect that the engine
35 is running, but it is only required whilst the car is being driven
36 (therefore temporary - only required for that specific invocation). If
37 you suddenly stop the engine when you're halfway to where you're
38 going, within that invocation, you're going to have a bad time.
39
40 If a program is expecting a dynamically generated file that isn't in
41 the "normal" file system hierarchy, then that file should probably be
42 stored in somewhere like /var or /usr, rather than /tmp.
43
44 Well, that's my loose change worth. Also, it's early for me - please
45 excuse any bad analogies. :-)
46
47 - --
48 wraeth <wraeth@×××××××××.au>
49 GnuPG Key: B2D9F759
50 -----BEGIN PGP SIGNATURE-----
51 Version: GnuPG v2
52
53 iF4EAREIAAYFAlSQr1YACgkQXcRKerLZ91kh2AD9HrxjihW5NqY673Af+GRCq6Bj
54 kKsyiBUMJAVTkz96fJoA/2P6y3U5drh5Yma5uFRfK+l1YOdrsKj5LPVHBIa7Egpx
55 =HmpB
56 -----END PGP SIGNATURE-----