Category Archives: Linux Introduction

Introduction about the Linux technolgy.

Understanding Linux configuration files

Top 5 Best Linux Text Editors

Vi / Vim Editor

Vim won by a huge margin and I don’t think this is surprise to anybody. If you are new to any of the Linux text editors listed in the top 5, read the rest of the article to understand little bit more about those editors.

Image                                       Favorite Linux Text Editor Voting Results


1. Vim Editor


Home Page:
Author: Bram Moolenaar
Latest Stable Version: Vim 7.2
Written in: C and Vim script
Operating System: Cross-platform (Unix, Linux and Windows)
Read more about Vim Editor at Wikipedia


2. gEdit Editor


gedit is the default text editor for the GNOME desktop environment. This is a UTF-8 compatible text editor.
Home Page:
Latest Stable Release: 2.26.2
Written in: C, Python
Operating System: Cross-platform


  3. Nano Editor


Home Page:
Latest Stable Release: 2.0.9
Read more about Nano editor
Read more about gEdit at Wikipedia


4. gVim Editor

Home Page:
gVim is the graphical version of the famous Vim editor


5. Emacs Editor


Home Page:
Current Stable Release: 22.3
First Release of Emacs was in the year 1976
Written in C and Emacs lisp
Operating System: Cross-platform
Read more about Emacs Editor at Wikipedia


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.

Linux and OSS

Linux also pronounced is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds. Linux system distributions may vary in many details of system operation, configuration, and software package selections.

Linus Torvalds.
Linux runs on a wide variety of computer hardware, including mobile phones, tablet computers, network routers, televisions, video game consoles, desktop computers, mainframes and supercomputers. Linux is a leading server operating system, and runs the 10 fastest supercomputers in the world. In addition, more than 90% of today’s supercomputers run some variant of Linux.
Some popular mainstream Linux distributions include Debian (and its derivatives such as Ubuntu), Fedora and openSUSE.
The main supporting user space system tools and libraries from the GNU Project (announced in 1983 by Richard Stallman) are the basis for the Free Software Foundation‘s preferred name GNU/Linux..

The Unix operating system was conceived and implemented in 1969 at AT&T’s Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna. It was first released in 1971 and was initially entirely written in assembly language, a common practice at the time. Later, in a key pioneering approach in 1973, Unix was re-written in the programming language C by Dennis Ritchie (with exceptions to the kernel and I/O). The availability of an operating system written in a high-level language allowed easier portability to different computer platforms. With a legal glitch forcing AT&T to license the operating system’s source code to anyone who asked, Unix quickly grew and became widely adopted by academic institutions and businesses. In 1984, AT&T divested itself of Bell Labs. Free of the legal glitch requiring free licensing, Bell Labs began selling Unix as a proprietary product.

GNU(GNU’s Not Unix!)

The GNU Project, started in 1983 by Richard Stallman, had the goal of creating a “complete Unix-compatible software system” composed entirely of free software. Work began in 1984.[23] Later, in 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries, compilers, text editors, a Unix shell, and a windowing system) were completed, although low-level elements such as device drivers, daemons, and the kernel were stalled and incomplete. Linus Torvalds has said that if the GNU kernel had been available at the time (1991), he would not have decided to write his own

%d bloggers like this: