Module 1 Introduction to Linux
When was Linux created?
1991
Ubuntu
A Debian-based distribution. Designed to be easy to use and supports nearly all hardware, including mobile computing devices. x86/x64 PPC/POWER Mainframe ARM
Tarball
A compressed archive of files containing scripts that install Linux software to the correct locations on a computer system.
What is a Hardware?
A hardware is the equipment or physical part of the computer that allows the flow of information through it's circuits.
Gentoo
A linux distribution that focuses on hardware and software optimization. x86/x64 PPC/POWER ARM
Digital signature
A message that has been encrypted with a private key.
Kerberos
A network protocol used for authentication and authorization.
Debian Package Manager (DPM)
A package manager used on Debian and Debian-based Linux distributions.
Linux Mint
A relatively new and easy-to-use Linux distribution that is focused on providing desktop and mobile user capabilities. x86/x64
GNU General Public License (GPL)
A software license, ensuring that the source code for any OSS will remain freely available to anyone who wants to examine, build on, or improve upon it.
BSD (Berkeley Software Distribution)
A version of UNIX developed out of the original UNIX source code and given free to the University of California at Berkeley by AT&T.
Arch
A very lightweight and customizable Linux distribution. Due to its focus on simplicity and customization, it is often used within specialized environments and on small footprint systems x86/x64
What the common symmetric encryption algorithms?
AES, 3DES, RC4.
Why can software developers write Linux source code in many programming language?
After being compiled into machine language, all programs look the same to the computer operating system.
Mail Transfer Agent (MTA)
An email server. Before a user can access his email, it must be downloaded from an MTA.
Free Software Foundation (FSF)
An organization, started by Richard Stallman, that promotes and encourages the collaboration of software developers worldwide to allow the free sharing of source code and software programs.
What is the most widely used Web Server software package?
Apache Web Server
System Services
Application that handle system-related tasks, such as printing, scheduling programs, and network access.
Development kernels
Are not fully tested and imply instability; They are tested for vulnerabilities by people who develop Linux software. The format, is that they append minor numbers with the letters -rc (release candidate) followed by a number that represents the version of the developmental kernel. 4.18-rc3 developmental kernel is the third release candidate for the 4.18 kernel. Once it is fully stable, it will become the 4.18.0 kernel.
Time Services
BIOS on each computer contains a system clock that stroes the current date and time. Operating systems either uses this or the NTP Network Time Protocol to provide time information. NTP (ntpd) or Chrony NTP (chronyd)
What are flavors of UNIX?
BSD, Hewlett-Packard's HP-UX, IBM's AIX, macOS and iOS.
Relation with FQDN and DNS
Browser gets FQDN information from a DNS service. DNs server maintains a list of the proper FQDN to IP mappings, and quickly returns the requested IP address to your browser.
What are examples of the piece of hardware in a computer?
CPU, memory, CVD/DVD, Hard Drives or Solid State Drives, Flash Memory, Sound Card, Video Cards, Network Adapter Card, Ports and motherboard.
What is the Cinnamon and XFCE?
Cinnamon is a desktop environment derived from GNOME is that easy to use. XFCE is an lightweight desktop environment designed for Linux systems with few CPU and RAM measures.
Freeware
Closed source software that is given out free of charge; it is sometimes referred to as premium software.
Shareware
Closed source software that is initially given out free of charge but that requires payment after a certain period of use.
Flash Memory Devices
Compact and nonvolatile devices that can read and write information to and from removable memory cards, such as Secure Digital (SD) cards.
Sending an encrypted message steps
Computer A to Computer B Computer A would first obtain the public key from host B and use it to encrypt the message. Computer A sends the encrypted message across the network to host B, Host B uses private key to decrypt the message. Host B is the only computer on the network with the private key that matches the public key, therefore it's the only computer on the network that can decrypt the message. This can also be proven, with the same steps with authentication.
openSUSE
Developed in Europe openSUSe is the oldest business-focused Linux Distrubtion. Novell purchased the distribution to replace its NetWare OS and instead distributes enterprise versions of openSUSE. Platform x86/x64 PPC/POWERARM
Video cards
Displays results to the display screen
Red Hat Distribution
Earliest Linux distributions and used in organizations. Enterprise distribution for enterprise environments, and Fedora distribution geared for all environments (servers, desktops, laptops, etc.) GNOME desktop and RPM standard. Platforms x86/x64 PPC/POWER Mainframe ARM
FTP services
FTP, common and efficient way for transferring files over the Internet is by using the File Transfer Protocol(FTP). Very Secure FTP Server is used Linux.
Why should you choose a production kernel for a mission critical computer?
For a server, this reduces the chance that you will encounter a bug in the kernel, which saves you the time needed to change kernels.
Ease of Customization
For example, recompiling the Linux into a web server. Which results in a faster or smaller kernel.
What are the two main competing GUI environments?
GNU Network Object Model Environment (GNOME) and K Desktop Environment(KDE). GNOME uses the gtk toolkit, where the KDE desktop uses the qt toolkit.
Examples of Linux can be ran for?
Graphics rendering or chemical molecular modeling, point-of-sale terminals, and inventory scanners. It can be customized to work on high end and low end software.
What the main components of computers?
Hardware and Software.
What does UNIX do today?
Heavy-duty, mission-critical tasks, e-commerce and database hosting.
Risk Reduction
If a company went out of business selling their software, it would not be updated. Therefore, you would be at risk of losing revenue for outdated software.
Minor number (4.17.6)
In this version, the 17 represents the minor number in the Linux kernel. Minor modification. Used by the kernel to identify which specific hardware device, within a given category, to use as a driver to communicate with.
Major number (4.17.6)
In this version, the 4 represents the major number in the Linux kernel. Major change or modification. Used by the kernel to identify which device driver to call to interact properly with a given category of hardware.
Kernel
Innermost and essential part of the Linux operating system. What defines Linux, differing OSS applications that can interact with the common kernel are what differentiates Linux distributions. Make sure to know the hardware of your system in order to know which kernel to use.
What can Linux run on?
Intel x86/ x64, Itanium, Mainframe (S/390, z/Architecture), ARM, MIPS, SPARC / Ultra-SPARC, PowerPC/Power.
What are Linux configurations commonly used?
Internet servers, File and print servers, Application servers, Cloud systems, supercomputer, scientific workstation, office/personal workstation, Cybersecurity workstations and mobile devices.
Why is OSS process a good idea?
It was intended to aid in better design solutions for software, rather than profit. Developers cooperate and try to make the best possible solutions, rather with strict and rigid corporate deadlines.
History of Linux
Ken Thompson and Dennis Ritchie of AT&T Bell Laboratories in 1969 and was developed through the efforts of many people as a result of the hacker culture that as formed in the 1980s.
What did Ken Thompson and Dennis Ritchie do?
Ken Thompson developed an operating system called UNIX in 1969 that ran on the DEC (Department Equipment Corporation) PDP-7 computer. Dennis Ritchie invented the C programming language that was used on Ken Thompson's UNIX operating system. C programming was better because it easier to use to write programs and it was possible to run a program on different machines without having to rewrite code.
Ease of Obtaining Support
Linux documentation such as FAQs LDP ( Linux Documentation Projects) which allows you to search or download HOWTO documents Newsgroup which allow Linux users to post messages and reply to previously posted messages. Linux User Groups (LUGS), groups of Linux users who meet regularly to discuss Linux-related issues and problems.
Meeting business needs
Linux includes scientific and engineering software, software emulators, web servers, web browser, and e-commerce suites. Desktop productivity software, graphics manipulation software, database software, security software.
Production kernels
Linux kernel whose minor number is even. Thoroughly tested by several Linux developers and are declared stable. Deemed stable through widespread testing.
Why is it easier for users to transition?
Linux supports most UNIX commands and standards, which eases a transition to Linux because the company does not have to purchase additional software or retrain staff.
source code
List of instruction s that a software developer writes to make up a program. This source code is compiled into a format called the machine language.
Linux Boot Process
Loads computer memory when you first power on your computer and initializes all of the hardware components. Loads the programs that display the interface, execute commands that tell the operating system and other applications to perform specific tasks. Within the interface, you can execute commands that tell the operating system and other application to perform specific tasks. Operating system then uses the computer hardware to perform the tasks required by the applications.
What happens when you turn the computer on?
Loads the operating system into computer hardware, which then loads and centrally controls all other application software in the background.
Mail Delivery Agent (MDA)
MDA does this. Provides several of these services; getmail and mpop are two of the most common.
Mail Services
Mail Transfer Agents(MTA), Mail Delivery Agent, Mail User Agent(MUA)
CPU
Main processing unit of a CPU
Linux kernel versions components
Major number, Minor Number, Revision Number.
Debian
Offering the largest number of customization options of all Linux distributions, Debian Linux contains software packages for any use. Supports nearly all languages and hardware. x86/x64 PPC/POWER Mainframe ARM MIPS
Common linux package managers
Pacman(Arch Linux), Zypper(openSUSE Linux), Portage (Gentoo Linux)
Stability and Security
Patches are more quickly distributed due to the fact many users are able to report and patch fixes or either notify the developers. Number of virus that can affect Linux is low, but not impossible, many desktop and server Linux systems run antivirus and anti malware software.
Authentication
Process whereby each user must log in with a valid user name and password before gaining access to a system.
User interface
Program that accepts user input indicating what to do, forwards this input to the operating system for completion, and, after it is completed, gives the results back to the user.
What is the difference between Programs or Process?
Programs are the files that are located on your computer and process is the file in action while it's running.
What is an DHCP?
Protocol used to automatically obtain a IP address. A pool is configured with a range of allowed ip addresses.
Network Adapter Cards
Provide access to wired and wireless networks (Wi-FI or Bluetooth)
Sound Cards
Provide audio to external speakers
MainBoards
Provide circuitry for interconnecting all other components.
Red Hat Package Manager
RPM standard Linux distributions derived from Red Hat Linux distribution.
Implications of the OSS way of developing software:
Rapidly collaboration, software bugs are noted and fixed, features evolve quickly, based on users' needs, and the value of the software is determined by the usefulness and not the price.
Symmetric encryption
Reversible algorithm an can be decrypted with the same key.
What are the advantages of Linux?
Risk Reduction, Meeting business needs, stability and security, flexibility for different hardware platforms, ease of customization, ease of obtaining support, cost reduction.
Server services
Services made for other computers across a network.
Workstation Services
Services that are used on local computer
Closed source software
Software in which source code is not available. Might be distributed free of charge, it is usually costly and commonly referred to as commercial software. (Microsoft, Apple, and Electronic Arts (EA)).
Package Manager
Software system that installs and maintains software. Keeps track of installed software, requires a standard format and documentation, and can manage and remove software from a system by recording all relevant software information.
Open Source Software (OSS)
Software that is free and where anyone can look at and potentially modify the code.
Artistic License
Source code of program is freely available, yet allows the original author of source code some control over the changes made to it.
Flavor
Specific type of UNIX operating system.
Memory
Stores information as needed by the processor.
Hard Disk / Solid State Drive
Stores most of your information and files.
When should you use asymmetric and symmetrical encryption?
Symmetric encryption is used to encrypt data that is in transit, and asymmetric encryption is used to securely communicate the symmetric encryption key on the network.
Cost reduction
TCO or Total cost of ownership of Linux is low. Cost of administration is low because stability is high and bugs are fixed quickly by open source developers. Cost of additional software because most software is available for Linux is also open source Cost of software upgrades is also low.
Device Driver
Tells the operating system how to use that specific devices.
Multiplex Information and Computing Service (MULTICS)
Test project intended to reveal better ways of developing time-sharing operating system. Developed by AT&T Bell Laboratories, MIT, General Electric. Abandoned in 1969 but revived by Ken Thompson.
fully qualified domain name (FQDN)
The complete domain name of an Internet computer, such as www.CIWcertified.com.
Software
The programs or set of instructions that allows the hardware components to manipulate data(or files).
Programming language
The syntax or rules used for developing a program. Different programming languages use different syntaxes.
What are the two types of programs and what are their uses?
The two types of programs are application and OS systems. Applications are programs that the daily users interacts and uses. Word processors, computer games, graphical manipulation programs, computer system utilities. OS systems consists of a set of software components that control the hardware of your computer.
Critical number (4.17.6.1)
These are sometimes added in order to indicate a critical security or bug patch.
Ports
Thunderbolt, USB-C, ESATA, GPIO. Provide access to external devices or peripherals. Keyboards, Mouse, printers or storage devices
Multi tasking
Type of operating system that is able to manage multiple tasks simultaneously.
Multi user
Type of operating system that is able to provide access to multiple users simultaneously.
Role of Operating System Software
User interacts with the applications by typing on the keyboard or clicking with a mouse Applications take information from the user supplies and relay it to the operating system The operating system uses this information and uses the computer hardware to carry out the requests.
Mail User Agent (MUA)
User views her email using a program known as MUA. Common MUAs include mutt, Alpine, Mozilla, Thunderbird, and Claws Mail.
Asymetric Encryption
Uses a pair of keys that are uniquely generated on each system. Public and private key. If you encrypt data using a public key, that data can only be decrypted using the matching private key. If you encrypt data using a private key, that data can only be decrypted using the matching public key. Public key is freely distributed to any other host on thenetwork, private key is used only by the system and never distributed.
Revision number (4.17.6)
Very minor changes. The number 6 represents the revision number. This means it's the sixth release of the 4.17 kernel. Developers can have add alot of revisions to the kernel.
Graphical user interface
Visual way of interacting with a computer. Consists of menus, dialog boxes, and symbols (known as icons) that the user can interact with via the keyboard or the mouse.
What is the core component of GUI in linux?
X Windows
How can a Linux computer function as a DHCP server?
dhcpd.