Thursday, 30 July 2015

How to Install the Desktop Components (GUI) For Ubuntu

Unity (The Default Desktop)

sudo apt-get install ubuntu-desktop

KDE

sudo apt-get install kubuntu-desktop

LXDE (Lubuntu)

sudo apt-get install lubuntu-desktop

MATE

sudo apt-get install mate-desktop

Gnome

sudo apt-get install ubuntu-gnome-desktop

XFCE (Xubuntu)

sudo apt-get install xubuntu-desktop

Linux Flavour Introduction and Overview

Setting the Stage for Linux

The free software movement began in 1983 when Richard Stallman launched the GNU Project. GNU, by the way, is a recursive acronym that stands for “GNU’s Not Unix!”  His goal was to create a totally free and open source GNU operating system compatible with Unix.  He and other software developers started on this project by recreating the most popular Unix commands.  By 1990 all the major components of the operating system had been written with one big exception: the kernel.

Enter Linus

In 1991 a Finish student named Linus Torvalds created the Linux kernel. Linus first started working on a terminal emulator to connect to Unix systems at his university but over time that project grew into something bigger and eventually became the Linux kernel. Combining the Linux kernel with the GNU Foundation’s command line tools created a complete Unix-like operating system. Shortly after the release of the Linux kernel collections of various software combined with the Linux kernel started to appear.  These sets of software became known as Linux distributions.
Today the Linux operating system is supported on most hardware platforms.  Linux works on almost every architecture from i386 to SPARC. Linux can be found on almost every type of device today, from watches, televisions, mobile phones, servers, desktops, and even vending machines.

The Power of Package Management

One of the things that sets Linux apart from other operating systems is the way software is installed and managed.  Traditionally when you wanted to install software on the Windows operating system you would find the software, download the software, and install the software.  These are steps that the end user has to perform one-by-one.  Imaging browsing the web for an application, downloading that application to your “Downloads” folder, double clicking on the download to start the installation process and then answering a series of questions to finally install the software.
To install software on a Linux system you use the package manager that comes with the distribution.  To install a new piece of software you search for it and install it from the operating system itself.  The package manager takes care of downloading the desired software along with any required dependencies and then installs all of the components.  Not only can package managers control applications, they can also manage the operating system itself. A package manager can update and upgrade the system and all of its installed applications to latest versions.
Software and applications are bundled into packages and Linux distributions are categorized by these package types. The three basic types of packages are Debian (deb), RedHat Package Manager (RPM), and other distributions.

Debian Based Linux Distributions

The deb package type was created in 1993 for the Debian Linux distribution. Debian is one of oldest Linux distributions and it’s a very popular choice on which new distributions are based. Popular distributions that use .deb packages include:
  • Debian
  • Ubuntu
  • Linux Mint
  • SteamOS

Debian

In 1993 Ian Murdock announced a new Linux distribution that was to be developed openly with the GNU philosophy. Ian gave his distribution the name Debian which is a combination of his girlfriend’s name Debra and his own name. At first it was a small project, but today Debian is one of biggest open source projects in existence.
Debian is an universal operating system and supports almost all CPU architectures and it is a very popular in the server space. Although Debian is known for rock solid stable software, there are variants. There is Debian old stable, stable, testing, unstable and experimental. As you go from old stable to experimental, you find newer and less stable software. As for package management, Debian uses two package managers, apt and aptitude.

Ubuntu

Announced in 2004, Ubuntu is based on Debian unstable. Ubuntu is the most widely used and most popular Linux distribution today. It’s also the Linux distribution surrounded by the most controversies. Ubuntu started with the Gnome desktop, but a few years ago Ubuntu developed its own desktop environment named Unity. The Ubuntu installation process is easy and thus is popular with those new to Linux. Ubuntu uses apt and its graphical fronted Ubuntu Software Center for package management.

Linux Mint

Linux Mint is a popular distribution based on Ubuntu. Mint started out simply being Ubuntu with pre-installed multimedia codecs and proprietary drivers. However, it has since grown and is a very popular alternative to Ubuntu.

RPM Based Linux Distributions

RedHat created the rpm package format for use in its distribution. Popular RPM based distributions include:
  • RedHat Enterprise Linux (RHEL)
  • CentOS
  • Fedora
  • OpenSuse
  • Mageia

Fedora

Fedora is the upstream of the commercial RedHat Enterprise Linux distribution, or RHEL for short. What makes Fedora special is it uses newer technology and packages from the open source world than RHEL. Fedora, like RHEL, uses the yum package manager.

OpenSuse

OpenSuse started out a German translation of Slackware Linux, but eventually grew into its own distribution. OpenSuse is known for the KDE desktop and stability. For package management OpenSuse uses zypper and its graphical fronted, the Yast software center.

Mageia

Mageia Linux is an fairly new Linux distribution that is based on Mandrake Linux. Mageia is easy to install and easy to use. Mageia utilizes urpmi and drakrpm for package management.

Other Linux distributions

Arch Linux

Arch Linux uses pkg.tar.xz packages and has it’s own package manager called pacman. Arch does not come with a graphical installer and the whole installation process is done via a terminal. This can be intimidating for new Linux users. The main philosophy behind Arch is KISS – keep it simple, stupid. Arch has been forked in some popular beginner-friendly distributions such as Manjaro Linux.

Slackware Linux

Founded in 1992 by Patrick Volkerding, Slackware is the oldest Linux distribution in use today. Slackware does not have a package manager and all the software is compiled by the system administrator or normal users of the system. Slackware packages are simply source code. If you really want to learn a lot about the Linux really works, use Slackware.

Gentoo Linux

Gentoo is based on the portage package management system. Gentoo can be difficult to install and can even take as long as a couple of days to complete the entire installation process. The advantage of such an approach is that the software is built for the specific hardware that it will be running on. Like Slackware, Portage uses application source code. If you like the idea of Gentoo, but are looking for something beginner friendly, try Sabayon.

Graphical User Environments

When choosing the right Linux distribution for you, it can be confusing given the variety of choices in desktop managers. While Microsoft Windows users only have one desktop manager, Linux users can chose their desktop environment. The desktop environment, or the graphical user interface (GUI), is what is displayed on the monitor. Said another way, it’s how the system looks. Popular desktop managers include KDE, Gnome, Xfce, Cinnamon and LXDE.

KDE

KDE was created in 1996 and is probably the most advanced desktop manager on the market. By default KDE includes several applications that every user needs for a complete desktop environment. KDE has some features that are not available in other desktop managers. The KDE workspace is called Plasma. Combine Plasma with the other KDE applications and you get what is called the KDE software compilation, or KDE SC for short.
Popular distributions that use KDE include:
  • OpenSuse
  • Slackware
  • Linux Mint
  • Kubuntu
  • Mageia

Gnome

Gnome is an desktop manager made for the community and by the community. This is a great example of how the open source community works. Gnome can easily be expanded with the use of plug-ins. It doesn’t require a lot of resources and can be a great choice for older and slower hardware. Popular distributions that use Gnome include:
  • Debian
  • OpenSuse
  • Fedora
  • CentOS

Cinnamon

Cinnamon is a fork of the Gnome desktop manager and is developed by the Linux Mint community. It recreates the look of Gnome 2 with an modern touch. The minimum system requirements for Cinnamon are the same as they are for Gnome.

Xfce

Xfce is an excellent choice for older computers. Light and fast are Xfce’s two biggest features. The system requirements are a measly 300Mhz CPU and 192Mb of RAM. Popular distributions that use Xfce include:
  • Debian
  • Xubuntu
  • Fedora
  • OpenSuse

LXDE

LXDE is an another fast and light desktop manager. Based on the OpenBox windows manager, LXDE is suitable for old computers. Popular distributions using LXDE include:
  • Lubuntu
  • Debian
  • OpenSuse
  • Linux Mint

Unity

Unity was developed by Canonical for their Ubuntu Linux distribution. To date, Ubuntu is the only distribution that uses Unity. Unity requires greater hardware resources than most graphical environments. You’ll need a 1 GHz CPU and 1Gb RAM in order to get Unity to work. With those specs, Unity will be so slow that it’s almost unusable. For Unity, the more RAM and CPU, the better.


Use Of Basic Yum Commands

This is not an exhaustive list of all yum commands but it is a list of the basic/common/important ones. For a complete list see the yum man page.
   yum list [available|installed|extras|updates|obsoletes|all|recent] [pkgspec] 
This command lets you list packages in any repository enabled on your system or installed. It also lets you list specific types of packages as well as refine your list with a package specification of any of the package's name, arch, version, release, epoch.
   yum list
By default 'yum list' without any options will list all packages in all the repositories and all the packages installed on your system. Note: 'yum list all' and 'yum list' give the same output.
   yum list available
Lists all the packages available to be installed in any enabled repository on your system.
   yum list installed
This is equivalent to rpm -qa. It lists all the packages installed on the system.
   yum list extras
This command lists any installed package which no longer appears in any of your enabled repositories. Useful for finding packages which linger between upgrades or things installed not from a repo.
   yum list obsoletes
This command lists any obsoleting relationships between any available package and any installed package.
   yum list updates
This command lists any package in an enabled repository which is an update for any installed package.
   yum list recent
This command lists any package added to any enabled repository in the last seven(7) days.
   yum list pkgspec
This command allows you to refine your listing for particular packages.
Examples of pkgspecs:
      yum list zsh 
      yum list joe\* 
      yum list \*.i386 
      yum list dovecot-1.0.15 
   yum install/remove/update
....
   yum check-update
Exactly like yum list updates but returns an exit code of 100 if there are updates available. Handy for shell scripting.
   yum grouplist
   yum groupinfo
   yum groupinstall
   yum groupupdate
   yum groupremove
Please see the YumGroups page on this wiki for information about the above commands.
   yum info
This displays more information about any package installed or available. It takes the same arguments as yum list but it is best run with a specific package name or glob. Example:
     $ yum info yum
     Installed Packages
     Name       : yum
     Arch       : noarch
     Version    : 3.2.20
     Release    : 3.fc10
     Size       : 2.5 M
     Repo       : installed
     Summary    : RPM installer/updater
     URL        : http://yum.baseurl.org/
     License    : GPLv2+
     Description: Yum is a utility that can check for and automatically download and
                : install updated RPM packages. Dependencies are obtained and downloaded
                : automatically prompting the user as necessary.
  yum search
This allows you to search for information from the various metadata available about packages. It can accept multiple arguments. It will output the packages which match the most terms first followed by the next highest number of matches, etc. Specifically yum search looks at the following fields: name, summary, description, url. If you're searching for what package provides a certain command try yum provides instead.
Search example:
$ yum search python rsync ssh
========================= Matched: python, rsync, ssh ==========================
rdiff-backup.i386 : Convenient and transparent local/remote incremental
                  : mirror/backup

============================ Matched: python, rsync ============================
cobbler.noarch : Boot server configurator

============================= Matched: python, ssh =============================
denyhosts.noarch : A script to help thwart ssh server attacks
pexpect.noarch : Pure Python Expect-like module
python-paramiko.noarch : A SSH2 protocol library for python
python-twisted-conch.i386 : Twisted SSHv2 implementation

============================= Matched: rsync, ssh ==============================
duplicity.i386 : Encrypted bandwidth-efficient backup using rsync algorithm
pssh.noarch : Parallel SSH tools
   yum provides/yum whatprovides
This command searches for which packages provide the requested dependency of file. This also takes wildcards for files. Examples:
$ yum provides MTA
2:postfix-2.5.5-1.fc10.i386 : Postfix Mail Transport Agent
Matched from:
Other       : MTA

exim-4.69-7.fc10.i386 : The exim mail transfer agent
Matched from:
Other       : MTA

sendmail-8.14.3-1.fc10.i386 : A widely used Mail Transport Agent (MTA)
Matched from:
Other       : Provides-match: MTA


$ yum provides \*bin/ls
coreutils-6.12-17.fc10.i386 : The GNU core utilities: a set of tools commonly
                            : used in shell scripts
Matched from:
Filename    : /bin/ls

   yum shell
....
   yum makecache
Is used to download and make usable all the metadata for the currently enabled yum repos. This is useful if you want to make sure the cache is fully current with all metadata before continuing.
   yum clean
During its normal use yum creates a cache of metadata and packages. This cache can take up a lot of space. The yum clean command allows you to clean up these files. All the files yum clean will act on are normally stored in /var/cache/yum.
Example commands and what they do:
        yum clean packages
This cleans up any cached packages in any enabled repository cache directory.
        yum clean metadata
This cleans up any xml metadata that may have been cached from any enabled repository.
        yum clean dbcache
Yum will create or download some sqlite database files as part of its normal operation. This command clean up the cached copies of those from any enabled repository cache.
        yum clean all
Clean all cached files from any enabled repository. Useful to run from time to time to make sure there is nothing using unnecessary space.

Thursday, 9 July 2015

ActualTests

https://drive.google.com/file/d/0BxR3InYMbztvVGdtdTZjeVhpRXc/view?usp=sharing