Linux is a family of free and open-source software operating systems built around the Linux kernel. Typically, Linux is packaged in a form known as a Linux distribution for both desktop and server use.
Linux is a community of open-source Unix like operating systems that are based on the Linux Kernel. It was initially released by Linus Torvalds on September 17, 1991. It is a free and open-source operating system and the source code can be modified and distributed to anyone commercially or noncommercially under the GNU General Public License. Initially, Linux was created for personal computers and gradually it was used in other machines like servers, mainframe computers, supercomputers, etc. Nowadays, Linux is also used in embedded systems like routers, automation controls, televisions, digital video recorders, video game consoles, smartwatches, etc. The biggest success of Linux is Android(operating system) it is based on the Linux kernel that is running on smartphones and tablets. Due to android Linux has the largest installed base of all general-purpose operating systems. Linux is generally packaged in a Linux distribution.
inux distribution is an operating system that is made up of a collection of software based on Linux kernel or you can say distribution contains the Linux kernel and supporting libraries and software. And you can get Linux based operating system by downloading one of the Linux distributions and these distributions are available for different types of devices like embedded devices, personal computers, etc. Around 600 + Linux Distributions are available
Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of the most popular platforms on the planet, Android, is powered by the Linux operating system. An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply, the operating system manages the communication between your software and your hardware. Without the operating system (OS), the software wouldn’t function.
The Linux operating system comprises several different pieces:
The following are explained while installing Linux or during the first boot-up
History
Distributions
Devices and Drives in Linux
Filesystem Hierarchy
Components: Kernel, Distribution, XFree86, Sawfish, Gnome.
User Software
GNOME Basics. Changing the desktop background, adding menu items, plugins.
Changing the screen resolution
Evolution - the default e-mail client in Fedora.
Mozilla - Web browser
OpenOffice - Productivity tools. Word processor, spreadsheet, presentation software.
gaim - Chat application
XScreensaver
How user preferences are stored in your home directory
Updating your system with up2date / yum.
How to restart X11: Ctrl-Alt-Backspace
The command-line
The command-line (shells, tab completion, cd, ls)
file management: cd, df, find, locate
nano, the text editor that replaces pico.
man pages - the help system
ssh - secure text-based connectivity to other machines. Demonstrate X-Forwarding.
Handling compressed archives with zip and tar.
GNU screen - The ability to resume command-line sessions from anywhere.
Basic Administration
Adding users, groups
su - the obsoleted way to become the root user.
sudo - the modern way to run processes as another user.
Changing users passwords with the passwd command.
Printing with CUPS.
Installing new software with yum (if Fedora) or YaST (if SUSE)
Installing new software with rpm
Installing webmin for easy web based systems administration
System Administration
logfiles. Using tail -f to watch /var/log/messages
Configuring Kerberos authentication
Explaining file permissions, including setuid.
How to enable and disable services
ntp - Setting up time synchronization
Setting DNS settings by editing /etc/resolv.conf
Changing XFree86 settings in /etc/XFree86/XFree86.conf
Apache and MySQL administration
About the Apache webserver.
About the MySQL database engine.
About the PHP scripting language.
Enabling the Apache with PHP and MySQL services
Using MySQL Administrator
PHPMyAdmin - web based administration and query console for MySQL.
Adding a MySQL user in phpmyadmin
Installing WordPress- a popular blogging software that uses MySQL.
Installing Coppermine - a popular photo gallery software that uses MySQL.
Windows Integration
Connecting to your Linux machine from Windows using PuTTY and WinSCP.
WINE - free Windows API compatibility layer, for running Windows applications in Linux. We will use mIRC as a sample application.
Samba basics.
Configuring Samba to authenticate using ADS
rdesktop - Windows Terminal Server Client.
smbclient - an FTP-like client for SMB shares
smbmount - Mounting samba shares to a local directory (explain mount)
smb4k (unless Konqueror decides to work)
Automation
cut - cutting out the good parts of your input
sort - sorting files
uniq - finding the unique lines in a set of input
sed - searching and replacing, tail, head
find -exec - running a command on a large set of files
Writing a shell script
System Administration II
Mounting disks
Killing processes with kill
Where to find software: freshmeat.net
Fetching files with wget
Compiling software: configure, make, make install
Reviewing find and du for finding out where your disk space went to.
X: Networking Tools
ping - check if a host is online
traceroute - see your hops between hosts
telnet - diagnostics
nmap - seeing what ports are open on a host
- the "internet super server". TCP/IP service manager.
lsof - list open ports and files
ethereal - Packet Sniffer Extraordinaire.
Final Test
For the final test, I will present a badly beaten Linux machine. It's got numerous problems on it, and they need to be fixed. Here are some problems you will run up against:
You don't know the root password. (Pay attention to how single user mode works, and how to change users passwords)
You don't know the MySQL root password, but need to get access to the database. You will need to use Google to research the answer to this one.
The settings in XFree86 are not right for the current monitor, so it is not starting up.
Customizing your user environment
symbolic links
The Z Shell
aliases, including -s types in zsh.
variables
PATH
prompts
Terminal transparency
adding things to your X startup