Debian GNU/Linux Introduction Class 1

Debian Linux Evolution.Introduction to GNU-Linux.  Linux Environment in Princess Marina Hospital; Servers, services and workstations.

This post is part of a bigger Debian material that you can access here.

Even when this GNU/Linux Debian classes are for Information Technology personnel if you are starting you might have a lot of question.

What is Debian? What is Linux? What is GNU? What is Debian GNU/Linux? what is a Distrubution? A Kernel? Are they all the same? Is Linus Torvalds the author of every thing?
Not intending to answer all of them I will just quote some clever guys from out there.
Content:

The Kernel

 

Kernel

Kernel

“A kernel is the central part of an operating system. It manages the tasks of the computer and the hardware -most notably memory and CPU time. There are two types of kernels:

  1. A microkernel, which only contains basic functionality;
  2. A monolithic kernel, which contains many drivers [Linux].
A computer user never interacts directly with the kernel. It runs behind the scenes and cannot be seen, except for the text logs that it prints.”
Taken from: http://simple.wikipedia.org/wiki/Kernel_%28computer_science%29 on 2014-02-12
Nice and simple, so the kernel is the middle man between me and the computer hardware.

Linux – GNU/Linux

  • “Many Linux users are familiar with Linux being called “GNU/Linux”. This means something special. “GNU” refers to the userland and “Linux” refers to the kernel. Now, you may be wondering if these two components can be swapped. Yes, they can.
  • For example, in the beginning of Linux’s history, the GNU community had no kernel at the time and Linux was just a kernel. So, they put the two projects together. Today, the GNU community has a kernel called “Hurd”.
  • They then swapped the Linux kernel with the Hurd kernel to make “GNU/Hurd” systems. For instance, Arch exists as “GNU/Linux” and “GNU/Hurd”.
  • Not only do various userland and kernel combinations exist, there are different Linux kernels. Also, Linux is not the only perating system with a module (obvious, right?).”
Taken from: http://www.linux.org/threads/the-linux-kernel-types-of-kernels.5409/ on 2014/02/11.
Evolution Of Linux

Evolution Of Linux

The fist bullet is very important where he says that a lot of Linux users are aware that the term GNU/Linux.That GNU is the part of the Operating System (OS) that does the direct work with the user (understand that user does not mean only someone who is using a computer). Then Linux refers to the kernel only, that is the part of the OS that interacts with the hardware.

So basically they have joined GNU and Linux and created GNU/Linux. Of course afterwards both projects have evolved and improved their different components. And an other incredible thing that happened was that when people saw that they could take the Software modify it and create their own new code and make it available again, more and more people started to cooperate to create their own versions of GNU/Linux or to contribute to existing ones. Check out the picture to get a rough idea of what I am talking about.

 

This next picture is a summary of only the most important GNU/Linux distributions created after the code was released for free. What happened at that time was that some distribution appeared and they evolved to our days becoming better and better and better. Also in important to remark that every time that someone does a good contribution this code is free (generally) and it is incorporated again in other distributions making every generally better or at least more updated with the latest free software.

Linux distribution time-line evolution

Linux distribution time-line evolution

The main branches on this graphic are Red Hat from 1994 with child distributions like Mandrake, PCLinux, CentOS, Mandriva, Fedora Core and some other important distributions. Also we have Suse Linux also from 1994 made by Novel Enterprices. An other of the important branches id Debian, it was started back on 1993, for more information read the following paragraph taken from Debian’s project website.

“The Debian Project was officially founded by Ian Murdock on August 16th, 1993. At that time, the whole concept of a “distribution” of Linux was new. Ian intended Debian to be a distribution which would be made openly, in the spirit of Linux and GNU … The creation of Debian was sponsored by the FSF’s GNU project…”

Taken from: https://www.debian.org/doc/manuals/project-history/ch-intro.en.html on 2014/02/28

Now from Debian we also have a whole lot of good derived distributions, like for instance Knopix,Dam Small Linux or the Ubuntu family that started on 2004.Otherwise along this classes we will be working with Debian mostly. But at the end if you know how to work with one of the distributions. You are very likely to be able to work with other distributions with small or no help.

Debian

“The Debian Project (…) is a free operating system. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs.
  • Debian systems currently use the Linux kernel or the FreeBSD kernel. Linux is a piece of software started by Linus Torvalds and
  • supported by thousands of programmers worldwide. FreeBSD is an operating system including a kernel and other software.
  • However, work is in progress to provide Debian for other kernels, primarily for the Hurd. The Hurd is free software produced by the GNU project.”
Taken from: http://www.debian.org/intro/about#what 2014/02/11.
To get more information about the GNU/Linux and Debian you can go to the official websites:
  • Debian Project: www.debian.org
  • Linux Project: www.linux.org
  • GNU project: www.gnu.org
Gnome

Gnome

An other of the Linux myths if that Linux has no graphic interface or very rudimentary ones, the true is that there are some very good projects with great future, although there is still a lot to be done. For instance we have Gnome Prject, check out the image, we can get more information about this project here. but Linux has a lot other graphic interfaces among them KDE the closest competitor to gnome or fresh one like LXDE and XFCE. But this classes are not for graphic fans but for Network administrators, so I will not talk to much about graphics any more along the course. We will use the Text Terminal mostly, the scary black Screen that many people are afraid of. The true is that this terminal is very pwoerful and you can perform a lot of activities nicely using it, and also most of the work is not like rocket sciences so we can learn it and that is what we will do along the classes.

Debian and Linux command prompt

We are going to start with real Linux. So if you do not have your Debian GNU/Linux workstation this is the moment to get it. the first thing that we will do is to change to a text terminal you can do that by pressing:

  • CTRL+ALT+(F1 to F6) Opens a Text terminal.

Now to switch back to the graphic terminal you can press:

  • Alt+F7 Opens the graphic terminal.

And you can also open a terminal from the graphic interface of your computer. by going to activities and typing terminal in the search box.

Linux Terminal

Linux Terminal

If you open the you text terminal (black screen) you have to login with a user, because it will prompt you immediately, there you are supposed to put your user and your password. As a curious detail in the Linux terminal when you type a password it does not show the dots that we might be used to in other  systems, so someone might think that is not typing but the terminal is really recording every key that you press. This was done that way for security reasons.

Once you are in you can type commands already, lets do for instance:

whoami.

It should return your user name.

root@khs01sw10:~# whoami 
root
root@khs01sw10:~#
Debian man command linux

Debian man command linux

So running commands is simple. But this is not it, if you do not know how to use a command you can use the commandman passing an other command as augment and it will tell you what it does.

man <CommandIDon’tKnow>

for instance:

root@khs01sw10:~# man whoami

And it will show you the Linux manual for the command. the manuals are always something like  the picture. Also if it is not enough you can go to Internet and research about ways of using any command. To get out of the manual you can just press q key and it will exit the manual.

That is what I had prepared for today, let me just add the homework that you can do using the manual and we will met in the next class.

Homework: Explain how to use this commands on a Debian environment.

Whoami
 man
 pwd
 ls -la
 passwd user
 cd
 mkdir
 rm

Thank you for your time.

.

Linux Server Classes (Introduction)

Linux Server Classes; About this group of materials.

Linux Versions with Tux

Linux Versions with Tux

I have started this post to bring Linux classes to any one in Gaborone, Botswana. Also you can access and use this materials any where else in the world. The only conditions is that you have to be willing to learn new and useful stuff from the free software movement. This Linux skill sharing was done for the ICT staff in Princess Marina Hospital in Gaborone, Botswana. The main objective was to socialize the Linux knowledge. These skill sharing classes are not part of any certified course. They are just the product of the personal experiences of a Linux and windows network administrator. Linux is currently being used at the hospital in most of the servers and a few workstations. But the course is thought as a General introduction to networking using GNU Linux Debian.

Notice:

 The online HTML materials are supposed to be self explainable enough to be used as a self-study and learning material with no assistance. If you have any doubt you can always post then and I will try to answer. SO YOU DO NOT NEED TO GO TO THE CLASSES TO LEARN OR EVEN BE IN BOTSWANA. You can just consult the HTML materials and post your specific questions in the class. Otherwise the materials are being create was we speak, so some of the classes might have some gaps. Feel free to post any error you find or any suggestion of a material to add.

Content

  1. About this material
  2. Content
  3. Course Classes Content
  4. The Linux Classes Content

Content of the classes

 

Along the classes you will learn about the main services on a network and how to install, configure and maintain them. GUN Linux Debian was the distribution selected. That was due to Debian’s popularity all over the world and it’s robustness for different server environments. Along the course we will deal with with a lot of useful staff.

 

  1. Introduction to Linux. The Debian operating system. GNU Linux Environment in Princess Marina Hospital. The server, services and workstations using Linux.
  2. How to execute Linux commands on the prompt. The edition of text file and the suse of configuration files. how to install software. The use of repositories and packages. use of the following commands: cat, ls, pwd, whoami, passwd, nano, mkdir, touch, rm, aptitude, apt-get. How to configure a network configuration.
  3. The DHCP service and specifically ISC DHCP Server. How to install it and basic configuration. More useful commands: service, tail, ps, grep, uname, make, make install, aptitude, purge.
  4. The DNS server and specifically Bind. How to install and basic configuration. How to create a Zone, reverse zone, forwarders, zone transfer, etc.
  5. The Web serverand specifically Apache 2. Installation and basic configuration. Virtual host, Apache module.
  6. Proxy server; squid. Installation and basic configuration. Acls: Authentication configuration basics, sarg, cache configuration.
  7. Linux start up and Linux crontab configuration. How to make a command or a software to execute when the system starts, how to create chronological/periodical tasks.
  8. Virtualization; Virtual Box. Installation and basic configuration, commands headless Virtual machines.
  9. Windows file sharing service; Samba Service, printing servers, introduction to integration with active directory.

Before we begin I have to add the main materials to start with this course: https://www.debian.org/CD/ installation images or any other preferred installation that you want. Also if you first want to know what is possible with Linux to set your beginner goal you can check out this article. also the main philosophy of this course is : “I can show you the door, you have to open it” that means that I will try to teach a lot of thing in every class but you have to put your own effort.

The Linux Classes:

 

8. Squid3; install and configure a proxy server part IView

Class TitleHTML self explainable ClassShorter slide presentation
1. Introduction to GNU/Linux Debian: Linux Evolution. Linux Environment, Servers, services and workstations.ViewPDF
2. Debian Basic Commands Debian file system, superuser, editing text files, executing commands in the shell, configuring, installing and uninstalling packages.ViewPDF
3. DHCP server basic principles; installation and configuration.ViewPDF
4. Network and DNS client configuration.ViewPDF
5. DNS server configuration.View
6. Apache 2 web server; install and configure a virtual hostView
7. Virtualbox; install and configure a virtual machineView
8. Squid; Introduction, part IView
9. Squid; working example a proxy server part IIView

In case one any question you feel free to leave your message here as a comment.

MS Dynamics Business intelligence Specialist wanted.

One of our customers wants a to get some MS Dynamics graphics, Maps with coordinates, etc. from their existing MS Dynamics system running. If you have what it takes, please send relevant experience, rates and references.
Please contact me with the information required and we will come back to you

Closing date: End of February.

Crystal Reports and Java expert needed

We need a crystal reports specialist to work as a consultant on some project for one of our best customers. They have an ERP system done in java with reports in Crystal Reports. They want some extra custom reports, so the main task is going to be related to the reports and not java programming but could also be included. Basically they will send the reports wanted once we have the specialist. Please send me the works you have done related to Crystal reports and having some Java knowledge is a plus and some references also send your hourly rate or some figures about how would you change for your job. We need someone able to spend time to understand the customer requirements and complete the work from A to Z.

Please contact me with the information required and we will come back to you.

Closing date: End of February.