LinuxEssentials Objectives V1: Difference between revisions
GMatthewRice (talk | contribs) |
FabianThorns (talk | contribs) |
||
| (62 intermediate revisions by 10 users not shown) | |||
| Line 1: | Line 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
==Introduction== | ==Introduction and Exam Development Workshops== | ||
The purpose of the Linux Essentials | The description of the entire Linux Essentials Program is listed [[LinuxEssentialsProgramme|here]]. | ||
The purpose of the Linux Essentials Certificate is to define the basic knowledge required to competently use a desktop or mobile device using a Linux Operating System. The associated Linux Essentials Program will guide and encourage youth (and those new to Linux and Open Source) to understand the place of Linux and Open Source in the context of the broader IT industry. | |||
==FAQ== | |||
Questions and answers on the Linux Essentials Program and Exam are listed [[LinuxEssentials/FAQs|here]]. | |||
==Minimally Qualified Candidate Description== | ==Minimally Qualified Candidate Description== | ||
This is a description of a candidate that is just barely | This is a description of a candidate that is just barely | ||
qualified to pass the LPI Linux Essentials exam. This hypothetical | qualified to pass the LPI Linux Essentials exam. This hypothetical | ||
| Line 14: | Line 19: | ||
The successful candidate should have an understanding of the Linux and Open Source industry and knowledge of the most popular Open Source Applications. The candidate should understand the major components of the Linux operating system, and have the technical proficiency to work on the Linux command line. The MQC has a basic understanding of security and administration related topics such | The successful candidate should have an understanding of the Linux and Open Source industry and knowledge of the most popular Open Source Applications. The candidate should understand the major components of the Linux operating system, and have the technical proficiency to work on the Linux command line. The MQC has a basic understanding of security and administration related topics such | ||
as user/group management, working on the command line and permissions. | as user/group management, working on the command line and permissions. The Linux Essentials Certificate holder is most likely the end user of a mostly managed system. | ||
The '''LPI Linux Essentials | The '''LPI Linux Essentials Certificate Holder MQC''' typically: | ||
* Has a basic understanding of FOSS, the various communities and licenses. | * Has a basic understanding of FOSS, the various communities and licenses. | ||
* Understands the basic concepts of processes, programs and the components of an Operating System. | * Understands the basic concepts of processes, programs and the components of an Operating System. | ||
* Has a basic knowledge of computer hardware | * Has a basic knowledge of computer hardware. | ||
* Has a basic appreciation of system security, users/groups and file permissions for public and private directories. | * Has a basic appreciation of system security, users/groups and file permissions for public and private directories. | ||
* Basic understanding of how to make the system accessible and able to connect to other computers on a Local Area Network (LAN). | * Basic understanding of how to make the system accessible and able to connect to other computers on a Local Area Network (LAN). | ||
| Line 33: | Line 38: | ||
==Version Information== | ==Version Information== | ||
These objectives are version 0. | |||
These objectives are version 1.0.1. | |||
The draft [[LinuxEssentials Objectives V1.5|version 1.5 objectives]] can be found [[LinuxEssentials Objectives V1.5|here]]. | |||
==Addenda== | |||
===''Clarification Addendum (Apr 1st, 2014)''=== | |||
* added Ubuntu (LTS), Red Hat to 1.1 partial file list. | |||
* added dpkg, rpm, apt-get, yum to 1.2 partial file list. | |||
* added /etc/hosts to 4.4 partial file list. | |||
* added /etc/skel to 5.2 partial file list. | |||
* added /dev/sd*, /dev/hd* to 4.2 partial file list. | |||
==Translations of Objectives== | ==Translations of Objectives== | ||
The following translations of the objectives are available on this wiki: | The following translations of the objectives are available on this wiki: | ||
* [[LinuxEssentials|English]] | |||
* [[LinuxEssentials(DE)|German]] | * [[LinuxEssentials|English]]. | ||
* [[LinuxEssentials(ES)|Spanish]] | * [[LinuxEssentials(AR)|Arabic]]. | ||
* [[LinuxEssentials(TR)|Turkish]] | * [[LinuxEssentials(FR)|French]]. | ||
* [[LinuxEssentials(DE)|German]]. | |||
* [[LinuxEssentials(EL)|Greek]]. | |||
* [[LinuxEssentials(ES)|Spanish]]. | |||
* [[LinuxEssentials(TR)|Turkish]]. | |||
* [[LinuxEssentials(IT)|Italian]]. | |||
* [[LinuxEssentials(NL)|Dutch]]. | |||
==Objectives== | ==Objectives== | ||
===''Topic | ===''Topic 1:The Linux Community and a Career in Open Source (weight: 7)''=== | ||
====<span style="color:navy"> | |||
====<span style="color:navy">1.1 Linux Evolution and Popular Operating Systems</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Knowledge of Linux | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Knowledge of Linux development and major distributions. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Open Source Philosophy | |||
* Distributions | * Open Source Philosophy. | ||
* Embedded Systems | * Distributions. | ||
* Embedded Systems. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* Android | |||
* Debian | * Android. | ||
* CentOS | * Debian, Ubuntu (LTS). | ||
* CentOS, Red Hat. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
< | ====<span style="color:navy">1.2 Major Open Source Applications</span>==== | ||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Awareness of major applications | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Awareness of major applications as well as their uses and development. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Desktop Applications | |||
* Server Applications | * Desktop Applications. | ||
* Mobile Applications | * Server Applications. | ||
* Development Languages | * Mobile Applications. | ||
* Package Management Tools | * Development Languages. | ||
* Package Management Tools and repositories. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* OpenOffice.org, LibreOffice, Thunderbird, Firefox | |||
* Blender, Gimp, Audacity, ImageMagick | * OpenOffice.org, LibreOffice, Thunderbird, Firefox. | ||
* Apache, MySQL, PostgreSQL | * Blender, Gimp, Audacity, ImageMagick. | ||
* NFS, Samba, OpenLDAP, Postfix, DNS, DHCP | * Apache, MySQL, PostgreSQL. | ||
* C, Perl, shell, Python, PHP | * NFS, Samba, OpenLDAP, Postfix, DNS, DHCP. | ||
* C, Java, Perl, shell, Python, PHP. | |||
* dpkg, apt-get, rpm, yum. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | ====<span style="color:navy">1.3 Understanding Open Source Software and Licensing</span>==== | ||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Open | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Open communities and licensing Open Source Software for business. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Licensing | |||
* Free Software Foundation (FSF), Open Source Initiative (OSI) | * Licensing. | ||
* Free Software Foundation (FSF), Open Source Initiative (OSI). | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* GPL, BSD, Creative Commons | |||
* Free Software, Open Source Software, FOSS, FLOSS | * GPL, BSD, Creative Commons. | ||
* Open Source business models | * Free Software, Open Source Software, FOSS, FLOSS. | ||
* Open Source business models. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * Intellectual Property (IP): copyright, trademarks and patents. | ||
* Apache License, Mozilla License. | |||
====<span style="color:navy">1.4 ICT Skills and Working in Linux</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Basic Information and Communication Technology (ICT) | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Basic Information and Communication Technology (ICT) skills and working in Linux. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Desktop Skills | |||
* Getting to the Command Line | * Desktop Skills. | ||
* Industry uses of Linux, Cloud Computing and Virtualization | * Getting to the Command Line. | ||
* Industry uses of Linux, Cloud Computing and Virtualization. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* Using a browser, privacy concerns, configuration options, searching the web and saving content | |||
* Terminal and Console | * Using a browser, privacy concerns, configuration options, searching the web and saving content. | ||
* Password issues | * Terminal and Console. | ||
* Privacy issues and tools | * Password issues. | ||
* Use of common open source applications in presentations and projects | * Privacy issues and tools. | ||
* Use of common open source applications in presentations and projects. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
===''Topic | ===''Topic 2: Finding Your Way on a Linux System (weight: 8)''=== | ||
====<span style="color:navy"> | |||
====<span style="color:navy">2.1 Command Line Basics</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Basics of using the Linux command line. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Basics of using the Linux command line. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Basic shell | |||
* Formatting commands | * Basic shell. | ||
* Working With Options | * Formatting commands. | ||
* Variables | * Working With Options. | ||
* Globbing | * Variables. | ||
* Quoting | * Globbing. | ||
* Quoting. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* Bash | |||
* echo | * echo | ||
* history | * history | ||
* PATH env variable | * PATH env variable | ||
* export | |||
* which | * which | ||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * Substitutions. | ||
* ||, && and ; control operators. | |||
====<span style="color:navy">2.2 Using the Command Line to Get Help </span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" |Running help commands and navigation of the various help systems. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Running help commands and navigation of the various help systems. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Man | |||
* Info | * Man. | ||
* Info. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* man | |||
* info | * man. | ||
* Man pages | * info. | ||
* /usr/share/doc | * Man pages. | ||
* locate | * /usr/share/doc. | ||
* locate. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
< | * apropos, whatis, whereis. | ||
====<span style="color:navy">2.3 Using Directories and Listing Files</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Navigation of home and system directories and listing files in various locations. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Navigation of home and system directories and listing files in various locations. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Files, directories | * Files, directories | ||
* Hidden files and directories | * Hidden files and directories | ||
* Home | * Home | ||
* Absolute and relative paths | * Absolute and relative paths | ||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* Common options for ls | * Common options for ls | ||
* Recursive listings | * Recursive listings | ||
| Line 199: | Line 326: | ||
* '''.''' and '''..''' | * '''.''' and '''..''' | ||
* home and ~ | * home and ~ | ||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | ====<span style="color:navy">2.4 Creating, Moving and Deleting Files</span>==== | ||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Create, move and delete files and directories under the home directory. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Create, move and delete files and directories under the home directory. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Files and directories | * Files and directories | ||
* Case sensitivity | * Case sensitivity | ||
* Simple globbing and quoting | * Simple globbing and quoting | ||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* mv, cp, rm, touch | * mv, cp, rm, touch | ||
* mkdir, rmdir | * mkdir, rmdir | ||
'''Nice to know:''' | '''Nice to know:''' | ||
===''Topic | ===''Topic 3: The Power of the Command Line (weight: 10)''=== | ||
====<span style="color:navy"> | |||
====<span style="color:navy">3.1 Archiving Files on the Command Line</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Archiving files in | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Archiving files in the user home directory. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Files, directories | |||
* Archives, compression | * Files, directories. | ||
* Archives, compression. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* tar | |||
* tar options | * tar. | ||
* gzip, bzip2 | * Common tar options. | ||
* zip, unzip | * gzip, bzip2. | ||
* zip, unzip. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * Extracting individual files from archives. | ||
====<span style="color:navy">3.2 Searching and Extracting Data from Files</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
| style="background:#eaeaea" | | |||
'''Weight''' | |||
| style="background:#eaeaea" | 4 | |||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Search and extract data from files in the home | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Search and extract data from files in the home directory. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Command line pipes | |||
* I/O re-direction | * Command line pipes. | ||
* Partial POSIX Regular Expressions (., [ ], *, ?) | * I/O re-direction. | ||
* Partial POSIX Regular Expressions (., [ ], *, ?). | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* find | |||
* grep | * find. | ||
* less | * grep. | ||
* tail | * less. | ||
* sort | * cat, head, tail. | ||
* cut | * sort. | ||
* wc | * cut. | ||
* wc. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * Partial POSIX Basic Regular Expressions ([^ ], ^, $). | ||
* Partial POSIX Extended Regular Expressions (+, ( ), |). | |||
* xargs. | |||
====<span style="color:navy">3.3 Turning Commands into a Script</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 4 | | style="background:#eaeaea" | 4 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Turning repetitive commands into simple scripts. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Turning repetitive commands into simple scripts. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Basic text editing | |||
* Basic shell scripting | * Basic text editing. | ||
* Basic shell scripting. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* /bin/sh | * /bin/sh. | ||
* Variables | * Variables. | ||
* Arguments | * Arguments. | ||
* for loops | * for loops. | ||
* echo | * echo. | ||
* Exit status. | |||
* names of common text editors. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
===''Topic | * use of pico, nano, vi (only basics for creating scripts). | ||
====<span style="color:navy"> | * Bash. | ||
* if, while, case statements. | |||
* read and test, and [ commands. | |||
===''Topic 4: The Linux Operating System (weight: 8)''=== | |||
====<span style="color:navy">4.1 Choosing an Operating System</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Knowledge of major | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Knowledge of major operating systems and Linux distributions. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Windows, Mac, Linux differences | |||
* Distribution life cycle management | * Windows, Mac, Linux differences. | ||
* Distribution life cycle management. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* GUI versus command line, desktop configuration | |||
* Maintenance cycles, Beta and Stable | * GUI versus command line, desktop configuration. | ||
* Maintenance cycles, Beta and Stable. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | |||
====<span style="color:navy">4.2 Understanding Computer Hardware</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" |Familiarity with the components that go into building desktop and server computers. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Familiarity with the components that go into building desktop and server computers. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Hardware | |||
* Hardware. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* | |||
* Display types | * Motherboards, processors, power supplies, optical drives, peripherals. | ||
* Drivers | * Hard drives and partitions, /dev/sd*, /dev/hd*. | ||
* Display types. | |||
* Drivers. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | |||
====<span style="color:navy">4.3 Where Data is Stored</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 3 | | style="background:#eaeaea" | 3 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Where various types of information are stored on a Linux system. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Where various types of information are stored on a Linux system. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Kernel | |||
* Processes | * Kernel. | ||
* syslog, klog, dmesg | * Processes. | ||
* /lib, /usr/lib, /etc, /var/log | * syslog, klog, dmesg. | ||
* /lib, /usr/lib, /etc, /var/log. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* Programs, libraries, packages and package databases, system configuration | |||
* Processes and process tables, memory addresses, system messaging and logging | * Programs, libraries, packages and package databases, system configuration. | ||
* ps, top, free | * Processes and process tables, memory addresses, system messaging and logging. | ||
* ps, top, free. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | ====<span style="color:navy">4.4 Your Computer on the Network</span>==== | ||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Querying vital networking settings and determining the basic requirements for a computer on a Local Area Network (LAN). | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Internet, network, routers | |||
* Domain Name Service | * Internet, network, routers. | ||
* Network configuration | * Domain Name Service. | ||
* Network configuration. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* route | |||
* resolv.conf | * route. | ||
* IPv4, IPv6 | * /etc/resolv.conf, /etc/hosts. | ||
* ifconfig | * IPv4, IPv6. | ||
* netstat | * ifconfig. | ||
* ping | * netstat. | ||
* ping. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
===''Topic | * ssh. | ||
====<span style="color:navy"> | * dig. | ||
===''Topic 5: Security and File Permissions (weight: 7)''=== | |||
====<span style="color:navy">5.1 Basic Security and Identifying User Types</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
| style="background:#eaeaea" | | |||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | |||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Various types of users on a Linux system. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Various types of users on a Linux system. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* Root and Standard Users | |||
* System users | * Root and Standard Users. | ||
* System users. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* /etc/passwd, /etc/group | |||
* id, who, w | * /etc/passwd, /etc/group. | ||
* sudo | * id, who, w. | ||
* sudo. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * su. | ||
====<span style="color:navy">5.2 Creating Users and Groups</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Creating users and groups on a Linux system. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Creating users and groups on a Linux system. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* User and group commands | |||
* User IDs | * User and group commands. | ||
* User IDs. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* /etc/passwd, /etc/shadow, /etc/group | |||
* id, last | * /etc/passwd, /etc/shadow, /etc/group, /etc/skel. | ||
* useradd, | * id, last. | ||
* passwd | * useradd, groupadd. | ||
* passwd. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
====<span style="color:navy"> | * usermod, userdel. | ||
* groupmod, groupdel. | |||
====<span style="color:navy">5.3 Managing File Permissions and Ownership</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Understanding and manipulating file permissions and ownership settings. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Understanding and manipulating file permissions and ownership settings. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* File/directory permissions and owners | |||
* File/directory permissions and owners. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* ls -l | |||
* chmod, chown | * ls -l. | ||
* chmod, chown. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
* chgrp | |||
* chgrp. | |||
====<span style="color:navy"> | |||
====<span style="color:navy">5.4 Special Directories and Files</span>==== | |||
{| | {| | ||
| style="background:#dadada" | '''Weight''' | | style="background:#dadada" | | ||
'''Weight''' | |||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
|- | |- | ||
| style="background:#dadada; padding-right:1em" | '''Description''' | | style="background:#dadada; padding-right:1em" | | ||
| style="background:#eaeaea" | Special directories and files on a Linux system including special permissions. | |||
'''Description''' | |||
| style="background:#eaeaea" | | |||
Special directories and files on a Linux system including special permissions. | |||
|} | |} | ||
'''Key Knowledge Areas:''' | '''Key Knowledge Areas:''' | ||
* System files, libraries | |||
* Symbolic links | * System files, libraries. | ||
* Symbolic links. | |||
'''The following is a partial list of the used files, terms and utilities:''' | '''The following is a partial list of the used files, terms and utilities:''' | ||
* /etc, /var | |||
* /tmp, /var/tmp and Sticky | * /etc, /var. | ||
* ls -d | * /tmp, /var/tmp and Sticky Bit. | ||
* ln -s | * ls -d. | ||
* ln -s. | |||
'''Nice to know:''' | '''Nice to know:''' | ||
* Hard links | |||
* Setuid/Setgid | * Hard links. | ||
* Setuid/Setgid. | |||
===''Reference Material''=== | ===''Reference Material''=== | ||
| Line 456: | Line 770: | ||
===Notes and Comments=== | ===Notes and Comments=== | ||
Feel free to add comments | Feel free to add comments below: | ||
Latest revision as of 09:58, 3 May 2019
Introduction and Exam Development Workshops
The description of the entire Linux Essentials Program is listed here.
The purpose of the Linux Essentials Certificate is to define the basic knowledge required to competently use a desktop or mobile device using a Linux Operating System. The associated Linux Essentials Program will guide and encourage youth (and those new to Linux and Open Source) to understand the place of Linux and Open Source in the context of the broader IT industry.
FAQ
Questions and answers on the Linux Essentials Program and Exam are listed here.
Minimally Qualified Candidate Description
This is a description of a candidate that is just barely qualified to pass the LPI Linux Essentials exam. This hypothetical person is called the Minimally Qualified Candidate (MQC). Standards on the Linux Essentials exam should be set so that this person (and anyone more able) would pass but anyone less able would not pass.
The successful candidate should have an understanding of the Linux and Open Source industry and knowledge of the most popular Open Source Applications. The candidate should understand the major components of the Linux operating system, and have the technical proficiency to work on the Linux command line. The MQC has a basic understanding of security and administration related topics such as user/group management, working on the command line and permissions. The Linux Essentials Certificate holder is most likely the end user of a mostly managed system.
The LPI Linux Essentials Certificate Holder MQC typically:
- Has a basic understanding of FOSS, the various communities and licenses.
- Understands the basic concepts of processes, programs and the components of an Operating System.
- Has a basic knowledge of computer hardware.
- Has a basic appreciation of system security, users/groups and file permissions for public and private directories.
- Basic understanding of how to make the system accessible and able to connect to other computers on a Local Area Network (LAN).
- Demonstrates a knowledge of Open Source Applications in the Workplace as they relate to Closed Source equivalents.
- Understands navigation systems on a Linux Desktop and where to go for help.
- Has a rudimentary ability to work on the command line and with files.
- Make and restore simple backups and archives.
- Can use a basic command line editor.
- Understands file compression.
- Ability to create and run simple scripts.
Version Information
These objectives are version 1.0.1.
The draft version 1.5 objectives can be found here.
Addenda
Clarification Addendum (Apr 1st, 2014)
- added Ubuntu (LTS), Red Hat to 1.1 partial file list.
- added dpkg, rpm, apt-get, yum to 1.2 partial file list.
- added /etc/hosts to 4.4 partial file list.
- added /etc/skel to 5.2 partial file list.
- added /dev/sd*, /dev/hd* to 4.2 partial file list.
Translations of Objectives
The following translations of the objectives are available on this wiki:
Objectives
Topic 1:The Linux Community and a Career in Open Source (weight: 7)
1.1 Linux Evolution and Popular Operating Systems
|
Weight |
2 |
|
Description |
Knowledge of Linux development and major distributions. |
Key Knowledge Areas:
- Open Source Philosophy.
- Distributions.
- Embedded Systems.
The following is a partial list of the used files, terms and utilities:
- Android.
- Debian, Ubuntu (LTS).
- CentOS, Red Hat.
Nice to know:
1.2 Major Open Source Applications
|
Weight |
2 |
|
Description |
Awareness of major applications as well as their uses and development. |
Key Knowledge Areas:
- Desktop Applications.
- Server Applications.
- Mobile Applications.
- Development Languages.
- Package Management Tools and repositories.
The following is a partial list of the used files, terms and utilities:
- OpenOffice.org, LibreOffice, Thunderbird, Firefox.
- Blender, Gimp, Audacity, ImageMagick.
- Apache, MySQL, PostgreSQL.
- NFS, Samba, OpenLDAP, Postfix, DNS, DHCP.
- C, Java, Perl, shell, Python, PHP.
- dpkg, apt-get, rpm, yum.
Nice to know:
1.3 Understanding Open Source Software and Licensing
|
Weight |
1 |
|
Description |
Open communities and licensing Open Source Software for business. |
Key Knowledge Areas:
- Licensing.
- Free Software Foundation (FSF), Open Source Initiative (OSI).
The following is a partial list of the used files, terms and utilities:
- GPL, BSD, Creative Commons.
- Free Software, Open Source Software, FOSS, FLOSS.
- Open Source business models.
Nice to know:
- Intellectual Property (IP): copyright, trademarks and patents.
- Apache License, Mozilla License.
1.4 ICT Skills and Working in Linux
|
Weight |
2 |
|
Description |
Basic Information and Communication Technology (ICT) skills and working in Linux. |
Key Knowledge Areas:
- Desktop Skills.
- Getting to the Command Line.
- Industry uses of Linux, Cloud Computing and Virtualization.
The following is a partial list of the used files, terms and utilities:
- Using a browser, privacy concerns, configuration options, searching the web and saving content.
- Terminal and Console.
- Password issues.
- Privacy issues and tools.
- Use of common open source applications in presentations and projects.
Nice to know:
Topic 2: Finding Your Way on a Linux System (weight: 8)
2.1 Command Line Basics
|
Weight |
2 |
|
Description |
Basics of using the Linux command line. |
Key Knowledge Areas:
- Basic shell.
- Formatting commands.
- Working With Options.
- Variables.
- Globbing.
- Quoting.
The following is a partial list of the used files, terms and utilities:
- Bash
- echo
- history
- PATH env variable
- export
- which
Nice to know:
- Substitutions.
- ||, && and ; control operators.
2.2 Using the Command Line to Get Help
|
Weight |
2 |
|
Description |
Running help commands and navigation of the various help systems. |
Key Knowledge Areas:
- Man.
- Info.
The following is a partial list of the used files, terms and utilities:
- man.
- info.
- Man pages.
- /usr/share/doc.
- locate.
Nice to know:
- apropos, whatis, whereis.
2.3 Using Directories and Listing Files
|
Weight |
2 |
|
Description |
Navigation of home and system directories and listing files in various locations. |
Key Knowledge Areas:
- Files, directories
- Hidden files and directories
- Home
- Absolute and relative paths
The following is a partial list of the used files, terms and utilities:
- Common options for ls
- Recursive listings
- cd
- . and ..
- home and ~
Nice to know:
2.4 Creating, Moving and Deleting Files
|
Weight |
2 |
|
Description |
Create, move and delete files and directories under the home directory. |
Key Knowledge Areas:
- Files and directories
- Case sensitivity
- Simple globbing and quoting
The following is a partial list of the used files, terms and utilities:
- mv, cp, rm, touch
- mkdir, rmdir
Nice to know:
Topic 3: The Power of the Command Line (weight: 10)
3.1 Archiving Files on the Command Line
|
Weight |
2 |
|
Description |
Archiving files in the user home directory. |
Key Knowledge Areas:
- Files, directories.
- Archives, compression.
The following is a partial list of the used files, terms and utilities:
- tar.
- Common tar options.
- gzip, bzip2.
- zip, unzip.
Nice to know:
- Extracting individual files from archives.
3.2 Searching and Extracting Data from Files
|
Weight |
4 |
|
Description |
Search and extract data from files in the home directory. |
Key Knowledge Areas:
- Command line pipes.
- I/O re-direction.
- Partial POSIX Regular Expressions (., [ ], *, ?).
The following is a partial list of the used files, terms and utilities:
- find.
- grep.
- less.
- cat, head, tail.
- sort.
- cut.
- wc.
Nice to know:
- Partial POSIX Basic Regular Expressions ([^ ], ^, $).
- Partial POSIX Extended Regular Expressions (+, ( ), |).
- xargs.
3.3 Turning Commands into a Script
|
Weight |
4 |
|
Description |
Turning repetitive commands into simple scripts. |
Key Knowledge Areas:
- Basic text editing.
- Basic shell scripting.
The following is a partial list of the used files, terms and utilities:
- /bin/sh.
- Variables.
- Arguments.
- for loops.
- echo.
- Exit status.
- names of common text editors.
Nice to know:
- use of pico, nano, vi (only basics for creating scripts).
- Bash.
- if, while, case statements.
- read and test, and [ commands.
Topic 4: The Linux Operating System (weight: 8)
4.1 Choosing an Operating System
|
Weight |
1 |
|
Description |
Knowledge of major operating systems and Linux distributions. |
Key Knowledge Areas:
- Windows, Mac, Linux differences.
- Distribution life cycle management.
The following is a partial list of the used files, terms and utilities:
- GUI versus command line, desktop configuration.
- Maintenance cycles, Beta and Stable.
Nice to know:
4.2 Understanding Computer Hardware
|
Weight |
2 |
|
Description |
Familiarity with the components that go into building desktop and server computers. |
Key Knowledge Areas:
- Hardware.
The following is a partial list of the used files, terms and utilities:
- Motherboards, processors, power supplies, optical drives, peripherals.
- Hard drives and partitions, /dev/sd*, /dev/hd*.
- Display types.
- Drivers.
Nice to know:
4.3 Where Data is Stored
|
Weight |
3 |
|
Description |
Where various types of information are stored on a Linux system. |
Key Knowledge Areas:
- Kernel.
- Processes.
- syslog, klog, dmesg.
- /lib, /usr/lib, /etc, /var/log.
The following is a partial list of the used files, terms and utilities:
- Programs, libraries, packages and package databases, system configuration.
- Processes and process tables, memory addresses, system messaging and logging.
- ps, top, free.
Nice to know:
4.4 Your Computer on the Network
|
Weight |
2 |
|
Description |
Querying vital networking settings and determining the basic requirements for a computer on a Local Area Network (LAN). |
Key Knowledge Areas:
- Internet, network, routers.
- Domain Name Service.
- Network configuration.
The following is a partial list of the used files, terms and utilities:
- route.
- /etc/resolv.conf, /etc/hosts.
- IPv4, IPv6.
- ifconfig.
- netstat.
- ping.
Nice to know:
- ssh.
- dig.
Topic 5: Security and File Permissions (weight: 7)
5.1 Basic Security and Identifying User Types
|
Weight |
2 |
|
Description |
Various types of users on a Linux system. |
Key Knowledge Areas:
- Root and Standard Users.
- System users.
The following is a partial list of the used files, terms and utilities:
- /etc/passwd, /etc/group.
- id, who, w.
- sudo.
Nice to know:
- su.
5.2 Creating Users and Groups
|
Weight |
2 |
|
Description |
Creating users and groups on a Linux system. |
Key Knowledge Areas:
- User and group commands.
- User IDs.
The following is a partial list of the used files, terms and utilities:
- /etc/passwd, /etc/shadow, /etc/group, /etc/skel.
- id, last.
- useradd, groupadd.
- passwd.
Nice to know:
- usermod, userdel.
- groupmod, groupdel.
5.3 Managing File Permissions and Ownership
|
Weight |
2 |
|
Description |
Understanding and manipulating file permissions and ownership settings. |
Key Knowledge Areas:
- File/directory permissions and owners.
The following is a partial list of the used files, terms and utilities:
- ls -l.
- chmod, chown.
Nice to know:
- chgrp.
5.4 Special Directories and Files
|
Weight |
1 |
|
Description |
Special directories and files on a Linux system including special permissions. |
Key Knowledge Areas:
- System files, libraries.
- Symbolic links.
The following is a partial list of the used files, terms and utilities:
- /etc, /var.
- /tmp, /var/tmp and Sticky Bit.
- ls -d.
- ln -s.
Nice to know:
- Hard links.
- Setuid/Setgid.
Reference Material
Notes and Comments
Feel free to add comments below: