Linux Desktop

Linux Desktop

In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system, which share a common graphical user interface (GUI). The desktop environment was seen mostly on personal computers until the rise of mobile computing.[1][2] Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

Open Office,
Libra Office,
Evolution,
thunderbird Mail Client,
Mozilla,
Compatible with windows based software,
awesome looks and feel,
Virus Free,
Easy,
User friendly,
Fast,
Stable,
Relaible,
Error free,
Bundled with All Drivers,
Softwares,
tools,
Manual guides

LAMP

LAMP

LAMP

LAMP is an acronym for a web services solution stack consisting of Linux, the Apache HTTP Server, theMySQL or MariaDB database engines, and the PHPPerl or Python programming language. All components are free and open-source software, and the combination is suitable for building dynamic web pages.

Software components

High-level overview of LAMP components

Linux

Linux is a Unix-like and POSIX-compliant computer operating system assembled under the model of free and open source software development and distribution. The main form of distribution are Linux distributions, usually providing complete LAMP setups out of the box through their package management systems. Of the most widespread Linux distributions, as of 1 October 2013, 58.5% of web server market share is shared between Debian and Ubuntu, while RHEL, Fedora and CentOStogether share 37.3%.

Many options are available for customizing and securing Linux installations, for example by using SELinux, or by employingchroot environments.

Apache

The Apache HTTP Server is the most popular web server in use; as of June 2013, Apache was estimated to serve 54.2% of all active websites and 53.3% of the top servers across all domains. As of June 2014, Apache was estimated to serve 52.27% of all active websites followed by nginx with 14.36%, and 53.32% of the top servers followed by nginx with 18.16%.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. Released under the Apache License, Apache is open-source software. A wide variety of features is supported, and many of them are implemented as compiled modules which extend the core functionality of Apache. These can range from server-side programming language support to authentication schemes.

MySQL, MariaDB, MongoDB

MySQL is a multithreaded, multi-user, SQL database management system (DBMS) now owned by Oracle Corporation. MySQL has been owned by Oracle Corporation since January 27, 2010 through the purchase of Sun Microsystems. Sun had originally acquired MySQL on February 26, 2008. The MySQL development project has made itssource code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements.

MariaDB is a fork of MySQL.

MongoDB is a widely used open-source NoSQL database. MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (calling the format BSON), making the integration of data in certain types of applications easier and faster.

Other relational database management systems such as PostgreSQL are also viable.

PHP, Perl, Python

PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP code is interpreted by a web server with a PHP processor module, which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. It has also evolved to include a command-line interface capability and can be used in standalone graphical applications.[8]

PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP.

Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6.The Perl languages borrow features from other programming languages including C, shell scripting (sh), AWK, and sed. They provide powerful text processing facilities without the arbitrary data-length limits of many contemporary Unix commandline tools, facilitating easy manipulation of text files. Perl 5 gained widespread popularity in the late 1990s as a CGI scriptinglanguage, in part due to its parsing abilities.

Python is a widely used general-purpose, high-level programming language. Python supports multiple programming paradigms, including object-oriented, imperative andfunctional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library. Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts.

Linux-Apache-MySql-PHP
(software bundle)

Easy to code
Easy to deploy
Develop locally
Cheap and ubiquitous hosting
Free Open Source
Strong Community
Great Market Share
web scripting software

CMS

CMS

 

content management system (CMS) is a computer application that allows publishing, editing and modifying content, organizing, deleting as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMS’s have been available since the late 1990s.

CMS’s are often used to run websites containing blogs, news, and shopping. Many corporate and marketing websites use CMS’s. CMS’s typically aim to avoid the need for hand coding, but may support it for specific elements or entire pages.

Web content management system

Main article: Web content management system

A content management system (Web CMS) is a bundled or stand-alone application to create, deploy, manage and store content on Web pages. Web content includes text and embedded graphics, photos, video, audio, and code (e.g., for applications) that displays content or interacts with the user. A Web CMS may catalog and index content, select or assemble content at runtime, or deliver content to specific visitors in a requested way, such as other languages. Web CMS’s usually allow client control over HTML-based content, files, documents, and Web hosting plans based on the system depth and the niche it serves.

Component content management system

Main article: Component content management system

A (CCMS) specializes in the creation of documents from component parts. For example, a CCMS that uses DITA XML enables users to assemble individual component topics into a map (document) structure. These components can be reused (rather than copied and pasted) within another document or across multiple documents. This ensures that content is consistent across the entire documentation set.

Content management system
Create a Dynamic Website within a day with all functions like
Payment gateway,
Add cart ,
e-commerce,
Picture gallery
Maintaining Security
Managing Objects
Managing Servers
Managing Auditing
Maintaining Report
and a lot more >>

SVN

SVN

 

machine learningsupport vector machines (SVMs, also support vector networks) are supervised learning models with associated learning algorithms that analyze data and recognize patterns, used for classification and regression analysis. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that assigns new examples into one category or the other, making it a non-probabilistic binary linear classifier. An SVM model is a representation of the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples are then mapped into that same space and predicted to belong to a category based on which side of the gap they fall on.

Apache™ Subversion®
“Enterprise-class centralized version control for the masses”
Subversion is an open source version control system
Directories are versioned
Copying, deleting, and renaming are versioned.
File locking.
Interactive conflict resolution.
Write-through proxy over WebDAV.
Repository read-only mirroring.
Standalone server option (svnserve).
Executable flag is preserved.
Symbolic links can be versioned.

CRM

CRM

“Customer relationship management (CRM) is a widely-implemented strategy for managing a company’s interactions with customers, clients and sales prospects”

Adoption issues

In 2003, a Gartner report estimated that more than $2 billion had been spent on software that was not being used. According to CSO Insights, less than 40 percent of 1,275 participating companies had end-user adoption rates above 90 percent. Many corporations only use CRM systems on a partial or fragmented basis. In a 2007 survey from the UK, four-fifths of senior executives reported that their biggest challenge is getting their staff to use the systems they had installed. 43 percent of respondents said they use less than half the functionality of their existing system.. Recently, it is found in a study that market research regarding consumers preference may increase the adoption of CRM among the developing countries’ consumers.

Sales force automation
Customer support & service
Marketing automation
Inventory management
Activity management
Security management
Calendaring
E-mail integration

VoIP

VoIP

 

Voice-over-Internet Protocol (VoIP) is a methodology and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. Other terms commonly associated with VoIP are IP telephonyInternet telephonyvoice over broadband (VoBB), broadband telephonyIP communications, and broadband phone service.

The term Internet telephony specifically refers to the provisioning of communications services (voice, fax, SMS, voice-messaging) over the public Internet, rather than via the public switched telephone network (PSTN). The steps and principles involved in originating VoIP telephone calls are similar to traditional digital telephony and involve signaling, channel setup, digitization of the analog voice signals, and encoding. Instead of being transmitted over a circuit-switched network, however, the digital information is packetized, and transmission occurs as IP packets over a packet-switched network. Such transmission entails careful considerations about resource management different from time-division multiplexing (TDM) networks.

Protocols

Voice over IP has been implemented in various ways using both proprietary protocols and protocols based on open standards. Examples of the VoIP protocols are:

  • H.323
  • Media Gateway Control Protocol (MGCP)
  • Session Initiation Protocol (SIP)
  • H.248 (also known as Media Gateway Control (Megaco))
  • Real-time Transport Protocol (RTP)
  • Real-time Transport Control Protocol (RTCP)
  • Secure Real-time Transport Protocol (SRTP)
  • Session Description Protocol (SDP)
  • Inter-Asterisk eXchange (IAX)
  • Jingle XMPP VoIP extensions
  • Skype protocol
  • Teamspeak

The H.323 protocol was one of the first VoIP protocols that found widespread implementation for long-distance traffic, as well as local area network services. However, since the development of newer, less complex protocols such as MGCP and SIP, H.323 deployments are increasingly limited to carrying existing long-haul network traffic. In particular, the Session Initiation Protocol (SIP) has gained widespread VoIP market penetration.

These protocols can be used by special-purpose software, such as Jitsi, or integrated into a web page (web-based VoIP), like Google Talk.

VoIP stands for Voice over Internet Protocol
VoIP is a telephone connection that uses internet instead of the regular telephone network.
VoIP saves your money
Portability – Take It Where You Go
Compatible with legacy telephony network
VoIP includes all those features that the normal telephone company provides .

Firewall

Firewall

 

Build a complete, secure and stable firewall exclusively from Open Source software”
Open Source,
Free,
Community-Supported Security Solution
Unified Threat Management (UTM) functionality
Very easy to install
Use and manage, without losing its flexibility
Application-level proxies for various protocols (HTTP, FTP, POP3, SMTP)
Antivirus support
Virus and spam-filtering for email traffic (POP and SMTP),
Content filtering of Web traffic
A “hassle free” VPN solution (based on OpenVPN).

IM Chat server

IM Chat server

Open-Source Java XMPP (Jabber) server,
Open Source Real-Time Communication,
Chat Server,
IM Messanger,
Awesome Client, (Cross-platform real-time collaboration client optimized for business and organizations )
MySql,
Windows AD connectivity,
Online File Transfer,
Content filtering,
History,
Web based real-time collaboration client optimized for business and organizations

Virtualisation

Virtualisation

 

Linux virtualization refers to running one or more virtual machines on a physical computer that’s operated by the Linux open sourceoperating system. Linux virtualization can be used for isolating specific apps, programming code or even an operating system itself, as well as for security and performance testing purposes.

Today’s more powerful computers and hardware have made virtualization more practical and feasible for both desktop and server environments, helping to save power by consolidating several workspaces on one system as well as maximizing the workload that the compute can handle. Popular Linux virtualization solutions include Xen, KVM, QEMU, VirtualBox and VMware.

Hardware virtualization

Main article: Hardware virtualization

Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system. Software executed on these virtual machines is separated from the underlying hardware resources. For example, a computer that is running Microsoft Windows may host a virtual machine that looks like a computer with the Ubuntu Linux operating system; Ubuntu-based software can be run on the virtual machine.

In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine. The words host and guestare used to distinguish the software that runs on the physical machine from the software that runs on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager.

Different types of hardware virtualization include:

  1. Full virtualization: Almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating system, to run unmodified.
  2. Partial virtualization: Some but not all of the target environment is simulated. Some guest programs, therefore, may need modifications to run in this virtual environment.
  3. Paravirtualization: A hardware environment is not simulated; however, the guest programs are executed in their own isolated domains, as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment.

Hardware-assisted virtualization is a way of improving the efficiency of hardware virtualization. It involves employing specially designed CPUs and hardware components that help improve the performance of a guest environment.

Video game console emulation

Main article: Video game console emulator

A video game console emulator is a program that allows a personal computer or video game console to emulate a different video game console’s behavior. Video game console emulators and hypervisors both perform hardware virtualization; words like “virtualization”, “virtual machine”, “host” and “guest” are not used in conjunction with console emulators.

Snapshotting

Main article: Snapshot (computer storage)

snapshot is the state of a virtual machine, and, generally, its storage devices, at an exact point in time. Snapshots are “taken” by simply giving an order to do so at a given time, and can be “reverted” to on demand, with the effect that the VM appears (ideally) exactly as it did when the snapshot was taken.

Teleportation

Main article: Teleportation (virtualization)

The snapshots described above can be moved to another host machine with its own hypervisor; when the VM is temporarily stopped, snapshotted, moved, and then resumed on the new host, this is known as teleportation (or migration). If the older snapshots are kept in sync regularly, this operation can be quite fast, and allow the VM to provide uninterrupted service while its prior physical host is, for example, taken down for physical maintenance.

Failover

Main article: Failover

Similar to teleportation above, failover allows the VM to continue operations if the host fails. However, in this case, the VM continues operation from the last-known coherent state, rather than the current state, based on whatever materials the backup server was last provided with.

Challenges

An issue with virtualization is the complexities of licensing. For example, a server running a Linux OS attempting to offer a virtualized Windows Server must still satisfy licensing requirements. Therefore the potential benefits and flexibility of on-demand virtualization must be balanced against the requirements of closed-source, proprietary systems. Some vendors of proprietary software have updated their licensing schemes to address virtualization.

Virtualized desktop results in dependence on centralized servers (for computing and SAN storage) and the network (and higher-bandwidth requirements). This leaves the end users vulnerable to server and network outages or capacity limits.

Desktop virtualization

Main article: Desktop virtualization

Desktop virtualization is the concept of separating the logical desktop from the physical machine.

One form of desktop virtualization, virtual desktop infrastructure (VDI), can be thought as a more advanced form of hardware virtualization. Rather than interacting with a host computer directly via a keyboard, mouse, and monitor, the user interacts with the host computer using another desktop computer or a mobile device by means of a network connection, such as a LAN, Wireless LAN or even the Internet. In addition, the host computer in this scenario becomes a server computer capable of hosting multiple virtual machines at the same time for multiple users.

Nested virtualization

Main article: Nested virtualization

Nested virtualization refers to virtualized virtualization, or simulation of a virtual machine within another. The general concept can be extended to an arbitrary depth. A nested guest virtual machine need not be homogenous with its host virtual machine (e.g., application virtualization within hardware virtualization).

OpenVZ
Virtualbox
VMWare
Xen
Citrix XenServer
Sun xVM
Oracle VM

NAS Storage

NAS Storage

NAS Storage

 

Network-attached storage (NAS) is file-level computer data storage connected to a computer network providing data access to aheterogeneous group of clients. NAS not only operates as a file server, but is specialized for this task either by its hardware, software, or configuration of those elements. NAS is often manufactured as a computer appliance – a specialized computer built from the ground up for storing and serving files – rather than simply a general purpose computer being used for the role.

As of 2010 NAS devices are gaining popularity, as a convenient method of sharing files among multiple computers. Potential benefits of network-attached storage, compared to file servers, include faster data access, easier administration, and simple configuration.

Network-attached storage
Connects to Local Area Network via one of:

  • Ethernet
  • Wi-Fi

Hard Drives via one of:

  • SATA
  • SAS
  • USB
Common manufacturers EMC Corporation
NetApp
HP
Buffalo Technology
Netgear
Sun Microsystems
LaCie
Introduced 1980s

Description

A Netgear NAS

A NAS unit is a computer connected to a network that provides only file-based data storage services to other devices on the network. Although it may technically be possible to run other software on a NAS unit, it is not designed to be a general purpose server. For example, NAS units usually do not have a keyboard or display, and are controlled and configured over the network, often using a browser.

Description
A Netgear NAS
A NAS unit is a computer connected to a network that provides only file-based data storage services to other devices on the network. Although it may technically be possible to run other software on a NAS unit, it is not designed to be a general purpose server. For example, NAS units usually do not have a keyboard or display, and are controlled and configured over the network, often using a browser.

A full-featured operating system is not needed on a NAS device, so often a stripped-down operating system is used. For example, FreeNAS, an open source NAS solution designed for commodity PC hardware, is implemented as a stripped-down version of FreeBSD.

NAS systems contain one or more hard drives, often arranged into logical, redundant storage containers or RAID.

NAS uses file-based protocols such as NFS (popular on UNIX systems), SMB/CIFS (Server Message Block/Common Internet File System) (used with MS Windows systems), AFP (used with Apple Macintosh computers), or NCP (used with OES and Novell NetWare). NAS units rarely limit clients to a single protocol.

A full-featured operating system is not needed on a NAS device, so often a stripped-down operating system is used. For example,FreeNAS, an

Description
A Netgear NAS
A NAS unit is a computer connected to a network that provides only file-based data storage services to other devices on the network. Although it may technically be possible to run other software on a NAS unit, it is not designed to be a general purpose server. For example, NAS units usually do not have a keyboard or display, and are controlled and configured over the network, often using a browser.[4]

A full-featured operating system is not needed on a NAS device, so often a stripped-down operating system is used. For example, FreeNAS, an open source NAS solution designed for commodity PC hardware, is implemented as a stripped-down version of FreeBSD.

NAS systems contain one or more hard drives, often arranged into logical, redundant storage containers or RAID.

NAS uses file-based protocols such as NFS (popular on UNIX systems), SMB/CIFS (Server Message Block/Common Internet File System) (used with MS Windows systems), AFP (used with Apple Macintosh computers), or NCP (used with OES and Novell NetWare). NAS units rarely limit clients to a single protocol.

 NAS solution designed for commodity PC hardware, is implemented as a stripped-down version of FreeBSD.

NAS systems contain one or more hard drives, often arranged into logical, redundant storage containers or RAID.

NAS uses file-based protocols such as NFS (popular on UNIX systems), SMB/CIFS (Server Message Block/Common Internet File System) (used with MS Windows systems), AFP (used with Apple Macintosh computers), or NCP (used with OES and Novell NetWare). NAS units rarely limit clients to a single protocol.

NAS vs. DAS

The key difference between direct-attached storage (DAS) and NAS is that DAS is simply an extension to an existing server and is not necessarily networked. NAS is designed as an easy and self-contained solution for sharing files over the network.

Both DAS and NAS can potentially increase availability of data by using RAID or clustering.

NAS vs. SAN

Visual differentiation of NAS vs. SANuse in network architecture

NAS provides both storage and a file system. This is often contrasted with SAN (Storage Area Network), which provides only block-based storage and leaves file system concerns on the “client” side. SAN protocols include Fibre Channel, iSCSI, ATA over Ethernet (AoE) andHyperSCSI.

Implementation

The way manufacturers make NAS devices can be classified into three types:

  1. Computer based NAS – Using a computer (Server level or a personal computer), installs FTP/SMB/AFP… software server. The power consumption of this NAS type is the largest, but its functions are the most powerful. Some large NAS manufacturers like QNAP, Synology and ASUStor make these types of devices. Max FTP throughput speed varies by computer CPU and amount of RAM.
  2. Embedded system based NAS – Using an ARM, MIPS… embedded system and RTOS to run a NAS server. The power consumption of this NAS type is fair, and functions in the NAS can fit most end user requirements. Marvell, Oxford, and Storlink make chipsets for this type of NAS. Max FTP throughput varies from 20 MB/s to 120 MB/s.
  3. ASIC based NAS – Provisioning NAS through the use of a single ASIC chip, using hardware to implement TCP/IP and file system. There is no OS in the chip, as all the performance-related operations are done by hardware acceleration circuits. The power consumption of this type of NAS is low, as functions are limited to only support SMB and FTP. Layerwalker is the only chipset manufacturer for this type of NAS. Max FTP throughput is 40 MB/s.

Uses

NAS is useful for more than just general centralized storage provided to client computers in environments with large amounts of data. NAS can enable simpler and lower cost systems such as load-balancing and fault-tolerant email and web server systems by providing storage services. The potential emerging market for NAS is the consumer market where there is a large amount of multi-media data. Such consumer market appliances are now commonly available. Unlike their rackmounted counterparts, they are generally packaged in smaller form factors. The price of NAS appliances has plummeted in recent years, offering flexible network-based storage to the home consumer market for little more than the cost of a regular USB or FireWire external hard disk. Many of these home consumer devices are built around ARM, PowerPC or MIPS processors running an embedded Linux operating system.

Examples

Open source server implementations

Open source NAS-oriented distributions of Linux and FreeBSD are available, including FreeNAS, NAS4Free, CryptoNAS, NASLite, Gluster, Openfiler, OpenMediaVault, EasyNASand the Debian-based TurnKey File Server. These are designed to be easy to set up on commodity PC hardware, and are typically configured using a web browser.

They can run from a virtual machine, Live CD, bootable USB flash drive (Live USB), or from one of the mounted hard drives. They run Samba (an SMB daemon), NFS daemon, and FTP daemons which are freely available for those operating systems.

NexentaStor, built on the Nexenta Core Platform, is similar in that it is built on open source foundations; however, NexentaStor requires more memory than consumer-oriented open source NAS solutions and also contains most of the features of enterprise class NAS solutions, such as snapshots, management utilities, tiering services, mirroring, and end-to-end checksumming due, in part, to the use of ZFS.

List of network protocols used to serve NAS

  • Andrew File System (AFS)
  • Apple Filing Protocol (AFP)
  • Server Message Block (CIFS, former SAMBA)
  • File Transfer Protocol (FTP)
  • Hypertext Transfer Protocol (HTTP)
  • Network File System (NFS, a UNIX protocol)
  • rsync
  • SSH file transfer protocol (SFTP)
  • Universal Plug and Play (UPnP)

Web User Interface,
Command Line Interface,
10GigE Drivers,
Thin Provisioning,
Zettabyte File System,
Snapshots,
Backup and Restore,
File Sharing,