Tuesday, 14 January 2020

Role of Linux system as Desktop

Linux is a best known free and open-source operating system (OS), it is system software that manages software and hardware resources and provides services to computer systems. Linux was released on September 17, 1971, by Linus Torvalds and written in C language. It is typically packaged in Linux distributions.
Linux was firstly used for personal computers later it started working on many platforms than other operating systems. Linux is the leading operating system in servers and many big ironed systems like mainframe systems. With its features, Linux has become popular worldwide and used in 2.3 percent of desktop computers. Linux training is also used in embedded systems where the operating system is made of firmware and highly automated to the systems. It is a multilingual operating system that supports platforms like Alpha, ARC, ARM, Hexagon, NDS32, Unicore32, etc. Popular Linux distributions are Red Hat Enterprise Linux and Suse Linux Entrepreneur server but they are commercial and others are Debian, Fedora, and Ubuntu. Some desktop distributions are Wayland. They intend servers and results in graphics altogether.

How does Linux differ from other operating systems?

Linux is different from other operating systems for many reasons. Firstly, it is open-source and multilingual software. Most importantly, the code used for Linux is free for users to view and edit. In many ways, Linux is similar to other operating systems such as Windows, IOS, and OS X. It has a graphical user interface, and other applications like Word processing application, Linux version of the program can use in other systems as well.
Although many core pieces of Linux are similar to other operating systems, the distributions of Linux include many different software options. Such that web processors and word processors are swiped out. Linux can be used not only in computers but also in other electronic devices. Linux users can choose options like display graphics and user interface components..

Role of Linux system as Workstation

workstation is a personal computer that is used for high end applications such as graphic design, video editing, CAD, 3-D design, or other CPU and RAMintensive programs. A workstation typically has a top of the line, fast processor, multiple hard drives, and a lot of RAM memory. A workstation may also have special audio, video, or processing cards for special editing work. A workstation is marketed by computer manufacturers to professional users, while the server is more of a utility device.
Linux As a Workstation
A final use of Linux in a small office environment is as the actual desktop operating system. If the application base available in Linux is suitable to the work of the office, then Linux-based desktops provide the following advantages:
• Stability and performance
• Full remote management by the network administrator
• Full network backup capabilities
• Lower cost of ownership in comparison with Windows-based desktops
Where money is available, high-powered Linux workstations can offer speed rivaling that of the more expensive Windows-based systems. Linux also offers peer-to-peer networking that is more robust and offers better performance than is seen on many systems, especially those running Windows  5/98/Me. Also, as mentioned in the previous section, Linux can enable low-end or old hardware that can’t run the latest Windows software to become full-fledged X terminals, providing performance on obsolete desktop hardware that feels like that of a low-end Pentium system.

Role of Linux system as server


Linux system as server
A Linux server is a high-powered variant of the Linux open source operating system that's designed to handle the more demanding needs of business applications such as network and system administration, database management and Web services.
Linux servers are frequently selected over other server operating systems for their stability, security and flexibility advantages. Leading Linux server operating systems include CentOS, DebianUbuntu ServerSlackware and Gentoo.
Definition - What does Linux Server mean?
A Linux server is an efficient, powerful variant of the Linux open source operating system (OS). Linux servers are built to address the ever-increasing requirements of business applications like system and network administration, Web services and database management.
Linux servers are often preferred over other server operating systems because of their reputation for security, consistency and flexibility. Some examples of Linux server operating systems are CentOS, Ubuntu Server, Gentoo, Debian, Slackware, and so on. Linux is considered the best option for operating servers because there is no need for a graphical user interface; all commands can be executed via command prompt. This helps users to attain maximum system performance.
Linux As a File Server
Perhaps the most fundamental need on a small network is a file server. File
servers supply common places to store data, thus allowing shared files to be
accessed by all users who need them and providing centralized locations for
backing up files (thereby eliminating the need for daily data backups on each
workstation on a network).
On a Windows or Novell network, this is generally done in one of two ways:
• Using dedicated file servers
• Using peer-to-peer networks
Linux As a Print Server
                          In addition to file servers, print servers are another component of the  network. Generally, a dedicated file server also plays the role of offering print services to the network, serving double duty.
                      It is not uncommon to find print services provided in both a centralized, dedicated fashion and the peer-to-peer method on the same network. Some users who use a printer heavily may warrant their own printers at their desks, while others who use the printers less frequently may share a printer located in a common area. Often, a user with a dedicated printer shares it on the network so that other users can print documents for that user’s attention directly to the dedicated printer rather than to the common shared printer. 
                    Linux, of course, can work in both environments. Linux supports a healthy range of printers, including most PostScript and HP-compatible PCL printers. In addition, its printer-sharing options include the ability to share printers on Unix/Linux, Windows, and Novell networks.
Linux As a Database Server
                              Like most Unix platforms, Linux has long had a wide selection of free database packages available for it, including Postgress and mSQL. Starting in 1998, though, major commercial database vendors gave Linux a boost in the database market by announcing and releasing Linux versions of their products.
                                 Where Linux once provided only an attractive alternative for file servers and Web servers in an organization, Linux can now be deployed as a robust, scalable database platform for an organization using standard, widely used relational database systems.
                                Combining a Linux-powered database with a Linux-powered Web server allows Linux to serve as a complete intranet server solution.
Linux As an Intranet Server
                              Intranets: internal corporate networks that use Internet technology such as TCP/IP, Web browsers, and Internet-standard e-mail to share information and applications within an organization.Even in small offices, an intranet can provide a convenient way to publish information to be read by all employees through a Web browser. With a little forethought, some of the paperwork in your office can be eliminated by introducing electronic, online, Web-based forms for everything from leave requests to expense report submissions.
                          In addition, if you have small databases scattered across your organization, each used on a daily basis by different users, an intranet can provide a common means by which occasional users of the data can access the information in a database without needing full access to the database tools used to create, maintain, and update the data. By integrating the database with an intranet Web server, simple Web-based forms can be used to query the database. 
                          Linux, which offers a wealth of powerful and flexible Web servers as well as fully functional relational database systems, can allow the creation of an intranet server without the cost involved in deploying Windows NT/2000, a commercial database such as Oracle, and an expensive Web database integration tool. There are even some free tools for Linux that make it relatively easy to produce intranet programs and applications that make use of your corporate databases.
Linux As an Applications Server
Linux is by nature designed to act as both a file/print/intranet server and a fullfledged applications server. With an applications server, applications actually run on the server and are only displayed on a terminal or workstation, using the X Windows protocol or a terminal connection such as Telnet. In contrast, on many typical Windows networks, the applications run on the desktop and the data is stored on the server and accessed there. For some types of applications and in some situations, centralizing the running of applications can bring both performance and management benefits. If you are running a Windows or Novell network, a Linux system can act as an applications server for several purposes:
• Running character-based programs such as powerful Unix/Linux mail software
• Running a custom-designed, character-based database interface to a centralized Linux database
• Accessing custom in-house applications, such as a corporate telephone book, designed to run in a Unix/Linux shell
Where budgets are low, Linux can create full-fledged GUI networks without the hardware or software expense of running Windows 95/98/Me or NT/2000.
Linux As a Router
The concept of a router is simple: Where two or more networks need to be connected, a router is the device that makes it possible to communicate between the networks.
Linux has all the features needed to act as a router:
  • Support for multiple Ethernet cards
  • Support for regular modems and high-speed connections such as DSL and cable modems
  • Support for IP forwarding (the means by which packets can be received, analyzed, and rerouted by the Linux-based router)
In fact, for small Ethernet-to-Ethernet inter connectivity or Ethernet-to-high speed- connection Internet routing, a Linux-based solution can be far less expensive than dedicated hardware routers, and once it is properly configured can be very secure and reliable.

MS--Windows Vs Linux

WINDOWS OS
LINUX OS
The Windows operating system, does not provides the users access to the programming code that forms the basis for foundation of this OS.
Linux OS belongs to the GNU Public License. It provides the access of code to the users of all categories. That code is basis for foundation of Linux OS.
The user must and should belong to some special category to get access to the code,that forms the basis for foundation of this OS.
The user need not belong to some special category to get access to the coding part, which formsthe basis for foundation of the operating system.
The users must and should be bounded to the number of licenses he/she purchases, in case of the Microsoft license policy. Here,no such facility is provided to permit installation of a single application on multiple machines.
In Linux GPL-licensed OS, users are free to modify that software and use and even republish or sell it. GPL helps users to download a single copy of a Linux application and permits to install it on many machines.
The Windows operating system provides some easy methodology. In this,the users do not need to have installation disk for installing it. But the users can buy the 10-cent Ethernet to install it.
If you need to install Linux operating system on a machine, we must hand-pick each piece of hardware or else your installation won’t be up to the mark of expectation.
The users can run the Windows installed machines for numerous years and it even provides various types of help to the users via command line.
We can run a machine running on the Linux OS also for many years without help of the command line[2].
In Windows, we need to know where to find software and install it,by running executable files (.exe files) related to it.
In Linux,we have a centralized location where we can search for, add or remove software co-related to packet management system.
In the case of Windows, the users are needed to connect to internet to install an application.
In linux, the users can install an application without using internet support.
In earlier days the installation of apps on Windows was simpler.
Due to the modifications in the features of OS,the linux supports easy installation of apps.
In Windows, if users want to change the desktop appearance, they have to pay and install a third party application[1].
In case of Linux, users are free to make their desktop appearance in the way they desire.
Windows provides a greater facility for its users by providing various drives like C:, D:,E: and so on. In windows, all the drives are not mounted on a single tree.
Users won’t find "My Documents" on Ubuntu, nor will you find "Program Files" on Fedora. There are no C: or D: drives. But, there is only one single file tree and all our drives are mounted on the tree.
In Windows the users have an “installation package”. In this,the users can install a program only after running the .exe file related to it.
In Linux OS, there exists “package manager”, which acts as a center for browsing, installing, and removing program packages.
Microsoft created the Windows OS, but allows other computer manufacturers to distribute their own computers with Windows pre-installed.
Linux kernel is developed by the community. Linus Torvalds oversees things.
The Windows OS can be installed on PC's desktops, laptops, servers and recently even on some mobile phones.
Linux can be installed on various types of computer hardware, starting from mobiles, tablet computers andvideo game consoles, to mainframes and supercomputers.
The file systems that are supported by Windows are “FAT, FAT32, NTFS, exFAT.”[4]
File systems supported by Linux are “Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs, FAT, FAT32, NTFS”.
The Windows GUI (Graphical User Interface)is an integral component of OS and it cannot be replaceable[5] .
The Linux mainly provides two GUI’s,KDE and GNOME .But there are many alternatives like LXDE, Xfce , Unity, Mate, twm etc.
Windows uses a command shell and each Windows version has a single command interpreter with DOS, recently an optional PowerShell has been added that mostly supports Unix commands.
In the context of Text mode interface, the Linux OS has default shell called “BASH” (Bourne Again Shell). This BASH can support multiple command interpreters.
The price of the Windows OS ranges from $50-$450.
The price of Linux is free, but the help is provided for a certain price.

Unix Vs Linux

Features of Unix OS
  • Multi-user, multitasking operating system
  • It can be used as the master control program in workstations and servers.
  • Hundreds of commercial applications are available
  • In its heydays, UNIX was rapidly adopted and became the standard OS in universities.
Features of Linux

  • Support multitasking
  • Programs consist of one or more processes, and each process have one or more threads
  • It can easily co-exists along with other Operating systems.
  • It can run multiple user programs
  • Individual accounts are protected because of appropriate authorization
  • Linux is a replica of UNIX but does not use its code
Limitation of Linux
  • There's no standard edition of Linux
  • Linux has patchier support for drivers which may result in misfunctioning of the entire system.
  • Linux is, for new users at least, not as easy to use as Windows.
  • Many of the programs we are using for Windows will only run on Linux only with the help of a complicated emulator. For example. Microsoft Office.
  • Linux is best suitable for a corporate user. It's much harder to introduce in a home setting.
Limitations of Unix
  • The unfriendly, terse, inconsistent, and non-mnemonic user interface
  • Unix OS is designed for a slow computer system, so you can't expect fast performance.
  • Shell interface can be treacherous because typing mistake can destroy files.
  • Versions on various machines are slightly different, so it lacks consistency.
  • Unix does not provide any assured hardware interrupt response time, so it does not support real time response time systems.
Basis of Difference
Linux
Unix
Cost
Linux is freely distributed, downloaded through magazines, Books, website, etc. There are paid versions also available for Linux.
Different flavors of Unix have different pricing depending upon the type of vendor.
Development
Linux is Open Source, and thousands of programmer collaborate online and contribute to its development.
Unix systems have different versions. These versions are primarily developed by AT&T as well as other commercial vendors.
User
Everyone. From home users to developers and computer enthusiasts alike.
The UNIX can be used in internet servers, workstations, and PCs.
Text made interface
BASH is the Linux default shell. It offers support for multiple command interpreters.
Originally made to work in Bourne Shell. However, it is now compatible with many others software.
GUI
Linux provides two GUIs,viz., KDE and Gnome. Though there are many alternatives such as Mate, LXDE, Xfce, etc.
Common Desktop Environment and also has Gnome.
Viruses
Linux has had about 60-100 viruses listed to date which are currently not spreading.
There are between 80 to 120 viruses reported till date in Unix.
Threat detection
Threat detection and solution is very fast because Linux is mainly community driven. So, if any Linux user posts any kind of threat, a team of qualified developers starts working to resolve this threat.
Unix users require longer wait time, to get the proper bug fixing patch.
Architectures
Initially developed for Intel's x86 hardware processors. It is available for over twenty different types of CPU which also includes an ARM.
It is available on PA-RISC and Itanium machines.
Usage
Linux OS can be installed on various types of devices like mobile, tablet computers.
The UNIX operating system is used for internet servers, workstations & PCs.
Best feature
Kernel update without reboot
Feta ZFS - next generation filesystem DTrace - dynamic Kernel Tracing
Versions
Different Versions of Linux are Redhat, Ubuntu, OpenSuse, Solaris, etc.
Different Versions of Unix are HP-UX, AIS, BSD, etc.
Supported file type
The Filesystems supported by file type like xfs, nfs, cramfsm ext 1 to 4, ufs, devpts, NTFS.
The Filesystems supported by file types are zfs, hfx, GPS, xfs, vxfs.
Portability
Linux is portable and is booted from a USB Stick
Unix is not portable
Source Code
The source is available to the general public
The source code is not available to anyone.

Overview of Linux based Utilities

Understanding UNIX/Linux Utilities

UNIX/Linux utilities let you
Create and manage files
Run programs

Produce reports

Monitor and maintain the system

Recover from a range of errors
New utilities are continually being added in order to make UNIX/Linux run more efficiently
Classified into eight major areas:
File processing
System status
Networking
Communications
Security
Programming
Source code management
Miscellaneous


File processing
Command     Brief description of functions
·         awk- Processes files
·         cat- Displays files(and is used with other tools to concatenate files.)
·         cmp- Compares two files
·         comm- Compares sorted files and shows differences.
·         cp- Copies files
·         cut- Selects characters or fields from input lines.
·         dd- Copies and converts input records
·         diff- Compares two text files and shows differences
·         dump- Backs up files
·         file- Displays the file type.
grep, Less,head, in lpr, tailman,mkdir,mount,mv,pste,pr,pwd,rm,rmdir,sort, tar, touch,wc etc.
System Status Utilities
Command     Brief description of function
·         date    Sets and displays date and time
·         df         Displaces the amount of free space remaining on disk.
·         du       Summarizes file space usage
·         finger  Displays detailed information about user who are logged in.
·         free     Displays amount of free and used memory in the system
·         kill       Terminates a running process
·         ps        Displays process status by process identification number and name
·         sleep  Suspends process execution for a specific time.
Top, uname, w, who,date,df,du,file,etc.
Network Utilities
         ifconfig – sets up a network interface card
        Can be used to troubleshooting networking
         netstat – shows network connection information
         ping – establishes connectivity to a remote device
         route – displays routing table information
ftp,rcp,rlogin,rsh,showmount,telnet,wvdial
Communications Utilities
         mail – sends e-mail
         mesg n – denies any real-time messages
         mesg y – accepts any real-time messages
         talk – allows users to simultaneously ‘chat’ with other logged in users.
         wall – sends a message to all logged-in users.
         write – sends a message to a user
Security Utilities
         chgrp – changes the default group associated with a file
         chmod – changes the access permissions of a file or directory
         chown – changes the owner of a file or directory
         Ipchains-manages a firewall and packet filtering
         passwd- changes a password.
Programming and Source Code Management Utilities
·         Configure- configures program source code automatically.
·         g++- compiles a c++ program
·         gcc- compiles a c program
·         make- maintains a program source code
·         patch- update source codes.
·         Ci, co, cvs, rcs, rlog etc.
Miscellaneous Utilities
·         at- executes a command or script at a specific time
·         atq- Shows the jobs already scheduled to run.
·         cal- displays the calendar of a month or a year.
·         cd- changes to a directory.
·         tr- replaces specific characters
atrm,batch,expr,fsck,tee,tty, xargs etc.















Overview of Linux based Tools


list of tools, by alphabetic order
    1. Anonymizers
    2. Backup
    3. Browsers
    4. Chat
    5. Converters
    6. Emulators
    7. Live CD/DVDs
    8. Media manipulation
      1. Encoders
    9. Media Players
    10. Partitioning
    11. Rescue
    12. Security tools
      1. Anti-rootkits
      2. Firewalls
      3. Intrusion prevention
      4. Malware control
List of tools, by alphabetic order
Anonymizers is a tool that attempts to make activity on the Internet untraceable. It is a proxy server computer that acts as an intermediary and privacy shield between a client computer and the rest of the Internet.
Vidalia
Vidalia is a cross-platform GUI controller for Tor anonymizing proxy.
Backup
Simple Backup Solution.This tool is intended for backup of files, using a desktop GUI.
Partimage
Partimage is a Linux partition backup utility. It allows you to save partitions in many files formats to image files, compress the image files, split image files for burning, and even save them across network. NTFS support is under development.

Browsers
Konqueror
Konqueror is a combined browser and file manager for KDE.
Chat

XChat
XChat is a popular multi-platform chat client. It supports multiple channels and file transfers. As said, it is also available for Windows.
Converters

alien
alien is a program that converts between Redhat rpm, Debian deb, Stampede slp, Slackware tgz, and Solaris pkg file formats.
AODC
AODC stands for An OpenDocument Converter. This small tool is intended to convert Open Office documents into html files on machines that do not have Open Office installed. This means you can open your documents on any computer. Now, AODC will run on Windows - but it is a tool well suited for Linux users.
Emulators

Wine
Wine is an open-source implementation of Windows API on top of X and Unix. In other words, it allows you run Windows applications on a Linux machine by creating a simulated environment. Wine is nicely complemented with VMware products, which are also available for Windows.
Live CD/DVDs

Anonym.OS
Damn Small Linux
Damn Small Linux is a versatile 50MB desktop-oriented Debian-based distribution. You can boot with it from CD, USB drive or even run it inside Windows. .
Elive
Elive is a live CD running Enlightenment Windows manager, which is an amazing visual experience while being very low on requirements.
Feather Linux
Gentoo
Helix
Knoppix
Puppy Linux
Puppy Linux is another small desktop-oriented live CD. Puppy Linux comes in a wide range of flavors, including the static live CD but also the multi-session CD/DVD, which allows you to save your live sessions to hard media every time you use Puppy and reload them on the next use, virtually eliminating the need for running an operating system from a hard drive.
SUSE 
Ubuntu 6.06
Ubuntu is a combined live and installation CD. Ubuntu runs with Gnome desktop. 

Media manipulation
Encoders
MP3FS
MP3FS is a read-only FUSE file system which transcodes audio formats to MP3 on the fly when opened and read.

Media Players
MPlayer
MPlayer is a highly versatile media player for Linux, with a very good support of audio and video formats. It will play most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, and PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, and even WMV movies.
xine
xine is a lightweight, powerful media player, capable of playing AVI, MOV, WAV, and MP3 formats. The player has many guises and is constantly being developed.
XMMS
XMMS is a multimedia player (mainly audio) for UNIX-based systems. It supports MP3, MOD, WAV, and other formats. A variety of plugins is available. XMMS is included on Elive and Knoppix live CDs.

Partitioning
QTParted
QTParted is a clone of Partition Magic. It is capable of handling NTFS partitions.

Rescue
Super Grub Disk
Super Grub Disk is intended to run from a floppy disk or CD and is used for system rescue. Most importantly, it can be used to restore boot loaders, including GRUB, LILO and even Windows boot loader.
TestDisk
TestDisk is a utility specially designed to recover lost partitions and make non-booting disks bootable again. This highly useful tool can be found on a number of live CDs, including Knoppix and GParted. It supports NTFS partitions and also comes in Windows flavor.

Security tools
Anti-rootkits
chkrootkit
This tool allows you to look for unwanted spies on your machine.
rkhunter
rkhunter is another tool for uprooting undesired self-hiding toolkits.

Firewalls
FREESCO
FREESCO is a lightweight, powerful firewall based on CISCO. It supports up to 10 network cards, 10 modems, 5 printers, NAT, a whole lot more, and will run from a single 1.44MB floppy. You can use an antique 386 machine to run it.
SmoothWall
SmoothWall is a powerful firewall with a self-contained operating system and a web-based GUI. It can be installed on a machine as lowly as a 486.

Intrusion prevention
AppArmor
AppArmor is an application security framework, most easily described as heuristically-inclined HIPS. It will run on Linux distributions based on Red Hat. Mastering AppArmor takes knowledge and patience.
Snort
Snort is a very popular open-source network intrusion detection and prevention software. It is intended for experienced users.

Malware control
Truman
Truman is a sandbox-like malware analysis tool, running on native hardware. It is NOT recommended for people who do NOT understand the full implications of using this tool.



LINUX KERNEL VS DISTRIBUTION;WHY LEARN LINUX?

 LINUX KERNEL VS DISTRIBUTION                                       When discussing Linux Operating Systems, we mention Whole OS or the Linu...