Blog Archives

UNIX Flavors (Distributions)


Which operating system is best for web hosting?

It seemed a simple enough topic, or so this web hosting novice thought. So I went through countless of sites in search of the answer and came up with a list of Web Hosting Operating Systems to choose from. Whereupon I concluded that there really wasn’t a system that would prove ‘best’ for all. It was, for the most part, simply a matter of needs, and of course, of preference, both from the web host’s and the web master’s points of view.

That takes care of that! Right? Well, not quite. I realized, in the course of my research, that from this list, another ‘list’ begged to be made. A list, that seemed necessary if one were to make an informed choice when it comes to operating systems.

This list, of course, is that of the many Unix ‘flavors’ available in the market. Unless you’re an expert, or simply a fanatic, chances are the concept of Unix having ‘flavors’ came as a surprise. Who knew flavors could apply to things other than ice cream, or food for that matter?

So what exactly is a Unix flavor?

this blog  defines it as an implementation of Unix, with each flavor, designed to work with different types of hardware, and having its own unique commands or features. The UGU site provides one of the more comprehensive lists of Unix flavors, but for those who don’t feel like going though all those links, below is an overview of the more popular ones.

Flavors that are available commercially (read: sold) include:

Solaris – Sun Microsystems’ implementation, of which there are different kinds available: these are Solaris OS for SPARC platforms, Solaris OS for x86 platforms, and Trusted Solaris for both SPARC & x86 platforms; the latest version is Solaris 10 OS

AIX – short for Advanced Interactive eXecutive; IBM’s implementation, the latest release of which, is the AIX 5L version 5.2.

SCO UnixWare and OpenServer – are implementations derived from the original AT&T Unix® source code acquired by the Santa Cruz Operation Inc. from Novell, and later on bought by Caldera Systems; the latest versions are UnixWare 7.1.3 and OpenServer 5.0.7

BSD/OS – the Berkeley Software Distribution (BSD) Unix implementation from Wind River; its latest version is the BSD/OS 5.1 Internet Server Edition

IRIX – the proprietary version of Unix from Silicon Graphics Inc.; the latest release of which is IRIX 6.5

HP-UX – short for Hewlett-Packard UniX; the latest version is the HP-UX 11i

Tru64 UNIX – the Unix operating environment for HP AlphaServer systems; Tru64 UNIX v5.1B-1 is the latest version

Mac OS – Mac operating system from Apple Computer Inc. having a Unix core; the latest version is the Mac OS X Panther

Flavors that are available for free, include:

FreeBSD – derived from BSD, it is an advanced OS for x86 compatible AMD64, Alpha, IA-64, PC-98 and UltraSPARC® architectures; the latest versions are FreeBSD 5.2.1 (New Technology Release) and the FreeBSD 4.9 (Production Release)

NetBSDUnix-like OS derived from BSD and developed by The NetBSD Project; it is shipped under a BSD license and the latest release is NetBSD 1.6.2

OpenBSD – multi-platform 4.4BSD-based Unix-like OS from The OpenBSD project; its latest release is OpenBSD 3.4

Linux — a Unix-type OS originally created by Linus Torvalds, the source code of which is available freely and open for development under GNU General Public License; there are numerous Linux distributions available

A more detailed discussion of these flavors will be provided in future postings, so do come back soon.

NOTES:

Free in this case means that the software is free (to use), but does not necessarily mean that users won’t shell out money to get their own copy(ies). Suppliers may charge a nominal fee for materials used to copy/distribute these (i.e. CDs) and for shipping (if applicable).

BSD license simply put means that users are allowed to develop products based on NetBSD without the changes having to be made public

Although Linux has traditionally been freely available, the ongoing case by SCO against IBM and the rest of the Linux community might change this. A more detailed posting will be made on this topic in the coming days.

Advertisements

Something about System Administrator


Classification of Systems:
Small sites have 1 – 10 machines, all running the same OS. Usually the administrator of a small site has only about 20 users. Usually there is only one administrator for a small site.Medium sites have up to 100 machines, and may be running up to 3 different OSs. The administrator usually has about 100 users. Medium sites may have more that one administrator, either specializing in different operating systems or sharing general system administrator duties.Large sites have over 100 computers, multiple operating systems, and over 100 users. At a large site, there will be a hierarchy of administration, with the lead or senior System Administrator responsible for all of the systems and assigning duties to one or more assistant administrators.
 

System Administration Skills:

System administration skills can be classified in four general levels. The links below discuss the required skills, desired skills, and responsibilities of each of those levels. Following the levels are some general thoughts on system administration in general.
Novice     Junior     Intermediate/advanced Senior 

Novice System Administrator:

* Required skills:
@ Has strong inter-personal and communication skills: is capable of explaining simple procedures in writing or verbally; has good phone skills.
@ Is familiar with Unix and its commands/utilities at the user level. Can edit files using more than one editor. Uses at least two shells one of them being the Bourne shell.
@ Can perform standard file processing tasks; find, move, remove, redirection.

* Required background:
@ Two years of college or equivalent post-high school education or experience.

* Desirable:
@A degree or certificat in computer science or related field.
@ Previous experience in customer support, computer operations, system administration, or another related area.
@ Motivated to advance in the profession.

* Appropriate responsibilities:
@ Perform routine tasks under the direct supervision of a more experienced administrator.
@ Be the front-line interface for users; accepting problem reports and passing them to the appropriate system administrators.
@ Performs some security functions, especially monitoring the system

Junior System Administrator:

* Required skills:
@Has strong inter-personal and communication skills: capable of training users in applications and Unix fundamentals. Able to write basic system and user documentation.
@ High skill level with most Unix commands and utilities.
@ Familiar with most basic system administration tools and tasks. For example, can cleanly boot and shutdown the system, add and remove user accounts, use backup programs, perform fsck and maintain system database files (groups, hosts, aliases, etc.)
@ Fundamental understanding of the functioning of the Unix operating system: for example understands job control, hard and soft linking, the difference between shell programs and kernel programs.
@ Basic understanding of Unix security procedures

* Required background:
@ One to three years of system administration experience.

* Desirable:
@ Degree in CS or a related field.
@ Familiarity with networked/ distributed computing environments. For example: can use the route command, add a workstation to a network, or mount a remote filesystem.
@ Ability to write functional scripts in an administrative language (shell, Perl, Tk).
@ Some programming experience in an applicable language like C.

* Appropriate Responsibilities:
@ Administer a small site alone, or assist in the administration of a larger site.
@ Work under the general supervision of a more senior system administrator or computer systems manager.
@ Perform normal security procedures, able to advise users on standard security protocol.

Intermediate/Advanced System Administrator

* Required Skills
@ Has strong inter-personal and communication skills: capable of training users in complex topics, making presentations to internal groups. Able to write intricate system and user documentation. Capable of writing and explaining purchase justifications.
@ Independent problem solving; self-directed, self-starting.
@ Very comfortable with most aspects of the Unix operating system: paging/swapping, inter-process communication, devices and device driver fundamentals, file system concepts like inode and superblock.
@ Familiar with fundamental networking/distributed computing environments and concepts. Can configure NFS and NIS, use nslookup or research to check information in the DNS.
@ Ability to write detailed scripts in at least one, preferably two administrative lnaguages, (shell scripts, Perl, Tk).
@ Ability to perform at least minimal debugging and modification of C programs.
@ Ability to perform most security audits, and protect the system against intrusion.

* Required Background:
@ Three to five years of system administration experience.

* Desirable:
@ At least a BS in Computer Science or a related field.
@ Significant programming background in any applicable language.

* Appropriate Responsibilities:
@ Receive general instructions for new duties from supervisor.
@ Administers a mid-size site alone, or assists in administration of a larger site.
@ Initiates some new responsibilities and helps plan for the future of the site and network.
@ Manages novice system administrators or operators.
@ Evaluates and/or recommends purchases; has strong influence on the purchasing process.
@ Serves as the first line of defense against intrusion and inadvertent system damage.

Senior System Administrator:

* Required Skills
@ Strong inter-personal and communication skills; capable of writing proposals and papers, acting as a vendor liaison, making presentations to customer/client audiences or making professional presentations, work closely with upper management.
@ Ability to solve problems quickly and completely.
@ Ability to identify tasks which should be automated and then write tools to automate them.
@ Solid understanding of the Unix based operations system: understands paging and swapping, interprocess communication, devices and device drivers, can perform system analysis and tuning.
@ Ability to program in at least one, preferably two administrative languages, (shell, Perl, Tk) and port C programs from one platform to another, write small C programs.
@ Solid understanding of networking/distributed computing environments, understanding the principals of routing, client/server programming, and the design of consistent network-wide filesystems.

* Required Background:
@ More than 5 years of previous system administration experience.

* Desirable:
@ A degree in CS or a related field. Advanced degree preferred.
@ Extensive programming experience in an applicable language.
@ Publications within the field of system administration.

* Appropriate Responsibilities:
@ Design/implement complex local and wide-area networks of machines.
@ Manages a large site or network.
@ Works under general direction of senior management.
@ Establishes/recommends policies and procedures for system use and services.
@ Provides the technical lead and/or supervision for system administrators, system programmers, or others.
@ Has purchasing authority and responsibility for purchase justification.

Finally, some important thoughts for system Administrators:
-> Never do something you can’t undo.
-> Always check the backups, never assume they are working. Make sure you can restore from them, too.
->Write down what you did, even if you know you will never forget it, you will.
-> If you do it more than once, write a script.
-> Get to know your users before there is a problem, then when there is, they will know who you are and maybe have a little understanding.
-> Remember you are performing a service for your users, you don’t own the system, you just get to play with it.
-> Check your backups.
-> Never stop learning, there is always something you should know to make your job easier and your system more stable and secure.
-> Check your backups, again.

%d bloggers like this: