Search This Blog

Tuesday, July 24, 2012

Linux and the cloud

With the current buzz (hype?) about cloud-computing it is natural that there will be nay-sayers.
How many people realize that cloud is old wine in new bottles? Here's rms raving against clouds:
The interesting thing about cloud computing is that we've redefined cloud computing to include everything that we already do. The computer industry is the only industry that is more fashion-driven than women's fashion. Maybe I'm an idiot, but I have no idea what anyone is talking about. What is it? It's complete gibberish.
And so are many others

Tim O'Reilly's views in this matter are more nuanced and interesting. His original seminal paper Paradigm Shift. Summed up in slightly more modern language Hw Sw Infoware
The market, in is no longer for software, open source or proprietary. Tomorrow's market is all about data.
from Wrong question
And yet it seems to me that both the yea and the nay sayers miss an important point, viz. that debian's apt has been a cloud service before cloud had become a buzzword

Here's a transcript of something I recently posted on python list.  The context is a question about why it is hard to write to /etc.

Modern linuxes are SOAs (service oriented architectures) or cloud architectures even if we dont like the buzzwords.

This means that when I install debian/ubuntu on my personal computer there is some kind of contract-ing that goes on between me and debian.  Some of it legal, some semi-legal some entirely informal/conventional but still very important.

Legal:
For example it may be 'my very own computer' but if I take sources under a certain license and use them in violation of that license I could get into legal trouble.

Semi-legal:
Free and not-free software can coexist in ways that are at least legally nebulous

Conventional:
Debian must not use the machine (and file-system in particular) in
ways that disrespect me.
Note I am not talking of obvious legal gaffes like stealing my private data but of more 'conventional' problems like strewing my home directory with meaningless temporary files.

Likewise:
I must respect Debian's area.
For example I cant go messing about in /usr/bin [the name 'usr' is misleading and unfortunate] and expect support from debian.
So
$ sudo rm /usr/bin/foo
is improper whereas
$ sudo apt-get purge foo
is proper.

And its improper because you are not to mess around in debian's area – except for officially approved channels like apt-get purge… just as debian is not to mess around in yours.

And writing into /etc constitutes messing with debian (or whatever is your distro).

So yes, as earlier suggested read the FHS.

And consider using a 'public-messable' area like /usr/local instead
of /etc.

Actually the situation is more complicated: the deal is not between
just ordinary users like you/me and the distro. There's
- ordinary users like you/me
- packagers
- the distro
- upstream

each with their own rights and responsibilities.
What these are and how to navigate them is best discussed in your
distro's fora eg
http://forums.debian.net/
http://ubuntuforums.org/forum.php


And further in response to

Denis McMahon
If you don't have root access, you probably shouldn't be trying to write in /etc. If you need to write in /etc, explain to the sysadmin why you need root access.
The OP is evidently working on a macbook pro.
From which I infer its his own personal notebook.
So explain to the sysadmin amounts to explain to oneself!!

40 years ago, on the first Unices, with machines millions of times weaker and costlier than today, 'sysadmin' and 'normal user' were usually different. Today they are usually the same.

So we old Unix-heads need to change our explanations from explain to the sysadmin to change hat from normal-user to superuser.  And then why simplifying life by having only one hat –
$ sudo bash # and do everything there
is not such a good idea!

To the OP:
One thing that has not changed in 40 (or rather 60) years is the concept of

Binding Times

eg C programmers cannot get off the ground if they do not distinguish
compile-time from run-time.

In the current context, it is probably good to distinguish system-administering time from system-use time.  So as sysadmin, you can pretty much do as you please (though remember my comments earlier on respecting your distro's space), make a directory under /etc, chmod, chown, chgrp it to your taste, so that the (group of) ordinary users can write into it.

And then in normal user mode you should be able to write to it.

However... as I said above it may be preferable to use /usr/local (for programs) or /var (for data) rather than mess in /etc. [Think of /etc as windows' registry – not the ideal mucking-ground!]  And study the FHS to make the right choice.

And finally, if you are the only guy involved, why are you not doing everything under $HOME?

No comments:

Post a Comment