What Makes Unix a Unique Operating System?


Unix is ​​an "ideal" operating system that has been developed by many different vendors over the past years. There are many different Unix systems that differ in functionality, external look and feel, licensing model and other non standard features, developed by these different vendors. Few examples are Linux distributions, BSD systems, Sun / Oracle Solaris or Apple OS X. However, there are number of features that are common to all Unix and Unix-like systems. Unix systems have a hierarchical file system that allows relative and absolute file path naming. These file systems can be mounted locally or remotely from file server. All operations on file systems are carried by processes, which may spawn child processes to perform discrete tasks. All processes can by identified by their unique process ID (PID).

Unix systems have core kernel which is responsible for managing core system operations, such as logical devices for input / output (/ dev / pty for example) and allocating resources to user and system services.

Originally designed as a text-processing system, Unix systems share many tools that manipulate and filter text in various ways. In addition, small utilities can be easily combined to form complete applications in rather sophisticated ways. Output from one application can be redirected to a file or another application. Combining applications with redirects allows creation of simple or more complex scripts that are capable of performing complicated and automated operations on text and files. These applications and scripts are executed from a user shell, which defines the user interface to the kernel.

Unix is ​​multiprocess, multiuser, and multi-threaded system. This means that more than one user can execute a shell and applications concurrently, and that each user can execute applications concurrently from within a single shell. Each of these applications can then create and remove lightweight processes as required. Because Unix was created by active developers, rather than operating system administrators, it is best suited to fit programmers needs.

Below are some common features to typical Unix applications following Unix principles.

  • Programs are small, self-contained, typically build to perform single task. If a new task needs to be resolved a few program is usually developed or existing programs are combined into a script.
  • Programs accept data from standard input and write to standard input, and in return they can be chained to process each others output sequentially. Programs are non interactive, instead they present a wide range of command line options, that specify performed action. These ideas are consistent with the concept of piping, which is still fundamental to the operation of user shells. For example, the output of the ls command to list all files in a directory can be "piped" using the | symbol to a program such as grep to perform pattern matching. The number of pipes on a single command-line instruction is not limited.
  • If some software does not work properly anew one is usually developed within weeks or sometimes days.

This list is not exhaustive explanation of what is the Unix system. It is rather a guide to understand what makes Unix an exceptional operating system.


Source by Tim P Johnson

How to Virtualize Red Hat and CentOS Linux Physical Server Into VMware VSphere ESX Servers


Converting Red Hat and CentOS Linux physical server into VMware VSphere ESX servers is not an easy task as compare to MS Windows. It is even harder is you have older version of Red Hat such as 7.2 or Linux box with software raid.

I had successfully converted a few unit of Red Hat 7.2. and software-raid Linux box for past few years. The process of P2V migration needs some extra efforts and its challenging process. You might faced all sorts of issues after P2V migration such as Kernel Panic or even worst is the Linux OS can not be booted up due to no virtual hard disk is found.

Hot Cloning using VMware tools to be used for the conversion task:

  • VMware ESXi 4.0.0 or ESX 4.0.0
  • VMware Converter Standalone 4.0.1

From experience this are the best tool to be used for P2V migration. I faced lots of issue using ESX 4.1.x and force to downgraded for the migration process. Worst case scenario if hot cloning is not working then the only method- cold cloning method using Clonzilla will help you in most of the Linux-disto cloning. Let's assume that you had perform the migration successfully completed without error. The next challenge is to get Red Hat or CentOS Linux to boot up.

  1. You have to choose the correct Disk Controller either is BusLogic Parallel or LSI Logic Parallel from Vmware Image setting. This is important process, else your Linux will never find your virtual hardisk.
  2. Boot from System Rescue and chroot to your / mnt / sysimage.
  3. Add in disk controller into /etc/modules.conf and remove any raid setting.
  4. Recompile kernel and Reinstall grub
  5. Edit the / etc / fstab and /etc/grub.conf to change all the hda to sda so that it can be mounted properly when system boot
  6. Once system booted correctly, run Kudzu to re-initialization
  7. install vmware tools

The steps above all the necessary steps for migrating physical server into VMware VSphere ESX servers. There are however, plenty of codes and extra configuration needs to be done.


Source by James Edward Lee

Monitoring Var Log Messages in Linux – Monitor Your Log Files Effectively


Monitoring var log messages file: Do you wish to monitor the / var / log / messages file on your Linux servers?

What exactly does it mean to monitor the / var / log / messages file on a Linux server? You see, there are various errors and incidents that many Linux users may want to watch for in their var log messages file. And while a simple tail and grep can isolate those wanted messages very quickly and easily, there often comes a time when something more sophisticated is needed. Something that is more controllable.

Say for instance there's a crisis at your job (like a server crash) and you need to quickly LOOK at the system log files for certain errors or messages that will inform you of what happened. What would you do in that situation? You're already frantic. How many tails and greps are you going to run before you go insane?

What if there's a log monitoring command you can run that will grab out the information you need based on a time-frame?

Say you had a server crash and the higher-ups at your job are breathing down your neck for answers concerning why the server went down.

In that case, you can run over to the / var / log / messages file (or any UNIX system log file) and run a command like the one below where you can choose to pull out all lines from the log file that has the strings "error" and "panic" in them, and that occurred within the past 60 minutes. The 60 minute time-frame can of course be adjusted to fit whatever time period you need to grab.

Syntax: logrobot (log-file) (minutes-to-search) (string-to-search1) (string-to-search2) (action) (warning) (critical).

Example: logrobot / var / log / messages 60 'error' 'panic' -show 5 10

This simple line of code will save you a lot of headaches and in some cases, it will also save you your job.


Source by Jonathan Rayson

Using the Linux Ls Command to See Linux File "Patterns" – Linux Commands Training Quick Tips


The [pattern] Part of a Linux Command

The Linux [pattern] (aka Linux shell pattern) part of a Linux command is a combination of letters and wildcard characters that are used with Linux commands to view information about Linux directories and files.

The Linux [pattern] of a Linux command does not work the same with all commands.

Linux ls Command Examples Showing Linux Command Patterns for Linux Files and Directories

The Linux commands examples that are shown below will help you to understand how a "file (or directory) matching pattern" can be used with a Linux command.

The Linux commands below will work in most Linux distributions, however, some of the Linux ls commands below may not show any Linux files in the output, depending on your Linux distribution.

The [pattern] component of a command is used to represent a file matching "pattern". It can be one or more letters, numbers or other characters and may include the * (asterisk) and? (Question mark) wildcard characters.

A [pattern] can be the name of an item (directory or file) or part of the name of an item (plus wildcard characters).

A [path] to a directory can precede a [pattern] (as shown in the second Linux command example shown below).

When a [path] is not used with a command, the command will typically display output based on the files in the current directory (as shown in the first Linux command example below).

The Linux ls command below uses the pattern of * (a single asterisk) to show all files in the current directory (and if you're working as a "regular" user and you're in your home directory, there may not be any files or directories that appear).

    $ Ls -l *

The ls command below uses the path and pattern of "/ etc / hos *" to show all files in the etc directory that begin with "hos". The [path] is / etc and the [pattern] is "hos *" (which uses the * wildcard character in the pattern).

    $ Ls -l / etc / host *

The suffix (aka filename extension, extension) in the name of an item is the far right. (Dot) and characters at the right of the. (Dot).

For example, in the directory named rc.d, the ".d" is the suffix of the directory and in the file named speedbar.gz, the ".gz" is the suffix of the file.

In the Linux ls command example below, the path and pattern is "/etc/*.cfg" and path is "/ etc" and the pattern is "* .cfg". This Linux command shows a listing of all files that end in ".cfg" in the etc directory, which is below the root directory.

    $ Ls -l /etc/*.cfg

In the ls command example below, the? wildcard character is used to represent any single character in the pattern of "host?" to show only files with a single character at the right of "host".

    $ Ls -l / etc / host?

The Linux concepts and commands discussed above apply to Red Hat, Debian, Slackware, Ubuntu, Fedora, SUSE and openSUSE Linux – and also ALL Linux distributions.


Source by Clyde E. Boom

How to Choose the Right Linux VPS Plan


Linux VPS plans are an excellent choice for website owners or administrators who wish to benefit from the flexibility and infrastructure of private servers, but the cost effectiveness of shared hosting. A profitable combination between shared hosting and dedicated servers, Linux VPS hosting allow users to run all popular distributions, from Ubuntu and CentOS to Fedora and Debian. Since virtual private servers have become such a popular choice these days, there are now plenty of providers available and countless possible plans for users to select from, which is why it is important to research your options properly before committing to a plan, as well as to a certain provider. Fortunately, the Internet comes as a great help, as there are numerous resources available on the subject and you can read invaluable information with regard to Linux virtual private servers online. An informed decision is the best decision, but there are also particular factors that need to be taken into account when choosing your hosting plan.

No matter how promising an ad or deal may appear, before choosing or subscribing to a Linux VPS hosting plan from any provider, you need to accurately assess your needs. If you are running a static website, then your memory needs and storage use should not be as high as if you were running, let's say, a database driven website, in which case you should also consider a higher value of premium traffic. There are also different packages and plans for WordPress blogs and Magento systems, in accordance to particular necessities of this type of websites, so if you have this kind of site look for providers that offer special packaging for it. As far as RAM memory goes, you will be able to find virtual private servers hosting plans that vary from 256MB to 8192MB, so there is no lack of alternatives. You just need, as mentioned above, to assess your requirements and needs accurately, in order to make the most suitable choice. The rraffic amount also varies significantly and you will be able to find plans that offer 250GB of premium traffic and others that give you 4TB of premium traffic.

Apart from the type of website you are running and your traffic needs, another factor that you should take into consideration when choosing the right Linux VPS hosting plan is value for money. Since there now are so many providers that offer this service, the competition between them is fierce and with a thorough research, you will be able to find a reasonable offer for what you need. Truthfully, you might come across attractive packages that provide great storage space, high amounts of premium traffic, proper CPU power and excellent RAM size, but the asking price may be way above the market value or simply above what you can afford. Take your time and compare providers and plans as well and you will certainly find a hosting plan that gives you best value for money.


Source by Groshan Fabiola

Linux Fdisk, Parted and Disk Druid Hard Disk Partitioning in Red Hat Linux – Linux Commands Training


Using the Linux fdisk and parted Commands / Utilities

The main Linux partitioning utility is fdisk, which is run with the fdisk command. Virtually every Linux distribution includes fdisk command / utility.

Some Linux distributions also include a utility called "parted" (GNU Parted – partition editor). And the parted utility is run by simply typing running the parted command.

For basic Linux partitioning tasks, use the fdisk command / utility.

However, to do more advanced Linux partitioning tasks, like resizing a partition or copying a partition, use the parted utility.

If you run the Linux parted command and this utility does not start, you can download the parted program and install it for your Linux distribution.

Some Linux distributions also use other partitioning utilities, particularly during their (own) installation routines.

The "Disk Druid" Hard Disk Partitioning GUI Utility Used By the Red Hat and Fedora

The installation routine of Red Hat (and Fedora Linux) allows you to use a partitioning tool called Disk Druid to partition your hard disk (s).

Disk Druid is actually a GUI interface (front end) for the parted utility. When you do a task with Disk Druid, such as create a partition, the parted utility is actually used "in the background" to accomplish the partitioning task.

Linux Commands Training Tips: Red Hat Linux is very expensive and Fedora is Free! Red Hat sponsors the creation of Fedora as a "test bed" for features to be added to Red Hat Linux.

So, download Fedora or have it mailed to you very inexpensively – if you specifically need to learn how to use Red Hat.
From a "learning Linux for System Administration perspective", the Red Hat Linux and Fedora Linux distributions are virtually identical.

The options available on the "Disk Setup" screen (of Disk Druid in the Red Hat installation routine) do not currently utilize all of the capabilities of the parted utility.

For example, the parted utility can be run at the Linux command line (by simply typing in parted and pressing Enter) to resize (increase or decrease) the size of a Linux partition and you can not do this with Disk Druid (from within the Red hat installation routine).

The Linux hard disk partitioning concepts and commands covered here apply to: Red Hat Linux and Fedora Linux for fdisk, parted and Disk Druid – and also apply to Ubuntu, Slackware, Debian and other Linux distributions for fdisk and parted.


Source by Clyde E. Boom