Search This Blog

Showing posts with label Linux OS. Show all posts
Showing posts with label Linux OS. Show all posts
Tuesday, 16 August 2022

Introduction to Linux OS

0 comments

Linux Operating System

In 1969, Thompson and Ritchie designed and built an OS having an elegant file system, a command interpreter (called shell), and a set of utilities.  In 1973, they rewrote the entire system in C - a high level programming language that was invented by Ritchie himself.
 
The University of California, Berkley (UCB) created a UNIX of its own and was named BSD UNIX (Berkley Software Distribution  UNIX).  These versions became popular worldwide, especially in universities and engineering circles.
 
Sun used the BSD system as a foundation for developing their own brand of UNIX and named it SunOS.  Today, their version of UNIX is known as Sun Solaris.  Similarly, there are other flavors of UNIX developed over a period of time: IBM's AIX, HP-UX, DEC's Digital UNIX and Tru64 UNIX.  Then the Linux wave arrived and most of these vendors are offering Linux too.  Today, most supercomputers run UNIX, and handheld devices are using Linux.

Linux - A Successor of Unix:

Linux was developed having UNIX as a reference model. Therefore, the basic architecture and features of Linux and UNIX are the same. In fact, Linux is also considered as another version of UNIX. The main difference between Linux and UNIX is that Linux is free and open source.  However, various distributors of Linux can charge a price for Linux. In addition, Linux doesn’t involve any licensing issues. 
 
Linux is licensed under the GNU General Public License. This licensing policy states that a person can make any number of copies of software and distribute it freely, or charge a price for it. We can also download Linux free of cost from the Internet. 

Linux and GNU

Although, UNIX finally turned commercial, Richard Stallman and Linux Torvalds (father of Linux) wanted to develop and distribute a free version of UNIX.  Stallman is the founder of Free Software Foundation, formerly known as GNU - a recursive acronym for "GNU's Not Unix."  Many of the important Linux tools were written and supported free by GNU. 

Linux is distributed under the GNU General Public License, which makes it mandatory for developers and sellers to make the source code public.  The most popular GNU/Linux flavors are: RedHat, Caldera, SuSE, Debian and Mandrake.  Linux is particularly strong in networking and cost-effective in setting up an Internet Server or a local internet.

Linux has development tools, such as C, C++, FORTRAN, Pascal and scripting languages such as awk, Perl and Python.  Many of these scripting languages are free of cost.  Moreover, Web Servers (such as Apache) and Web Browsers (such as Netscape) provide their versions that are compatible with Linux, free of cost.

Linux - An Open Source OS:

Linux was developed as a cooperative effort over the Internet, so no company or institution controls Linux. Software developed for Linux reflects this background. Development often takes place when Linux users decide to work on a project together. When completed, the software is posted at an Internet site, and any Linux user can then access the site and download the software.

The potential for Linux-based software is explosive. Linux software development  always takes place in an Internet environment and it is global in scope, enlisting programmers from around the world. The only thing we need to start a Linux-based software project is a web site.

Most Linux software is developed as open source software. This means that the source code for an application is freely distributed along with the application. Programmers over the internet can make their worn contributions to a software’s development, modifying and correcting the source code.

 

 

Continue reading →
Wednesday, 14 May 2014

Installing LAMP Server on Ubuntu

0 comments

Installing LAMP & phpMyAdmin

Installing LAMP on your computer can be incredibly easy or kinda hard.  It just depends if you are a glutton for punishment or not.  Fortunately, most of us like to do things that are both quick and efficient and I am no different.  So the method I will use to install LAMP is going to be the painless one.
Start by opening a terminal.  I like to use the [CTRL][ALT][T] key stroke to do this.  Once the terminal opens type in the command sudo apt-get install lamp-server^.  Please note the caret (^) at the end of the command.  It is required.
At this point you will be prompted to download the packages required by your request.  Enter y, and press enter.
When the packages are downloaded and the installation starts you will be asked for a MySQL root user password, and then asked to type it again.  This is the password for the root account of the MySQL server program.  This password is very important and must be remembered.  If you have to write it down to keep from forgetting it, remember to keep it in a safe place.
When the software installation has completed we can test that everything is good to go by opening up the web browser and typing http://localhost into the address bar.
[Additional Information]
For those of you who have installed programs on Ubuntu using the terminal may be asking what is the deal with the caret (^) at the end of the command.  Well, what you are seeing here is a clever little shortcut to install all the packages we need in one fell swoop.  The lamp-server^ allows the apt-get program to perform a task that the program Tasksel would do.  Tasksel is the program that the installer of Ubuntu Server runs to allow you to select bundles of server software.  This allows us to do the same thing without having to separately install the Tasksel program.

Installing phpMyAdmin

The program phpMyAdmin is a web application that will allow you to work with the MySQL server from a web based interface.  It is convenient to have installed if your a developer and allows you to create databases, do queries, create users and a myriad of other handy things.  Although this is not specifically required to develop Joomla! 2.5 extensions, its inclusion does make life just a little bit better.
To install phpmyadmin, enter the command sudo apt-get install phpmyadmin in your terminal.  Apt-get will notify you of the packages that need installed and ask you if you want to continue, enter y and press enter.
Once the packages are downloaded and the install starts, it will ask you to choose the web server that should be automatically configured to run phpMyAdmin.  Press the space bar to select apache2, then press the tab key until <Ok> is highlighted and press the enter key.
Next, phpMyadmin informs you that a database needs to be installed and configured before it can be used.  It asks if you want to allow it to create this database using the script dbconfig-common.  Select yes and press the enter key.
Next, phpMyAdmin asks you for the database administrator user's password.  This is the root password we created for MySQL in step 1.  Enter that password in this box and press tab to highlight<Ok> and press the enter key.
Next, phpMyAdmin asks for a password that will be used to communicate with the database server.  Again, you can enter anything you like here but you will want to remember it.  I use the same password that I entered for the root user in step one.  Press tab to highlight <Ok> and press the enter key. PhpMyAdmin asks you to re-enter the password you just created.  Enter the password again, then press tab to highlight <Ok> and press the enter key.
Finally, phpMyAdmin has been installed.  To test our work, open your browser up and enter http://localhost/phpmyadmin in the address bar and press enter.  If all worked well, you will be presented with the phpMyAdmin login screen.  Enter the user name of root and the password you created in step 1 above.  You should now be logged into phpMyAdmin.  All is good.
Continue reading →
Tuesday, 4 October 2011

Overview of Linux Operating System

1 comments
OVERVIEW OF LINUX!

Like UNIX, Linux can be generally divided into three major components: the kernel, the environment, and the file structure. The kernel is the core program that runs programs and manages hardware devices, such as disks and printers. The environment provides an interface for the users. It receives commands from the user and sends those commands to the kernel for execution.


An environment acts an interface between the kernel and the user. It can be considered as an interpreter, because it interprets commands entered by the user and sends them to the kernel. Linux provides several kinds of environments: desktops, window managers, and command line shells.

The file structure organizes the way files are stored on a storage device, such as a disk. Files are organized into directories. Each directory may contain any number of sub directories, each holding files. Together, the kernel, the environment, and the file structure form the basic operating system structure. With these three, we can run programs, manage files, and interact with the system.

Advantages of Linux OS:

Linux is a fully functional UNIX OS. It has all the standard features of a powerful UNIX OS, including a complete set of UNIX shells such as bash, tcsh, and the Z shell.  Those familiar with the UNIX interface can use any of these shell, with the same UNIX commands, filters, and configuration features.

For the Internet, Linux has become a platform for very powerful Internet applications. With Linux, we can create our own Web, FTP, and Gopher sites.  Other users can access our Linux system, several at the same time, using different services.

Using Linux, we can control access, set up network connections, and install new devices.  Linux includes very powerful and easy-to-use, window-and Web-based configuration utilities like Lunuxconf and Webmin, which can be used to perform system administrative tasks such as installing printers, adding users, and establishing new network connections.

A wide array of applications operate on Linux.  Many personal versions of commercial applications such as WordPerfect and the Sybase database are available for Linux free of charge.  We can download them directly from the Internet.  Moreover, a massive amount of software is available at online Linux sites where we can down them and install them onto a Linux system.

Types of Linux Environment (UI):

Each user on a Linux system can have his (or her) own user interface.  Users can tailor their environments to their own special needs, whether they be shells, window managers, or desktops.  The shell interface is simple and usually consists of a prompt at which the users type a command, and then press ENTER. Over the years, several different kinds of shells have been developed and, currently, three major shells exist: Bourne, Korn and C shell.  Among these three, the C shell was developed for the BSD version of UNIX.

As an alternative to a command line interface, Linux provides two different versions of GUI - desktop and window manager.  A desktop provides a complete GUI, much like Windows and the MAC.  A window manager, on the other hand, is a reduced version of desktop, supporting only window operation, but it still enables the user to run any application.

In desktop environment, we have desktops, icons, and menus, all managed through mouse controls. Currently, two different desktops are freely available and both are included with most distributions of Linux: Gnome and KDE. With these two desktops - K Desktop Environment (KDE) and GNU Network Object Model Environment (GNOME), Linux now has a completely integrated GUI interface. We can perform all our Linux operations entirely from either interface.

Features of KDE and GNOME:

KDE and GNOME are fully operational desktops supporting drag-and-drop operations, enabling the user to drag icons to the desktop and to set up menus on an Application panel. Both rely on an underlying X Windows system, which means as long as they are both installed on a system, application from one can run on the other desktop.

We can run KDE programs like KDE mailer or the newsreader on the Gnome desktop. Gnome applications like the Gftp - FTP client can run on the KDE desktop.  We can even switch file managers running the KDE file manager on Gnome.  The major difference between these two desktops is that the K desktop has a complete set of Internet tools, along with editors, graphics, multimedia, and system applications, but Gnome has slightly fewer applications.

A great deal of Linux software is currently available from online sources.  We can download applications for desktops, Internet servers, Office suites, programming packages, among others. Software packages are distributed either in compressed archives or in RPM packages.  RPM packages are those archived using the Red Hat Package Manager. Compressed archives have an extension such as .tar.gz or .tar.Z, whereas RPM packages have an .rpm extension.

Samba and Apache:

The name Samba is derived from the Server Message Block protocol or SMB.  SMB is the protocol used by Microsoft OS to share files and printers.  Samba is a suite of programs that implement the SMB protocol on Linux.

Using Samba, we can share machines running Windows 95, Windows 98 or Windows NT with our Linux machine.  Not only files, but also printers managed by Windows OS can be shared with Linux through SMB.
 
Linux OS comes with a web server named Apache.  A Web server enables its users to access resources on a Wide Area Network or the Internet.  It is considered as a process that runs on the OS and enables users to access resources that have been published in the form of web pages.

For example, when the user enters the address of a web site, say www.apache.org, in a web browser, the Apache Web Server sends the home page of the web site to the client machine. Generally, a Web Server is referred to as a computer that delivers web pages.
 
 Click here to attend a Quiz on the basics of Linux.
Continue reading →

Evolution of Linux Operating System

0 comments
The Genesis of Linux OS

In 1969, Ken Thompson and Dennis Ritchie developed a small, general-purpose Operating System called UNIX. Traditionally, all operating systems were written in the assembly language and so was UNIX. In 1973, Thompson and Ritchie rewrote the UNIX OS in C. In 1974, UNIX was licensed to universities for educational purposes and made commercially available later.

Many vendors, such as Sun, IBM, and Hewlett-Packard, purchased the source code of UNIX and developed their own version of UNIX. Most of these versions were proprietary and maintained by their respective hardware vendors. The source code of these versions were not freely available, so the developers had to wait for a long time for the release of bug fixes.

In 1984, Richard Stallman’s Free Software Foundation (FSF) began the GNU (GNU’s Not UNIX) project to create a free version of the UNIX OS. By 1990, the FSF developed a number of tools for an OS like Unix but the kernel was still not created. The software tools developed by FSF were freely available along with the source code for analysis, modification and redistribution.

In 1991, Linus Torvalds developed a kernel and called it Linux. In 1992, the Linux kernel was combined with the incomplete GNU system to form a completely free OS. This OS is called GNU/Linux because it is a combination of GNU and Linux. The GNU/Linux OS is commonly referred to as the Linux OS.

There are several distributors of Linux. All the distributors use the Linux kernel. Some of the distributors of Linux are given below:

Distributor Name
Web Site
Red Hat
Caldera
Mandrake
Debian
SuSE
Slackware
Table: Distributors of Linux

The Structure of Linux OS:

Linux follows the open development model. Therefore, the current development version of Linux is always open to users. Users can suggest modifications to the kernel code. When a new version of Linux is released, users can work on the new version to fix bugs, if any.

To maintain stability, Linus Torvalds ensures strict quality control and then merges all the new code into the kernel. This is in contrast to a closed model in which a project team develops a particular software version and waits before users can work on software and report bugs. The project team then fixes the bugs and releases a new version.

Linux has an official mascot – the Linux penguin – called Tux. Moreover, Linux has its own free software tools - text editors, browsers, and programming tools. The GNU/Linux OS consists of a kernel, a shell, utilities and application programs as shown in the below figure:


Fig. : Components of the Linux OS

Linux Kernel:

The core of the Linux system is the kernel, which controls the resources of a computer, allocating them to different users and tasks.   It interacts directly with the hardware, making programs easy to write and portable across different hardware platforms.  However, the user doesn’t interact directly with a kernel. Instead, the logon process initiates a separate, interactive program called the shell for each user.

Linux has a simple user interface called shell.   The shell provides services to its users.  Users interact with the computer by using the shell.  They need not know about the intricate details of the hardware.  Some of the common shells in Linux are bash, sh, tcsh, csh and ksh.

Linux Utilities and Application Programs:

Linux utilities or commands are a collection of programs that service processing requirements. These programs can be started by using the shell. In addition to the utilities that are part of the Linux OS, many Linux-based application programs, such as Database Management Systems and Word Processors are available from independent vendors.

Features of Linux OS:

Linux is an Operating System for PC computers and workstations that now features a fully functional Graphical User Interface (GUI) just like Windows and the MAC OS. Linux is a PC version of the UNIX OS that has been used for decades on mainframes and minicomputers, and is currently the system of choice for workstations.

Linux brings the speed, efficiently, and flexibility of UNIX to our PC, taking advantage of all the capabilities those personal computers can now provide. Along with its UNIX capabilities, come powerful networking features, including support for Internet, intranets, Windows, and AppleTalk networking.  As a standard, Linux is distributed with fast, efficient, and stable Internet servers, such as the Web, FTP and Gopher servers, along with the domain name, proxy, news, mail and indexing servers.

Some of the other features of Linux OS are Multi programming, Time-sharing, Multitasking and Free Licensing. Linux allows several programs to be executed simultaneously by its users.  This feature is called Multi programming. Multiprogramming is possible on Linux through time-sharing.

In time-sharing, the OS has to manager various programs simultaneously. Programs are queued, and CPU time is shared among programs. Each program receives the CPU time for a specific period and is then replaced in the queue.

Every program is broken down into tasks, such as reading from or writing to the disk or waiting for input from a user.  The ability of any OS to handle the execution of multiple tasks is known as multitasking.  When a task is waiting for the completion of another task, the CPU instead of wasting its time in waiting, starts executing the next task.  Therefore, while one task is waiting for input from the user, another task could be reading from the hard disk.  This process of scheduling multiple tasks to a single CPU is taken care by the kernel.


Continue reading →