NDG Linux Essential - Chapter 3 Notes | PDF | Cloud Computing | Linux
0% found this document useful (0 votes)
155 views

NDG Linux Essential - Chapter 3 Notes

The document discusses 3 key components required for email transfer: Mail Transfer Agents (MTA) like Sendmail and Postfix that transfer messages between systems, Mail Delivery Agents (MDA) like Dovecot that store email in user mailboxes, and POP/IMAP servers like Dovecot and Cyrus IMAP that allow email clients to access mail. It also covers file sharing protocols like Samba, Netatalk, and NFS, as well as network services like DNS, LDAP, and DHCP. The document provides an overview of desktop applications, programming languages, text editors, package management systems, and basic computer security concepts in Linux.

Uploaded by

Francis
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views

NDG Linux Essential - Chapter 3 Notes

The document discusses 3 key components required for email transfer: Mail Transfer Agents (MTA) like Sendmail and Postfix that transfer messages between systems, Mail Delivery Agents (MDA) like Dovecot that store email in user mailboxes, and POP/IMAP servers like Dovecot and Cyrus IMAP that allow email clients to access mail. It also covers file sharing protocols like Samba, Netatalk, and NFS, as well as network services like DNS, LDAP, and DHCP. The document provides an overview of desktop applications, programming languages, text editors, package management systems, and basic computer security concepts in Linux.

Uploaded by

Francis
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

3 different tasks required to get an email between people:

● Mail Transfer Agent (MTA)


-software used to transfer electronic messages to other systems
-Sendmail is the most well known MTA
-Postfix is another popular MTA
-aims to be simpler and more secure than Sendmail

● Mail Delivery Agent (MDA)


-also called Local Delivery Agent
-takes care of storing email in the user’s mailbox

● POP/IMAP Server
-Post Office Protocol (POP) and Internet Message Access Protocol (IMAP)
-two communication protocols that let an email client running on your computer talk
to a remote server to pick up the mail

Dovecot
-popular POP/IMAP server
-ease of use and low maintenance
Cyrus IMAP

Some POP/IMAP servers implement their own mail database format for performance and
include the MDA if custom database is desired
Standard file formats→ MDA

File Sharing
Samba- allows Linux machine to look and behave like a Windows machine
-implements the server components, such as making files available for sharing and
certain Windows Server roles

Netatalk- lets Linux machine perform as an Apple Macintosh file Server

Network File System (NFS)-native file-sharing protocol for UNIX/Linux


-usually part of Kernel→ remote file system can be mounted just like
a regular disk making file access transparent to other applications.

Domain Name System (DNS)-oldest network directory system


-converts a website address to an IP address(unique identifier
to a computer on the Internet)
-Internet Software Consortium maintains the most popular
DNS server, simply called bind after the name of the process that runs the service

Lightweight Directory Access Protocol (LDAP)-one common directory system that also
powers Microsoft’s Active Directory.
-an object is stored in a tree, and the position of that object on the tree can be used to derive
information about the object and what it stores.

OpenLDAP is the dominant program used in Linux infrastructure


Dynamic Host Configuration Protocol (DHCP)- provides or assigns a free IP address taken
from the DHCP pool to any computer that needs one.

Internet Software Consortium- maintains ISC DHCP server→ most common open source DHCP
server.

Desktop - Linux has a variety of desktop applications

Email
Thunderbird-from Mozilla foundation
-full feature desktop email client
-connect to POP/IMAP sever
-displays and sends email

Evolution and KMail- are GNOME and KDE projects’ email clients

Creative
Blender - handles 3D movie creation
GIMP (GNU Image Manipulation Program) - 2D image manipulation
Audacity- open-source audio editing tool

Productivity
Libre Office - fork of the OpenOffice
-offers full office suite
-can work with other file formats
-has features and file formats that are similar to MS office

LibreOffice Calc-spreadsheet program


LibreOffice Writer-has text features, graphics, data tables and much more

Documents and spreadsheets can be linked together

Web Browsers
Google Chrome and Mozilla Firefox - known browsers that are used in Linux

Console Tools
Familiarity with programming is required for system administrators

Shells
- accepts commands from the user (e.g. file manipulation & starting applications) and pass
those commands to the Linux kernel for those commands to be executed.
Linux - provides a rich language for iterating over files and customizing the environment, all
without leaving the shell

Bourne shell-by Stephen Bourne of Bell Labas


C shell-syntaxes are heavily borrowed from C language
-both invented in the 1970s

Bourne Again Shell (Bash) & tsch (pronounced as tee-cee-shell) - modern versions
Bash- default shell on your most systems
Tsch - also available

Korn shell (ksh) and Z shell (zsh) - shells that were based from Bash and tcsh’s favorite
features

Text Editors
-used at the console to edit configuration files

Vi (or the more modern Vim) and Emacs - two main apps that are remarkably powerful to edit
text files
- differ in the format of commands and how plugins are written for them
-both complex and have a steep learning curve

Pico and Nano - provide very basic text editing


Nano - open source that is loosely base on Pico
-doesn’t offer extensive suite of more advanced editing and key binding features
Pico - closed source

Package Management
-are compressed files that bundle up an application and its dependencies (or required files)
-simplifying the installation
-takes care of keeping track of which files belong to which package and even downloading
updates frim repositories, typically a remote server sharing out appropriate updates for a
distribution
Debian and Red Hat - most popular package management systems

Debian Package Management


-are software packages that are distributes as files ending in the .deb extension
dpkg command - lowest-level tool for managing the files
-can be tricky for novice users
Aptpget (front-end program to the dpkg tool) - makes management of packages easier
Addtional command line tools:
aptitude- front-ends for dpkg
Synaptic and Software Center - GUI front-ends

RPM Package Management


- standard package management system
- .rpm file format for each software package
-other distributions were derived from Red hat (Centos and Fedora) use RPM
-non Red Hat derived such SUSE, OpenSUSE, and Arch also use RPM
-track dependencies between packages→ ensures that when a package is installed, the system also installs
any packages needed by that package to function correctly as well as that software updates and removals
are performed properly

rpm command - commonly used back-end tool


-can install update, query, and remove packages
yum and up2date - front-end tools that automate the process of resolving dependency issues

Note:
Front-end - programs that interact with people
Back-end - programs that interact with other programs

Yumex and Gnome PackageKit - other GUI-based front-end tools that also make RPM package
management easier.

ZYpp (or libzypp) package - implemented by some RPM-based distributions mostly for
openSUSE and SUSELinux Enterprise
MeeGo, Tizen, and Sailfish - mobile distributions

Zypper command- is the basis of the ZYpp method


-it features short and long English commands to perform function such as zypper in packagename→
installs a package including any needed dependencies

Note:
Package management commands require root privileges or administrative access

Development Languages
- a way for a programmer to enter instructions in a more human-readable format that is
translated, read , and understood by the computer

2 types of programming languages:


Interpreted - translates the written code into computer code as the program runs
Compiled - translates all at once

Compiled Languages
C-a compiled language where Linux was written
-maps closely the to the generated machine code so that a skilled programmer can write code
that is small and efficient
C++- adds object support to C
Object C-is in heavy use in Apple Products
Java- uses Java Virtual Machine (JVM) and then compiles all the code
JVM-simple and reliable that can run to any computer that has it

Interpreted languages-are translated machine code as they execute


-tend to offer more features than compiled languages→ less code is needed
Javascript - a high-level interpreted programming language
-one of the core technologies on the world wide web
-cross-platform scripting language for adding interactive elements to web pages
-can add from simple animations to complex server-side applications for internet users
Perl-originally developed to perform text manipulation
-improved ana used to build web applications
PHP- initially built to create dynamic pages
- a PHP file is read by a web server such as Apache
-easy to learn and available in almost any system
-WordPress, cacti, and even parts of Facebook were built from PHP
Ruby-influenced by Perl and Shell, along with many languages
-makes complex programming tasks relatively easy
Ruby on Rails framework-popular for building complex web applications
-powers also popular automation tools like Chef and Puppet→ makes managing a large number
of Linux systems easier

Python-another scripting language that has a general use


-makes complex tasks easier
Django- makes building web applications easy
-has excellent statistical processing abilities

Library- bundles coom tasks into a distinct package that can be used by the developer
ImageMagick - a library that lets a programmer manipulate images in code
OpenSSL - cryptographic library that’s used in everything from web servers to the command line
C library - provides a basic set of functions for reading and writing to files and displays and is
used by applications and other languages alike.

Security
Cookies - a primary mechanism that websites use to track you
E.g. to keep track of what is in your shopping cart or to keep you logged in when you return to the site
-a small piece of text that a web sends back to a user as he or she browses the web
-browser stores this information and sends it back with every request to the same site

Many sites have embedded scripts comes from third parties


-an advertiser can track if you visited a particular website

Browsers typically offer cookie-related settings; users can opt to have the browser tell the site not
to track. This voluntary tag is sent in the request, and some sites will honor it.

Browsers offer a private or incognito mode where cookies and tracking pixels are deleted upon
exiting the window

Password Issues
Good password management is essential to security in any computing environment
-can be managed by multiple users and given different login permission depending on what
groups they are assigned to
Two-factor authentication (2FA) - a technique where a password is supplemented by a second
“factor”, often a passcode sent to the user’s phone or other devices

Protecting Yourself
As one browses, he or she can leave a digital footprint→ some ignores, while others collect for advertising.
There are also some who used it for malicious purpose
A good password is needed, especially on a local device→ a password that is at least 10 characters long,
mixture numbers, letters (both upper and lowercase), and special symbols

KeePassX - a password manager used to generate passwords


-need only a login password for your machine and another password to open up your KeePassX
file

Limit the information you gives to sites to only what is needed


Check for updates periodically, especially if it’s security-related. Update promptly
Protect computer from accepting incoming connections→ Firewall - a device that filters network traffic,
Linux has one built-in
Gufw - GUI to Ubuntu’s Uncomplicated Firewall (UWF)
Iptables - built-in firewall system

Privacy Tools
-used both in server and user level that can help prevent system intrusions and unauthorized
access to data
Linux - by default one of the most secured operating systems ever created→ due to the underlying
architecture
However, there are still many known weaknesses that hackers can take advantage of→deployed privacy
tools
Encryption - best known and most widely-deployed privacy tool in use today
-comes with authentication keys on almost every system that communicates with the outside
world
E.g HyperText Transfer Protocol Secure (HTTPS) standard used on web servers to ensure that
data transmitted between users and online resources cannot be intercepted as it travels on the
open internet

Virtual private networks (VPN) - allows ordinary users to protect their privacy online
-works by creating an encrypted channel of communication between two systems

Tor - involved in creating privacy tool


Tor Browser - works by relaying internet requests through a network of servers that prevents
websites and others from learning the identity of the person making the request

The Cloud
The migration of an organization's IT applications and processes to cloud services, known as
cloud adoption, is rapidly becoming a strategic business decision for many
a cloud can be described as computing resources from one or many off-site data centers which
can be accessed over the internet. The cloud builds on the benefits of a data center and provides
computing solutions to organizations who need to store and process data, and it allows them to
delegate management of IT infrastructure to a third-party

Four primary cloud deployment models:


Public cloud - is a cloud infrastructure deployed by a provider to offer cloud services to the
general public and organizations over the internet
-multiple consumers
-Amazon and Google
Private cloud - cloud infrastructure that is set up for the sole use of a particular organization
-has a greater degree and control over the cloud infrastructure, applications, and data
-Rackspace or IBM
Community Cloud - cloud infrastructure that is set up for the sole use by a group of organizations
with common goals or requirements
-organizations typically share the cost of the community cloud service
Hybrid cloud - composed of two or more individual clouds, each can be a private, community, or
public cloud
-may overtime as component clouds join and leave
-enable data and application portability

Linux in the Cloud


-plays pivotal role
-power 90 percent of the public cloud workload, most virtual servers are based on some version
of the Linux kernel and is often used to host application behind cloud computing services

What makes Linux uniquely suited for enabling cloud computing


Flexiblity - Cloud computing provides the capability to provision IT resources quickly and at any
time
-enables rapid development and experimentation
-Linux stands out because it is highly adaptable
-open source→ endless configuration to suit various systems and use cases
-allows to run anything

Accessiblity - every single device has a Linux version among them

Cost-effective - cloud computing has the potential to reduce IT costs as it automatically scale IT
resource to meet demand in order to eliminate using underutilized resources
Linux is one of the most cost-effective solutions providers can deploy
- Linux is one of the most power efficient operating systems, and it is completely free, as are
many associated applications, utilities, and additional software components.
-Linux-based solutions are cheaper

Manageability - Linux as a niche OS became known to many IT industry and became necessary
for professionals in the field
-t is becoming increasingly easy for cloud vendors and consumers to acquire the necessary
talent, or reallocate existing team members.
-automation feature

Security - Linux is one of the most secure and reliable OS available


-source code can be inspected for issues and vulnerabilities

Virtualization - is the process where one physical computer, called the host, runs multiple copies
of an operating system, each copy called a guest.
Hypervisor - software that host runs that switches resource between the various guests just like
Linux does for individual process.
-emulator that runs virtual machines
Bare metal hypervisors - directly on computer hardware rather than on top of an OS freeing up
more resources for guest images
-works because servers spend most of their time idling and don’t need physical resources such
as a monitor and keyboard
VMWare and Openbox - software companies → you can now take a powerful CPU and by using it to run
multiple virtual machines administrators can optimize usage of physical resources and dramatically reduce
costs over the previous one-machine, one-OS data center model
-main limitation is memory

Containers and Bare Metal Deployments


Docker and Kubernetes - containerization technologies
- being written and run in an serverless environment
Pods - runs within a node and can talk with each other and outside world
Nodes - organized and controlled by master nodes that provide services to each component
within the structure

You might also like