Unix "architecture" (no it's not really) -

This is a break-out from the thread 1 Master file, two writers collaborating - any ideas? so as not to distract from people interested in project collaboration. To see the origins of the current thread, see this post by Jaysen

See? So much to learn! :wink:

Yes. I think. I understood most of all the above, but got a little lost near the end.

But to get back to Unix. Part of what I meant by architecture* was the underlying assumptions of Unix and it’s variants. One of the benefits of OS X I have enjoyed is that the user level is sufficiently abstracted from the underlying stuff (I’m reasonably sure that “stuff” doesn’t have a specific meaning that I’m infringing) such that I’ve never had to properly learn about groups and users and owners, etc - the OS takes care of that for me so I can get on with using the apps I need to the jobs I have to do. Nor have I had to grapple with the command line or worry about permissions and hierarchies and wheels and… stuff. The few times I have ventured into Terminal to play, my vague and mostly forgotten PC/MS-DOS and CP/M skills were sufficient for such brief excursions.

Now, however, I need to step up quickly. In the process of preparing a new website, I learned about WordPress Multi-site and domain redirection. Perfect for what I needed and all the posts and manuals said it was easy. Luckily I had the foresight (for a change) to set-up a test server to practice on because “easy” apparently doesn’t mean the same to me as it does to other people - I still can’t get it to work. And then, just as I was coming to terms with the above, the hosting service of my live site managed to redirect their DNSs (beyond my control) to an internal IP so no email was getting in or out. For a week!! Fed up (it was not the first time they messed up my site) I moved to a new host who have given me full root access to my own virtual server. After spending countless hours over a weekend transitioning my site in what was meant to be a 2 hour process**, I vowed to understand what I was doing rather than rely on the step-by-step instructions of others that were wrong, missed steps, or began with different starting assumptions that were never made clear***. If I had the spare cash I’d gladly pay someone to manage all this for me.

Which brings me back to your point:

Does setting up a new server, on a new Linux install, count? :unamused:

[size=85]*My use of the word “architecture” was not intended in any formal sense - I know enough to understand that the term has specific meanings without knowing enough to understand those meanings. I’m OK with that.

**In my defence, my new host somehow provided me with an out-of-date install of cPanel and WPM and also mySQL. So I was attempting to transition my old site onto a new server, with a variant of Linux I’d never heard of (when I don’t know Linux anyway), and with no prior experience of using SSH, with inadequate instructions, using outdated server software that didn’t match the instructions specific to them, and when those instructions were wrong anyway. I’m actually kind of proud I still managed to do it on a weekend when there was no tech support available and get my site and email operating by the Monday. Wouldn’t want to do it again though…

***Such as, “Oh, they assume that I also has root access to the source server!” or “Oh, they assume that I am using X version of Y as installed by [insert name of their preferred pre-packaged installer]” or, “Oh, they assume that one has already done XYZ, without actually mentioning XYZ, let alone that is a pre-requisite” or, “Oh, they assume that their instructions are complete and accurate and actually match some version of cPanel that presumably exists somewhere, albeit not on my machine or in any documentation that I can find…”
This is a mix and match of my experiences with both WordPress Multi-Site and transitioning my live site to a new server, but illustrate why I want to understand what I’m doing rather than blindly follow the instructions of others.


If you really, really want to learn Unix, install Slackware. I went from Debian (everything managed), LFS (you compile everything yourself) to Slackware. It’s the closest distro to actual Unix. (OS X, for instance, is way more like BSD than Linux, although you’ll see hints of both in either.)

A lot of the configuration and package management is done by you in Slackware, so you’re forced to learn it. If you want a printer working, for instance, you need to start the CUPS daemon and tell it to start at boot. Many system tasks are still command line, too. If you want to take your install of the distro in a different way, you’re free to do so. (Try uninstalling pulseaudio in ubuntu and see what happens…)

There are copious amounts of documentation on the Slackware website, in AlienBob’s wiki (alien.slackbook.org/dokuwiki/doku.php), and over on linuxquestions.org. (There’s a robust community, where most of the Slackware core team hang out. Odds are good if you’ve got a question that someone’s got an answer.)

ETA: if you’re going to install Slackware on a mac, you need to be using 14.1. It supports EFI.

Nom’s an Aussie. Aussies struggle with English! He’ll never get his head around Penguinspeak! :open_mouth:

LOL. :slight_smile:

Well, good thing is that there are more than a few “regulars” around here who’d be happy to help out if Nom winds up blowing his whole leg off. (It will happen…it’s only a matter of time when you’ve got root privs.)

:open_mouth: Jeeezzz!!! Woss he got, some kind of STD? :blush:

“I’m sorry, sir. Six months at most. You’ve got root privs.” :wink:

:open_mouth: :open_mouth: :open_mouth: :open_mouth: :open_mouth: :open_mouth:

There are three reasons why I don’t want to go that route:

  1. I have a day job.
  2. Despite the evidence frequently displayed on these forums, I do manage some semblance of sanity that I’d like to maintain.
  3. My active server has Linux pre-installed and I don’t want to learn any more than I need.

And, a bonus 4th: I have Ubuntu installed on a virtual machine (via Parallels). Oh my is it an ugly beast, but it was the simplest to install (Parallels have it packaged ready to go).

Honestly, I rather not use Linux at all. Not because I have anything against it, but simply because I don’t want to spend the time learning a whole new OS. When I was younger, I’d have loved the challenge, but now I’d rather devote my time to configuring my site and developing the content or spending time with my family and friends. In the end, learning Linux is just to help me get my new site online.

Reading that somehow made me think that “root privs” gives one explosive flatulence.

Is it harder than emu?

Nom, here comes the pointy-haired-boss.

You are looking for “operational standards”. There are level’s of standards that go from “PHB” to “BDN” (Basement Dwelling Nerd). As with most things “standard” they are guidelines, not rules. Most folks work from the bottom up, which is why you have the conflict between IT and business. As a “smarter* that most” type I would suggest you work from top down. Start at the PHB level and go toward the BDN level until you get to the point you realize “none of this matters”.

PHB would tell you that IT supports business. It’s sole purpose is to ensure the bottom is maintained. This means cost containment, service availability and security should be balanced with compromise in all area to ensure the quarterly bonus increases each quarter. That’s about all business really cares about, but it does provide the next levels down.

Operational standard for business processes are non-platform specific. You likely don’t give a rip about them. These are the rules about how you make $$, keep said $$ in your pocket, and allocate $$ to groups. LIke I said, not something you likely care about**.

Skipping ahead to security for a minute… this is the part you SHOULD care about before the service/operations section (next paragraph) even though it is the least fun and the most frustrating. Security operations explain the user/group concepts, how to determine who goes where and why, as well as helping plan the operation standards. It is much easier to plan security up font then to retrofit things later. At this level you are just starting to divide the nix and non-nix worlds.

Service availability has marginal interest to you. This tells you how much your IT is “doing its job”. The ways to measure this are numerous. There are huge differences in nix and non-nix here. As you discovered though, a slip up in availability can cost you big time. There is one branch of availability that you really care about, production operations standards.

Prod Ops is the day to day running and support of systems. This is stuff like installing OS packages, reviewing for HW failure, responding to problems, etc. This is were the “you do X to install Y” folks live***. This is where most folks start and get stuck. Generally folks will read a few docs then start to learn “the easy way” and suddenly find themselves having run afoul of a security thing. I started here 20 years ago and regret not having worked from the top down to understand the “better way” of doing things. Note the use of better, not right. both work. One is planned and maintainable in a longer timeframe than the other. That said, the “how-to” docs you’ve been reading are all in this space.

The part that you’ll notice we haven’t hit is “how do I learn about linux?” and “what do I need to know about linux?” We now to that point.

The best thing to do is to create a new scriv project and call it “the education of nom”. You will want to start off with a BLANK project. Create a new doc in the draft and list the things you want to do. First would be “multi domain word press”. Next might be “run my own email servers”. Once line per thing. Once you have your list done, split each line into a new doc and convert to a folder. I suggest you copy this folder set up into your research branch as a starting point so you have a place to start sticking docs you snag off the net.

Now go look up your first item. In this case you’ve started your multi domain word press. Read the doc but don’t DO anything. Every time you come across an acronym like DNS, HTTP, TCP/IP or a word/phase like “privileged access”, daemon, syslog, ask yourself, “nom, do you know how that works?” If you answer no, put a doc for that thing in your draft folder. This is what you need to learn for that one task.

Once you’ve gotten through the how-to (using multi dom wp as the example), go back and hit the sub-docs the same way. But don’t start with a how-to, start with the “what is” doc. Literally**** google “what is DNS”. Take notes in your draft using the DNS doc in MDWP. Save research URLS, PDFS, in the research branch under MDWP/DNS. Eventually you will start with the how-to and will understand everything they are talking about in the doc. At the same time you will run into things in DNS land that need more research. IP, MAC, multi-home spring to mind. Once you finish with DNS move on to the next topic and so on.

This is a long and tedious sounding process. Thing is by the time you finish MDWP you will have 90% of the info you need for the next item on your list. Like scriv, the learning curve is steep for the first project, but much simpler for the second. Using this method you will also understand the underpinnings of ALL operating systems with a distinct skill set that is portable should to switch to a provider that is using a different OS variant.

And I’d probably hire you to work for me if you showed me your scriv doc. Seriously. Someone like you doing that level of research is the type of thing that corps need. Much of the output from universities are deficient in a real low level understanding of the protocols. Explaining to a fresh set of developers that “http headers are not in the TCP or IP header so stop snooping the stack” get old after a while*****. Yes they learn, but not having to waste a year teaching basic knowledge… BAH.

So how is that for not really answering you?


  • arsed

** in this context

*** no matter what folks say, development IS a form or production operations especially if there is direct manipulation of OS level facilities. Otherwise it is “user space” and not in the context of system administration.


***** Every year. I get this from MIT folks as often as community college folks. Absolutely unacceptable.

I’ll add that “os is meaningless” for what you want to do. You need to understand network communications, underlying protocols that support communications, and how systems support these protocols (in order for importance to you, HTTP --> DNS --> IP --> SSL (and folks will tell you that is backwards but I have reasons for this order that I an explain if required)).

This is why I suggested that you aren’t really looking at what you think you are looking at. You “think” this is linux (*nix arch) you are learning, but it isn’t. It is HTTP and supporting protocol operational standards and methods. Everything you need/want to know will apply to linux, osx, windows, mumps, os2, etc. The exact implementation steps will vary, but the technology will be the same.


I have saved your post to reread again (and again. And probably a couple more times after that). Thank you.

I still have a nagging, gnawing, twitchy urge to do something - but that is because recent events at the university mean that I need to increase my clinical hours much sooner and faster than I expected, and with less money to do so. Which is why your post was so valuable - it reminded me of the value of getting it done well (not necessarily right, but if done well then corrections can made more easily). Troubling dialectic to resolve but after umpty years of study, and apparently always getting work beyond my existing ability, seeking a a workable compromise between time and content is a very familiar tension.

I particularly appreciate your simple, but usefully specific, tips on using Scrivener to support the required learning. I wish I’d known of that approach when I was studying.

If all the above does take me a while, then given recent events I might take you up on the job offer…

The problem with “doing” is that you need to know the impact of that change. For example: I can tell you, “decide your TLD, create SOA for each sub/host, then create CSR for wildcard of TLD which can be imported via openssl to enable secure multi-domain-wp”. I could even give you the steps. But what will happen if you need to add a new TLD? Heck, what context of naming are you even using for a TLD in your plan?

So you’ve done something, but can you support it should a security bulletin or a change come your way? This is why understanding what a TLD, SOA, CSR, etc is so important.

It seems to simple when it is written down, doesn’t it? This is what I think everyone really does, but the documenting of the steps is missed. I’ve tried this approach with non-tech stuff and found that the non-linear construct that scriv enables makes it VERY easy to see cross process/function relationships AND then include information via links (one parent set of docs to maintain while having all the data logically aligned). I’m sure collections or something like that would make it even clearer to see, but I’m too lazy to explore that.

Listen, just like with your chosen profession, IT really does require that you understand high and low level “stuff”. And just like in “brain-defunking”, You have to go back and forth between “big picture” and “implementation”. You wouldn’t suggest a regimen of activities for controlling a fear reaction without first explaining the high-level principals of behavior modification. So why would you start a regimen of activities to build a IT structure without first looking at the principles of IT?

Not quite the same, but the idea is there.

If you need any help at all, you know how to reach me. I’m not a WP guy, but the rest of it… I actually helped make some of it happen. That’s a bit of a shock to type, but yeah, I might know a bit of the history first hand.

Given the risks of root privs causing explosive diarrhoea and blowing off a leg, it makes sense.

[size=85]P.S. Thanks for reactivating this thread. It was helpful to revisit the content.[/size]

Not everyone does this. Trust me.
In fact, based on my clinical and academic experiences, I will go further: Hardly anyone does this.

[size=85]P.S. Thought you might like to know: I compared time available to time required, then hired someone to do the work. Thank you.[/size]

Really? It must be that I’m surrounded with folks that are like me. That is probably a bad thing. Critical mass and all…

[size=85]Congratulations. I’m glad you are willing to avoid the IT trap. It is a dangerous trap that consumes way too many people.[/size]

Just imagine what your weekend will look like…