Linux and Open Source

Get to know Linux before you type your first command. Learn where Linux came from, what the kernel does and where Linux runs, from phones and routers to cloud servers and supercomputers. Compare distributions and their release and support models, understand free and open-source software, copyleft and permissive licenses and Creative Commons, and see how open-source communities work and earn money. Meet the major open-source applications, then set up your own Linux practice system in a virtual machine or with the Windows Subsystem for Linux, and keep it secure from day one.

BeginnerLesson 1 of 7 in Linux Basics Course

What you will learn

  1. Trace Linux from Unix and the GNU Project to today, explain how the kernel and userspace together form an operating system, and recognize the many kinds of computers that run Linux.
    • Trace the history of Unix, GNU and Linux
      Follow the path from Unix at Bell Labs and the GNU Project to Linus Torvalds' kernel, and explain why the system is called Linux or GNU/Linux.
    • Explain the kernel, userspace and kernel versions
      Describe what the kernel does, what belongs to userspace, how the parts form a working operating system, and how kernel versions and releases are numbered and maintained.
    • Recognize the computers and roles where Linux runs
      Identify Linux on desktops, servers, virtual machines, cloud instances, containers, embedded devices, phones and supercomputers, and describe client and server roles.
  2. Explain what a distribution is, recognize the main distribution families and how they deliver software, compare release models and support life cycles, and choose between Linux, Windows and macOS and among distributions for a given need.
    • Recognize distributions and the main distribution families
      Explain what a Linux distribution contains and who makes it, and identify the Debian, Enterprise Linux and SUSE families, Alpine Linux and Arch Linux.
    • Explain how distributions deliver software in packages
      Describe software packages, repositories, dependencies and the main package tools, and compare them with universal package formats and downloads from websites.
    • Compare release models and support life cycles
      Distinguish fixed and rolling releases, LTS, stable, testing and unstable branches and alpha and beta versions, and work out how long a release is supported.
    • Compare Linux with Windows and macOS and choose a system
      Describe the key differences between Linux, Windows and macOS, explain how software from one system can run on another, and choose an operating system and distribution for a given situation.
  3. Distinguish free and open-source software from proprietary software, explain what copyleft and permissive licenses require, and apply Creative Commons licenses to open content.
    • Distinguish free, open-source and proprietary software
      Define proprietary software, freeware, free software and open-source software, compare the FSF and OSI definitions, and explain how software choices affect digital autonomy and digital sovereignty.
    • Compare copyleft and permissive software licenses
      Explain what the GPL, LGPL, AGPL, MPL, MIT, BSD and Apache licenses allow and require, when their conditions apply, and how licenses combine.
    • Use open content under Creative Commons licenses
      Explain open content, the four Creative Commons license elements, the six licenses and CC0, and decide whether and how a work may be reused with correct attribution.
  4. Explain the roles, governance and everyday workflow of open-source projects, how to take part in one, and the business models and funding that keep open-source software developed.
    • Explain how open-source communities are organized and how to take part
      Describe contributor roles, governance models, upstream and downstream projects, forks and the tools and etiquette of contributing, and write a useful bug report.
    • Explain open-source business models and funding
      Describe how companies and projects earn money with open-source software, why some vendors changed licenses, and how communities responded.
  5. Name important open-source desktop, web, server and developer programs, describe their main purpose and key features, and match programs to tasks.
    • Recognize open-source desktop applications
      Describe the purpose and key features of major open-source office, internet, graphics, multimedia, editing, security and data programs.
    • Recognize open-source web, collaboration and developer platforms
      Describe self-hostable web applications for files, meetings and learning, and the version control and code hosting tools developers use.
    • Recognize open-source server software and programming languages
      Describe the main open-source web, database and file-sharing servers, the LAMP stack, and the purpose of common programming languages and how their programs run.
  6. Choose a practice setup that fits your computer, install Linux in a virtual machine or through WSL, and protect the system, your accounts and your data from the start.
    • Choose a way to run Linux for practice
      Compare virtual machines, WSL, cloud instances, live USB systems, dual boot and dedicated computers, and match the system image to the computer's processor.
    • Install Linux in a virtual machine
      Download and verify an installation image, create a virtual machine with suitable resources, run the installer and prepare the new system with updates, guest tools and a snapshot.
    • Set up Linux with the Windows Subsystem for Linux
      Install WSL and a distribution on Windows, manage distributions and WSL versions, work with files across Windows and Linux, and know where WSL differs from a full installation.
    • Protect your practice system, accounts and data
      Use strong passwords, password managers, multi-factor authentication and passkeys, work without permanent administrator rights, keep systems updated, and protect data in transit, at rest and on USB devices.

Linux and Open Source study guide

6 chapters

1

Explain what Linux is, where it came from and where it runs

Linux is a kernel, a family of everyday operating systems, and the foundation of many devices you rarely see. Its history connects Unix ideas with GNU tools and Torvalds' kernel. Understanding those parts helps explain why a desktop, Android phone, and cloud server can all use Linux while looking different. Follow how programs reach the hardware, then distinguish the environments and client or server roles in which that work happens.

1.1 Follow Unix, GNU, and Linux through time

Linux grew from two separate efforts: one supplied a kernel, and the other supplied much of the software around it. Unix provided the earlier design ideas. Keeping these contributions separate makes the names Linux and GNU/Linux easier to understand.

Unix provides the design

Ken Thompson and Dennis Ritchie developed Unix at AT&T's Bell Labs from 1969. Much of it was rewritten in C in 1973, making it easier to move to different hardware. Unix let several users work and several programs run at once. Its lasting ideas include a single directory tree rooted at /, treating many resources as files, and combining small programs that each do one job.

Unix developed into several branches. Commercial systems included IBM AIX, HP-UX, and Sun Solaris. Berkeley's BSD branch led to FreeBSD, OpenBSD, and NetBSD. Apple's macOS also has BSD roots and has been certified as UNIX. A similar interface does not make all these systems Linux.

GNU supplies much of the system

Richard Stallman announced the GNU Project in 1983 to build a free Unix-like operating system. GNU stands for “GNU's Not Unix.” He founded the Free Software Foundation in 1985. By the early 1990s, GNU had produced the GCC compiler, a C library, Bash, core utilities, and editors. Its intended kernel, GNU Hurd, was not ready for everyday use.

A compiler turns program source into executable code. A shell such as Bash accepts instructions from a user. These tools made GNU useful, but they still needed a kernel to manage the computer's hardware.

Linux fills the kernel gap

In 1991, University of Helsinki student Linus Torvalds began a kernel for his Intel 386 PC. MINIX, Andrew Tanenbaum's Unix-like teaching system, helped inspire the project. Torvalds announced it on August 25, 1991; version 0.01 followed in September. Linux 1.0 arrived in March 1994.

The first license prohibited charging for redistribution, including handling charges. Linux 0.12 moved to the GNU GPL in 1992. That allowed both volunteers and businesses to redistribute it under the GPL's conditions. The kernel remains under GPL version 2.

Distributions assembled the kernel and userspace into installable systems. Slackware and Debian began in 1993; Red Hat Linux followed in 1994–1995. Later milestones include the open source name and the OSI in 1998, Ubuntu in 2004, Git in 2005, the Linux Foundation in 2007, and the first Android phone in 2008. Tux, the penguin mascot, dates from 1996.

Read the names accurately

Strictly, Linux names the kernel. Everyday speech also uses it for a complete operating system. GNU/Linux credits the GNU tools combined with that kernel; Debian uses this name. Android uses a Linux kernel with a different userspace, so GNU/Linux is not its name.

Place the central events in order: Unix in 1969, GNU in 1983, Linux in 1991, and the GPL change in 1992. GNU began before Linux existed. Linux is Unix-like because it follows many Unix ideas and standards, including POSIX; it was independently written, not released as a branch of the original Unix code.

Key Takeaways

  • Unix supplied design ideas that Linux follows.
  • GNU tools and the Linux kernel were separate contributions to a usable operating system.
  • Linux began in 1991 and adopted the GPL in 1992.
  • Linux names the kernel; GNU/Linux names systems combining it with GNU userspace.
  • Linux is Unix-like; it is not an original Unix code branch.

1.2 See what the kernel and userspace each do

A Linux desktop is a collection of cooperating parts. The kernel manages access to the machine, while programs outside it provide the tools and interfaces you use. A kernel version tells you about one part of the system, not the version of every application.

The kernel manages shared hardware

The boot loader loads the kernel into memory at startup. The kernel stays active until shutdown. It shares processor time and memory among programs, handles networks and file systems, enforces permissions, and communicates with devices through drivers.

The kernel runs in kernel space, with privileged access to hardware. Ordinary applications run in user space, with limited rights. A system call is a request from a program for a kernel service, such as reading a file. A normal application failure usually affects that application; a serious kernel failure can stop the whole machine.

Linux has a monolithic kernel: drivers, networking, and file systems run inside it. Many drivers are loadable modules. The kernel can load a suitable module when hardware appears without rebuilding the entire operating system.

Userspace gives the system its working tools

Userspace includes the system that starts services, libraries, utilities, shells, graphical software, and applications. Common examples include systemd, the glibc C library, GNU coreutils, Bash, Wayland, and desktops such as GNOME or KDE Plasma. Small systems may use musl and BusyBox instead of glibc and GNU utilities.

Suppose you open a saved drawing in an application. First, the application requests the file through a system call. Next, the kernel checks access rights and uses file system code and a storage driver to retrieve its bytes. The application then interprets those bytes and draws the picture. Its menus and editing tools belong to userspace.

Changing from GNOME to KDE Plasma changes your desktop experience without requiring a different kind of kernel. Conversely, updating the kernel need not change the layout of the desktop.

Read version numbers and support correctly

In 7.2.12, 7.2 identifies the kernel release series and 12 is its twelfth stable update. A larger first number does not automatically signal a major redesign: the move from 6.19 to 7.0 in 2026 followed the practice of resetting a growing minor number.

Mainline development starts with a roughly two-week merge window for new features. Weekly release candidates then test and stabilize the work. A release normally arrives every 9–10 weeks. Stable maintainers apply fixes afterward. Selected longterm kernels receive important fixes for years; kernel.org's October 2026 projections list 6.12 and 6.18 through December 2028.

Distributions build their own kernel packages and apply fixes to them. A string such as 6.8.0-45-generic includes Ubuntu's build information after the hyphen. Ubuntu 24.04 originally used the 6.8 kernel; Ubuntu 26.04 uses 7.0. An older base number alone does not show whether a supported distribution kernel is patched. Check its maintenance status and updates.

Kernel development is shared work. Subsystem maintainers review proposed changes for their areas, and Torvalds merges accepted work into mainline. Many contributors are paid by hardware, cloud, and software companies.

Key Takeaways

  • The kernel manages hardware, resources, and access rules.
  • Applications request kernel services through system calls.
  • The desktop and applications are userspace components.
  • Distributions maintain their own kernel builds; the base number alone does not show patch status.

1.3 Recognize Linux across devices and services

Linux often works behind a screen that never displays its name. A desktop, a phone, a router, and a cloud server can all use the Linux kernel while presenting very different interfaces. Identify both the kind of environment and the role it serves.

Clients and servers describe roles

A server provides a service, such as web pages, files, or a database. A client requests that service. These words can describe programs or computers. A Linux web server acts as a database client when it asks a separate database server for information. The same machine can therefore have both roles.

Linux desktops include Ubuntu, Fedora, Debian, and Linux Mint. ChromeOS and SteamOS also use the Linux kernel. Linux is especially common in web hosting, databases, cloud infrastructure, and other internet services, even though Windows and macOS have larger desktop shares.

Virtual machines and containers differ

A hypervisor gives a virtual machine virtual processors, memory, storage, and networking. Each VM runs its own operating system and kernel. KVM adds virtualization capabilities to Linux and is used by many cloud platforms.

A cloud instance is a rented VM started from an operating system image. You select resources and a region, then connect over the network, commonly through SSH. Running instances can incur charges.

A container packages an application with its supporting files and libraries. Containers on the same host share its kernel, so they usually start faster and use fewer resources than full VMs. A Linux container needs a Linux kernel. On Windows or macOS, container software commonly supplies one through a small Linux VM. Having a Linux-looking userspace inside a container does not mean that container owns a separate kernel.

Devices and large computers use Linux too

Embedded systems are computers built into a device for a particular job. Examples include routers, smart TVs, industrial controllers, and vehicle entertainment systems. Many use ARM processors and a small userspace such as BusyBox. A Raspberry Pi can instead run a full distribution, Raspberry Pi OS.

Android combines a modified Linux kernel with its own userspace, including Bionic and the Android Runtime. Android applications are not ordinary Linux desktop applications. In high-performance computing, clusters divide large calculations among many machines. Every system on the TOP500 list has used a Linux-based operating system since November 2017.

Managing many machines

Administrators use configuration management tools such as Ansible, Puppet, Chef, or Salt to describe a desired system state and apply it repeatedly. This helps keep installed software, settings, and services consistent across many machines.

Linux settings often live in text files. nano shows common keyboard shortcuts on screen. vi and Vim separate text entry from command actions through modes. Recognizing these editors helps explain why a server can be managed without a graphical desktop.

Consider a museum kiosk that loads pages from a rented Linux VM. The kiosk is a client; the rented VM is a cloud instance acting as a server. If that server runs several containerized applications, those containers share its Linux kernel. A Linux-powered display controller inside the kiosk is an embedded use, regardless of whether visitors see a desktop.

Key Takeaways

  • Client and server are roles; one machine can perform both.
  • A VM owns a kernel, while containers share their host kernel.
  • Cloud instances are rented VMs accessed over a network.
  • Linux runs in desktops, embedded devices, Android phones, and HPC clusters.
  • Configuration management applies repeatable system settings.
  • nano and vi/Vim are text editors commonly found on Linux.
2

Compare Linux distributions and choose one for a purpose

A distribution makes Linux installable and maintainable by choosing packages, settings, tools, and update policies. Related distributions share useful conventions, but support schedules and compatibility still differ. Learn to recognize the major families, follow how software is delivered, and compare fixed, rolling, and long-supported releases. Then use hardware, applications, and maintenance needs to make a practical system choice.

2.1 Recognize distribution families

A distribution turns the Linux kernel into a system you can install and maintain. It brings together tools, libraries, packages, an installer, default settings, and an update service. Some distributions are community projects; others are maintained by companies.

Follow the family relationships

A derivative starts from another distribution and changes it. Ubuntu is based on Debian, and the main Linux Mint edition is based on Ubuntu. Related systems often share package formats and tools. Their relationship helps you recognize suitable software and instructions.

Family or distributionPackage toolsExamples and emphasis
Debian-baseddpkg, apt; .debDebian, Ubuntu, Linux Mint, Raspberry Pi OS
Enterprise Linuxrpm, dnf; .rpmFedora, CentOS Stream, RHEL, AlmaLinux, Rocky Linux
SUSErpm, zypper; .rpmSUSE Linux Enterprise, openSUSE Leap, Tumbleweed
Alpineapk; .apkSmall systems and container images
ArchpacmanA hands-on rolling system

Debian has been a volunteer project since 1993 and follows a written Social Contract. Canonical produces Ubuntu. Raspberry Pi OS is Debian-based and tailored for Raspberry Pi computers. A shared base does not make these distributions identical: defaults, schedules, support, and package versions can differ.

Understand the Enterprise Linux pipeline

Fedora introduces new technology quickly. A future RHEL major release branches from Fedora. CentOS Stream develops changes ahead of the next RHEL minor release. RHEL supplies a commercial subscription-supported platform. AlmaLinux and Rocky Linux provide free community systems designed for RHEL compatibility.

CentOS Stream is different from the ended CentOS Linux rebuild. CentOS Linux 7, its last supported version, reached end of life in June 2024. Choosing a familiar name without checking its current role can lead to the wrong system.

Recognize other choices

SUSE Linux Enterprise is commercial. openSUSE Leap provides a stable community release linked to enterprise sources; Tumbleweed updates continuously. Both use zypper, despite sharing the RPM format with the Enterprise Linux family.

Alpine combines musl and BusyBox to keep its base small. It has numbered stable branches and a development branch, edge. Both have main and community repositories; edge also has testing. Arch is a do-it-yourself rolling distribution often chosen by experienced users.

Use the family clue correctly

Suppose an instruction mentions dnf and an .rpm package. That points toward Fedora or Enterprise Linux. An instruction using apt and a .deb package points toward Debian-based systems. An RPM alone does not distinguish SUSE from Fedora, because both use that format.

Then check the exact distribution, release, and architecture. A package built for one release can depend on library versions missing from another. Many programs are available across Linux families, but one downloaded package is not a universal Linux installer.

Key Takeaways

  • A distribution assembles and maintains a complete system around the Linux kernel.
  • Distribution families commonly share a base, package format, and tools.
  • Fedora, CentOS Stream, and RHEL have different positions in development.
  • RPM is used by both Enterprise Linux and SUSE; their higher-level tools differ.
  • Choose a package for the exact distribution, release, and architecture.

2.2 Understand packages, repositories, and updates

Linux software is normally delivered through a package system. It tracks what a program needs, where its files belong, and how it should be updated. This replaces the need to find a separate website installer for every application.

A package carries files and instructions

A software package is an archive containing program files and metadata. Metadata describes its name, version, purpose, required packages, and installation or removal actions. Common formats include .deb, .rpm, and Alpine's .apk. Alpine packages and Android apps use the same extension but are different formats.

A dependency is another package a program needs. A graphics application may require an image library. If several applications share that library, the package system can maintain one shared copy and apply fixes centrally.

A repository is a collection of packages prepared for a distribution and release. The package manager checks cryptographic signatures to verify the trusted package information and content. This helps reject files changed on the way to your machine. Trust still depends on choosing a legitimate repository and its signing key.

Match tools to their jobs
Tool levelJobExamples
Low-levelInstall a local package; do not download missing dependenciesdpkg, rpm
High-levelFetch packages, resolve dependencies, and manage updatesapt, apt-get, dnf, zypper, apk
Graphical interfaceLet you search, install, and update visuallyGNOME Software, KDE Discover

A graphical software center is an interface to package systems, not a separate kind of operating system. Knowing the underlying source remains useful even when you never type a package command.

Imagine installing an audio editor that requires two libraries. A high-level manager checks the dependency list, fetches missing packages, and installs them in the right order. Giving a low-level tool only the editor's package can leave dependencies unresolved.

Compare universal formats

Flatpak, Snap, and AppImage help applications run across distributions by supplying more of their supporting software. Flatpak applications commonly come from Flathub. Snap is associated with Canonical and is used for some Ubuntu software. An AppImage is a single application file that can run without normal package installation.

These formats can deliver newer application versions on a long-supported system. Bundled libraries can also increase download size and duplicate files. An application still has hardware and system requirements; “universal” does not mean every package runs on every possible machine.

Keep the update paths straight

For a beginner, the distribution's repositories are a good starting point: their packages are prepared for the release and checked through its trust system. Random website downloads do not provide the same integrated maintenance.

If one editor came from the distribution and another came through Flatpak, they have different update paths. Updating the distribution's packages covers what that system manages. Check the Flatpak updates as well. A downloaded application is not automatically maintained simply because it runs on Linux.

Key Takeaways

  • Packages contain program files and metadata, including dependencies.
  • Repositories supply packages for a distribution and release through a trust system.
  • High-level managers fetch dependencies; dpkg and rpm do not fetch them.
  • Flatpak, Snap, and AppImage bundle more supporting software for portability.
  • Applications from separate package systems may need separate updates.

2.3 Compare release models and support dates

A release model tells you how a distribution changes. Its support policy tells you how long fixes arrive. Choosing a system means planning both the changes you want now and the maintenance you will need later.

Fixed and rolling releases

A fixed release publishes numbered versions. Updates within a release emphasize security and bug fixes; selected components can still gain features. Broader changes arrive with a release upgrade. Debian stable, Ubuntu, RHEL, openSUSE Leap, and Alpine stable branches follow this model.

A rolling release continuously updates packages to new upstream versions, without major release upgrades. Arch and openSUSE Tumbleweed use this approach. Regular updates keep the system current but can require more attention when behavior changes. Debian unstable and Alpine edge also change continuously, but they are development branches.

NeedSuitable directionMain maintenance issue
Predictable platform for yearsSupported fixed or LTS releasePlan upgrades before EOL
New upstream software quicklyRolling releaseApply and follow frequent changes
Test future releasesDevelopment or prerelease buildExpect unfinished work and bugs
Read the support promise

Long-Term Support (LTS) means several years of maintenance. Ubuntu releases LTS versions every two years in April of even years. Standard security maintenance lasts five years; Ubuntu Pro extends coverage to ten, and its Legacy add-on to fifteen. Coverage depends on the applicable service and packages. Interim releases have nine months of support.

Ubuntu's 26.04 means April 2026. Version 26.10 means October 2026. Ubuntu 24.04 is Noble Numbat, and 26.04 is Resolute Raccoon. As of October 2026, 24.04 standard security maintenance ends in May 2029; 26.04 is supported through April 2031.

Debian stable is the well-tested current release. Testing gathers packages for the next stable release. Unstable, always named sid, receives new packages first. Debian 13, trixie, was released August 9, 2025; full support runs to August 9, 2028, followed by LTS to June 30, 2030. LTS can cover fewer architectures and packages.

RHEL major releases have a ten-year life cycle with full and maintenance phases. Fedora releases about every six months and supports each release for about 13 months. A free download and a long support period are different properties.

Distinguish test stages from maintenance

An alpha is an early, possibly incomplete build. A beta invites wider testing with the main features in place. A release candidate can become final if no serious issue is found. These labels describe progress toward release, not a long-term support promise.

End of life (EOL) ends a release's security updates. A machine can still boot after that date, but newly found flaws will remain unfixed by that support service.

For a planning example, Ubuntu 26.10 starts in October 2026 and has nine months of support. Counting forward gives July 2027. Installing it in June 2027 does not restart that clock. Plan the upgrade from the release's published EOL date. Debian's word “stable” likewise means a deliberately consistent, tested platform, not a promise that software never crashes.

Key Takeaways

  • Fixed releases group broader changes into release upgrades; rolling releases deliver them continuously.
  • LTS describes maintenance duration, not a guarantee of new application versions.
  • Alpha, beta, and release candidate are testing stages.
  • Support dates belong to releases and do not restart when you install.
  • Plan an upgrade or migration before end of life.
  • Debian stable, testing, and unstable have distinct development roles.

2.4 Choose an operating system that fits the work

Start a system choice with the work that must get done. A familiar interface, a zero download price, or a high version number cannot tell you whether the required application and hardware will work. List the requirements before selecting a distribution.

Compare the operating systems
SystemFoundationPractical point
WindowsMicrosoft's proprietary NT-based systemBroad desktop software availability; Windows Server also serves businesses
macOSApple's proprietary system, built on Darwin with XNU and BSD componentsLicensed for Apple hardware; Unix-style tools do not make it Linux
Linux distributionsLinux kernel with open-source userspace and distribution maintenanceMany hardware targets, desktops, and support models

Most Linux distributions are free to download. Enterprise subscriptions pay for services such as tested builds, support, certification, and long maintenance. The freedom to study and share software does not require every service around it to have zero cost.

Notice the everyday differences

Linux organizes files in one tree beginning at /, without Windows drive letters. A Linux path can look like /home/ana/report.odt. Linux filenames are normally case-sensitive: Report.txt and report.txt can name different files. Software normally comes from repositories.

A graphical desktop is a replaceable part of a Linux system. GNOME, KDE Plasma, Cinnamon, Xfce, and LXQt provide different interfaces. Lightweight desktops can help on machines with little memory. Servers often omit a desktop and are managed through a terminal.

Check application compatibility first

A Windows .exe is not a native Linux application. Wine runs many Windows applications through a compatibility layer; Proton, based on Wine, supports many Windows games through Steam. Compatibility depends on the application, so these tools do not guarantee that every required program works.

Some vendors offer native Linux editions. Many open-source applications run on Linux, Windows, and macOS. Browser applications can also make a workflow portable. Desktop Microsoft Office and Adobe Photoshop do not have native Linux editions. WSL runs Linux distributions alongside Windows, and a VM can run Linux on a Windows or macOS host.

Work through a choice

A photographer needs the desktop Photoshop application, a browser, and shared files. First, the Photoshop requirement points toward Windows or macOS for the working desktop. Next, Linux learning can happen in a VM, or in WSL on Windows. Replacing the working system before checking the required application would interrupt the job.

For a small server, the priorities change. Check architecture, required server software, support duration, and whether a vendor must answer support requests. An enterprise or LTS server release can fit that need. For an older laptop, compare memory requirements and lighter desktop options; for a Raspberry Pi, choose a matching image such as Raspberry Pi OS.

A useful shortlist records purpose, processor architecture, available memory and storage, must-have applications, support dates, commercial support needs, and documentation. Then compare the distributions against those requirements.

Key Takeaways

  • Check required applications and hardware before replacing an operating system.
  • Linux desktops can be changed independently of the kernel.
  • Wine and Proton help with compatibility but do not run every Windows program.
  • Choose distributions using purpose, resources, software, support, and documentation.
3

Explain open-source software and choose a fitting license

An open download is not enough to establish open-source rights. Software licenses govern studying, changing, copying, and sharing code, while price answers a separate question. Learn to identify those freedoms and the conditions that travel with permissive and copyleft software. For photos, writing, and other content, Creative Commons elements help you decide which uses are permitted and what attribution or sharing conditions follow.

3.1 Tell software freedoms apart from price

The price of a download tells you little about your rights. A program can cost nothing and forbid changes, or be sold while giving users permission to study, modify, and share it. The license determines those freedoms.

Source code and software categories

Source code is the human-readable form programmers write. A compiled binary is a form a computer can execute. Access to source helps users inspect and change a program, but seeing it does not itself grant permission to reuse it.

CategoryWhat it tells you
ProprietaryThe license restricts one or more software freedoms
FreewareProprietary software available at no charge
SharewareProprietary software offered for trial before purchase
Free softwareUsers have the four freedoms defined by the FSF
Open sourceThe license meets the OSI's Open Source Definition
Source-availableCode can be read, but restrictions prevent it meeting the open-source definition

Proprietary source can be private or visible under restrictions. A public repository without a license also does not grant a general right to copy, modify, and redistribute the code. Check for a license before reuse.

The four freedoms

The Free Software Foundation numbers the freedoms from zero:

  • 0: run the program for any purpose.
  • 1: study how it works and change it.
  • 2: redistribute copies.
  • 3: distribute modified versions.

Freedoms 1 and 3 need access to source. “Free” here concerns freedom. A business can sell free software, and a customer can pay for support while retaining these rights.

The Open Source Initiative, founded in 1998, applies a ten-part definition derived from Debian's Free Software Guidelines. It requires source access, redistribution, and modified works. Licenses cannot discriminate against people, groups, or fields such as business. Rights must reach recipients without a separate agreement and cannot be tied to one product, restrict unrelated bundled software, or require a specific technology.

The free software movement emphasizes users' rights and control; the open source movement emphasizes shared development and practical benefits. Their approved licenses overlap greatly. FOSS and FLOSS are umbrella terms for these closely related ideas.

Apply the distinction

A free-to-download drawing app has visible source but forbids business use. First, ignore its price. Next, inspect the permission: the business restriction fails the open-source rule against discrimination by field of use. The app is source-available, not open source in the OSI sense. BSL and SSPL are examples of source-available license approaches.

By contrast, an MIT-licensed editor can be sold and still be free and open-source software. Its price does not remove its license permissions.

Control over devices and data

Digital autonomy concerns an individual's control over devices, data, and software. Digital sovereignty concerns an organization or country's control over infrastructure and data. Open source supports these aims because another provider can inspect, maintain, or adapt the code. This reduces vendor lock-in, where changing suppliers becomes difficult. The ability to maintain a system independently is distinct from whether a team has the staff and resources to do so.

Key Takeaways

  • Price and software freedom are separate properties.
  • Free software grants the freedoms to run, study, change, and share.
  • Open source requires license permissions, not simply public source code.
  • A restriction against commercial use fails the Open Source Definition.
  • Public code without a license does not grant general reuse rights.
  • Open source can support autonomy and reduce vendor lock-in.

3.2 Apply software license conditions

An open-source license grants rights while keeping conditions attached to the code. To apply it, identify the license and version, decide what action you plan, and check which part of the software the conditions cover.

Permissive licenses preserve notices

MIT and the 2-clause and 3-clause BSD licenses permit reuse, changes, and distribution in proprietary products. Keep the required copyright notice and license text. The 3-clause BSD license also prevents using contributors' names to endorse a derived product without permission.

Apache 2.0 is permissive too. It adds an explicit contributor patent license, requires marking changed files, and passing on relevant NOTICE information.

Copyleft keeps covered code open
LicenseMain boundary when its conditions apply
GPLThe covered combined program must remain under the GPL with corresponding source available on distribution
LGPLThe library stays under LGPL; other programs may link under other licenses if replacement and other conditions are met
MPL 2.0Distributed MPL-covered files remain under MPL with source available; separate files can have other licenses
AGPLAdds a source offer for network users interacting with a modified covered program

GPL software can be sold. Running or modifying it privately does not itself require public release of the changes. Distributing copies, including in devices, triggers obligations to recipients. The permitted source-delivery method depends on the GPL version and the form of distribution; a written offer is allowed in specified cases, not every case.

GPLv3 adds patent protections and installation-information rules for covered consumer products. The Linux kernel uses GPL-2.0-only. An SPDX identifier ending in -or-later gives a choice of that version or a later one; -only does not.

Check the action and the covered part

A business modifies a GPL tool and runs it only on its own computers. It has not distributed copies, so that private modification does not create a source-publication duty. If it ships the modified tool to customers, it must comply with distribution terms, including corresponding source access.

Now a business modifies an AGPL web application and lets customers use it online. Network interaction with that modified version requires offering its source to those users. GPL and AGPL therefore differ even when customers receive no program download.

A router vendor that ships a modified Linux kernel must provide the corresponding kernel source under GPLv2 through a valid method. Separate userspace programs using ordinary system calls do not become GPL-covered merely for that reason. Documents and pictures created with a GPL application also do not acquire the application's license.

Combine code carefully

MIT code can usually be incorporated into a GPL program while preserving MIT notices. The resulting combined program must satisfy the GPL. GPL code cannot simply be relabeled MIT to remove copyleft conditions. Apache 2.0 is compatible with GPLv3, but not with GPLv2-only.

Key Takeaways

  • Permissive licenses allow proprietary reuse while retaining notice obligations.
  • GPL distribution triggers copyleft and corresponding-source obligations; private modification alone does not.
  • LGPL and MPL apply copyleft to narrower parts than the GPL.
  • Modified AGPL programs must offer source to users interacting over a network.
  • License versions and compatibility matter when combining code.
  • Using a GPL application does not place your own documents under the GPL.

3.3 Reuse Creative Commons content correctly

Open licenses also apply to work such as images, text, music, and teaching materials. Creative Commons supplies tools for this content. Read the license elements before deciding whether a particular use is allowed.

Read the four elements
ElementMeaning for reuse
BY: AttributionCredit the creator and provide required license information
SA: ShareAlikeShare adaptations under the same or a permitted compatible license
NC: NonCommercialThe license does not permit commercial use
ND: NoDerivativesThe license does not permit sharing adaptations

The six licenses are CC BY, CC BY-SA, CC BY-ND, CC BY-NC, CC BY-NC-SA, and CC BY-NC-ND. All six require attribution. These restrictions do not form a single simple ranking: ND restricts adaptations, while NC restricts a different dimension, commercial use.

CC0 is a separate public-domain dedication. It waives copyright as far as possible and provides a fallback permission where needed. Credit is good practice but is not a CC0 condition. Among these tools, CC BY, CC BY-SA, and CC0 permit both commercial reuse and adaptations and match the idea of fully open reuse.

Decide whether the planned use fits

Imagine a trainer finding a CC BY-NC photo for a paid advertisement. The advertisement is commercial, so the NC license does not authorize that use. Giving credit does not remove the restriction; the trainer needs separate permission or a different image.

For a CC BY-ND diagram, sharing the original with credit is permitted. Recoloring it into an adaptation and sharing that adaptation is not authorized by ND. ND's relevant restriction is sharing the adaptation; it does not prohibit making a private adaptation.

A CC BY-SA text may be adapted, including for commercial use, with credit and the required license for the adapted material. This does not mean unrelated material placed alongside it automatically has the same license. Wikipedia text is a familiar BY-SA example.

Give useful attribution

TASL is a practical reminder: Title, Author, Source, License. Include links to the original and the license where possible, and describe changes. An example credit is: “'Morning Harbor' by Lee Park, from the creator's portfolio, CC BY 4.0; cropped.” Link the title to the original and the license name to its terms. Use the actual creator, source, and license in your own credits.

A link to a search result alone does not identify the creator or the license. Keep the credit information when downloading content.

Keep content and code licenses separate

Creative Commons recommends software-specific licenses for program code because the BY-family licenses do not address source delivery and software patent issues in the same way. A project can put its code under MIT and its manual under CC BY-SA.

Version 4.0 licenses cannot simply be revoked for compliant users who already received the work. Removing the download later does not erase their existing permissions. Finding an image online, however, supplies no open license by itself.

Key Takeaways

  • BY requires credit; SA governs shared adaptations; NC restricts commercial use; ND restricts sharing adaptations.
  • The six CC licenses have different combinations of conditions.
  • CC BY, CC BY-SA, and CC0 permit commercial use and adaptations.
  • Use TASL and identify changes when attributing reused work.
  • Use software-specific licenses for code.
4

Describe how open-source communities work and how they are funded

Open-source software depends on organized human work. Contributors propose improvements, maintainers review them, and projects choose different ways to make decisions. Useful participation can begin with testing, documentation, or a clear bug report. Funding supports that work through services, subscriptions, hosting, and sponsorship. Follow how governance, business choices, and forks affect the software that people can keep using.

4.1 Contribute to an open-source project

An open-source project needs more than code. Users identify problems, contributors propose improvements, and maintainers decide what enters the official project. The license gives you rights to the software; project governance decides how the shared version develops.

Understand the roles and decisions

Contributors can write documentation, translate interfaces, test releases, improve design, answer questions, or report bugs. Maintainers review work for a project or subsystem. Larger projects also have security teams and release managers.

Governance varies. Linus Torvalds has the final decision on the mainline Linux kernel. Debian elects a Project Leader and follows a constitution. A company can lead a project, as Canonical leads Ubuntu. Foundations such as the Apache Software Foundation or Python Software Foundation provide an organizational home, handling matters such as funds and trademarks. Foundation involvement does not mean all projects use the same decision process.

Anyone can propose a change or make a fork. Only authorized maintainers can accept it into the official project. A fork develops a copy independently; examples include LibreOffice from OpenOffice.org, Nextcloud from ownCloud, and MariaDB from MySQL.

Know upstream and downstream

The original project that develops a program is its upstream. Distributions that package and sometimes patch it are downstream. A fix sent upstream can benefit many distributions and reduce the need to maintain separate patches.

Report a distribution-specific packaging issue through that distribution's route. A general application bug can belong upstream. Read the reporting guidance because projects may ask you to confirm the issue or gather particular information first.

Follow the contribution workflow

Git records project history. GitHub, GitLab, and Codeberg host repositories and collaboration tools. An issue tracker records problems and feature requests. A pull request or merge request proposes changes for review; automated tests can check them. The kernel commonly reviews emailed patches.

Read the README, contribution guide, and code of conduct. A CLA grants specified contribution rights to the project owner. A DCO sign-off certifies that the contributor has the right to submit the work. These are different mechanisms. Keep a proposed change focused and respond to review patiently.

Build a bug report someone can use

Suppose an application closes unexpectedly when a chart is exported. Search the tracker first. If the problem is new, write a report such as:

  1. Title: “Chart export closes the application.”
  2. Environment: exact application version, distribution, and distribution version.
  3. Steps: open a new sheet, insert a chart, choose the export format, and save.
  4. Expected result: an exported image and an open application.
  5. Actual result: the application closes; include the exact error text if available.

Provide a small sample that reproduces the problem when appropriate. Remove personal data and credentials from attachments. A specific report lets another person reproduce and investigate the failure. “It is broken” describes frustration but gives no repeatable route to the problem.

Key Takeaways

  • Contributions include documentation, testing, translation, support, and bug reports.
  • Maintainers decide which proposals enter the official project.
  • Upstream develops original software; downstream packages or adapts it.
  • Projects use different governance and contribution rules.
  • A useful bug report gives versions, reproducible steps, expected and actual behavior, and relevant errors.

4.2 Explain how open source pays for its work

Free redistribution changes how software businesses earn money, but it does not prevent income. Customers often pay for the work needed to run software reliably. Projects can also share costs through donations, grants, foundations, and paid contributors.

Match the model to what is sold
ModelWhat the customer or funder pays for
Support subscriptionMaintained builds, long updates, certification, and technical help
ServicesConsulting, integration, training, and custom development
HostingOperation of the software as an online service
Open coreProprietary features alongside an open-source core
Dual licensingAn alternative commercial license for the same code
HardwareA device that runs the software
Sponsorship or grantsContinued work on software the funder values

Red Hat, SUSE, and Canonical sell support and maintenance services. A managed database service sells operation and convenience. A router maker sells a physical device and benefits from a shared operating system. Search partnerships can fund browser development; Mozilla receives substantial income through such agreements.

Separate open core from dual licensing

In open core, the extra paid component has features that the open core does not include. A company might offer an open monitoring tool and a proprietary add-on for managing thousands of machines.

In dual licensing, the same code is offered under different licenses. A customer can follow the copyleft license or buy a commercial alternative that permits a different use. MySQL and Qt use forms of this model. The copyright holder needs the rights required to offer the alternative; a user cannot simply relicense somebody else's code.

Understand shared funding

Companies pay developers to improve infrastructure they depend on. Sharing the cost of a kernel, library, or tool can be cheaper than building it separately. Foundation membership fees, individual donations, sponsorship, and grants also support work. Open source includes paid professionals as well as volunteers.

Follow license changes and forks

Some vendors moved new releases to source-available terms to control competing hosted services. MongoDB adopted SSPL in 2018. Terraform moved to BSL in 2023; Redis adopted RSAL and SSPL in 2024. Earlier releases remain available under the licenses already granted.

Communities can continue from an earlier open release. OpenSearch continued from Elasticsearch, OpenTofu from Terraform, and Valkey from Redis. Later changes can add open options again: Elastic added an AGPL option in 2024, and Redis 8 added AGPL in 2025. Check the exact release and license when comparing products.

Consider a team funding a scheduling application. Selling a hosted service pays for servers and operation. Selling support pays for help and maintenance. Selling an extra proprietary management module is open core. These choices affect what customers buy without making the open code disappear.

Key Takeaways

  • Open-source businesses sell support, services, hosting, devices, or additional features.
  • Open core adds proprietary features; dual licensing offers the same code under alternative licenses.
  • Companies, donations, sponsorship, foundations, and grants all fund development.
  • A new release can change licenses without withdrawing rights already granted for older releases.
  • Forks can continue development from an earlier open-source release.
5

Recognize major open-source applications and what they are used for

Choosing an application starts with the job it must do. Desktop tools handle documents, graphics, media, and analysis; web platforms support shared files, meetings, courses, and collaboration. Server stacks combine programs with different roles. Learn these roles and the basic ways programs run so that familiar names become useful choices, whether you are selecting a photo editor, a course platform, or the components behind a website.

5.1 Match desktop applications to tasks

Open-source applications cover office work, browsing, graphics, media, programming, and data analysis. Many also run on Windows and macOS. Learn what kind of work each application handles so you can choose by task.

Office and internet work

LibreOffice includes Writer for documents, Calc for spreadsheets, Impress for presentations, Draw for diagrams, Base for databases, and Math for formulas. Its default OpenDocument formats include .odt, .ods, and .odp. It also reads and writes Microsoft formats such as .docx and .xlsx.

LibreOffice began as a fork of OpenOffice.org in 2010 and is developed under The Document Foundation. Apache OpenOffice remains a separate project. Firefox is Mozilla's browser; Thunderbird handles email, calendars, and contacts. Chromium is Google's open-source browser project. Google Chrome builds on it with proprietary additions and its own distribution terms.

Choose the right kind of graphics tool
TaskProgramWhy it fits
Edit a photographGIMPWorks with pixel-based raster images; native format .xcf
Draw a scalable logoInkscapeCreates vector shapes, commonly saved as SVG
Paint an illustrationKritaDesigned for digital painting
Build a 3D animationBlenderProvides 3D modeling, animation, and video tools

A raster picture stores pixels. Enlarging it far beyond its original size reveals that grid. A vector picture stores shapes defined mathematically, so its edges remain sharp when scaled.

For a community event, use Inkscape for the logo that must appear on both a small badge and a large sign. Use GIMP to adjust the accompanying photograph. The two files can appear in one design, but their editing needs are different.

Media and recording

VLC plays a wide range of audio and video formats and streams. Kodi organizes a media library for use on a TV or media-center system. Audacity records and edits sound. OBS Studio records and live-streams video. An audio-editing task calls for Audacity; capturing and streaming a lesson calls for OBS Studio.

Editing code, signing files, and analyzing data

Microsoft's Visual Studio Code builds are distributed under proprietary terms. The underlying Code - OSS source is MIT-licensed. VSCodium provides community builds from that source without Microsoft's branding and telemetry additions. The license of the source project and the license of a vendor's distributed build can differ.

GPG, GNU Privacy Guard, implements OpenPGP encryption and digital signatures. Encryption protects content from reading; a verified digital signature helps establish who signed data and whether it changed. Distributions use signatures in package and image verification workflows.

R is a language and environment for statistics, data analysis, and charts. Calc is useful for spreadsheet work, while R supports analysis expressed as programs. Choosing a familiar brand alone can hide these differences: a browser is not an email client, a video recorder is not an audio editor, and public source does not automatically make every branded build open source.

Key Takeaways

  • LibreOffice provides office applications and uses OpenDocument formats by default.
  • GIMP edits raster images; Inkscape creates scalable vector graphics.
  • VLC plays media, Audacity edits audio, and OBS Studio records or streams video.
  • Chromium differs from Chrome, and Code - OSS differs from Microsoft’s VS Code builds.
  • GPG handles OpenPGP encryption and signatures; R supports statistical analysis.

5.2 Choose web and collaboration platforms

A web application runs on a server and presents its interface through a browser. Open-source web applications can often be self-hosted, giving an organization a choice of operator and more control over its data. That choice also brings maintenance work.

Match platforms to everyday needs
NeedExamplesMain purpose
Shared files and synchronizationNextcloud, ownCloudStore, synchronize, and share files
Browser meetingsJitsi MeetJoin video conferences through links
Live online teachingBigBlueButtonWhiteboards, slides, polls, breakout rooms, recording
Courses and assessmentMoodlePublish courses, collect assignments, run quizzes, track grades

Nextcloud began as an ownCloud fork in 2016. It also offers functions such as calendars, contacts, office collaboration, and chat. Moodle is a learning management system, or LMS, written in PHP. It is often paired with BigBlueButton for live classes.

A course platform and a conferencing system solve different problems. Moodle can store assignments and grades between lessons; BigBlueButton provides the live lesson environment. One is not a substitute for every function of the other.

Follow a self-hosting choice

A training cooperative wants its course work and files on servers it controls. First, it selects Moodle for course activities, a meeting system for live sessions, and Nextcloud for shared files. Next, it decides who will run the Linux servers. Finally, it assigns responsibility for updates, backups, account access, and security.

Open source allows self-hosting, but does not perform that ongoing work automatically. A local service provider can operate the software for the cooperative if it lacks its own staff.

Separate Git from a forge

Git is a distributed version control system created by Torvalds in 2005. A commit records a change in project history. A branch allows a line of work to develop separately before merging. An ordinary full clone keeps the repository history on another computer.

A forge adds hosted repositories, issue tracking, code review, and automation around Git. GitLab Community Edition, Gitea, and Forgejo are open-source options. Codeberg is a hosting service powered by Forgejo. GitHub is a proprietary service owned by Microsoft, even though it hosts many open-source projects.

A team can use Git without GitHub. It can keep local repositories, use another forge, or move its Git history between hosts. The host's extra features, such as its issue database, are separate from Git history.

Choose control and responsibility together

If a team wants to retain its version history when switching providers, Git's distributed history helps. If it also wants to run the review platform itself, it needs a self-hostable forge. Compare the license, required features, and who will maintain it. A public repository, an open-source application, and an open-source hosting platform are three different things.

Key Takeaways

  • Self-hosting gives control while making someone responsible for updates, backups, and security.
  • Moodle manages courses; BigBlueButton supports live teaching; Nextcloud shares files.
  • Git records project history; a forge hosts collaboration around repositories.
  • GitHub is a proprietary service; GitLab CE, Gitea, and Forgejo provide open-source forge options.

5.3 Recognize server software and languages

A server application usually works with other programs. A web server handles requests, an application supplies behavior, and a database stores data. Recognizing each role helps you understand a working stack without needing to write the programs yet.

Match the server to the service

Apache HTTP Server delivers web content and supports modules. NGINX also serves web content and commonly acts as a reverse proxy, forwarding requests to application servers, or a load balancer, spreading requests across them. Apache HTTP Server is one project; the Apache Software Foundation hosts many others.

MySQL, MariaDB, and PostgreSQL are relational database servers. MySQL has GPL and commercial licensing options. MariaDB began as a MySQL fork in 2009. PostgreSQL is a separate project known for extensibility and its permissive license. Related database products can still develop differences; shared history does not make their versions interchangeable forever.

For file sharing, NFS is traditional between Unix-like systems. Samba implements SMB for sharing files and printers with Windows and other clients. It can also provide Windows-style domain services.

Trace a LAMP request

LAMP commonly means Linux, Apache, MySQL or MariaDB, and PHP. Some uses substitute Perl or Python for PHP. Consider a visitor opening a stock-check page:

  1. The browser requests the page from Apache on Linux.
  2. Apache passes the request into the application's PHP code.
  3. The code asks MariaDB for stock records.
  4. The application builds the response, and Apache sends it to the browser.

The database does not replace the web server, and the browser does not directly run the server's PHP code. Each component handles a different part of the request.

Understand how programs run

A compiler can turn source into machine code for a particular architecture. An x86-64 executable does not run directly as ARM64 machine code. An interpreter runs code at runtime; the required interpreter, libraries, and system features must all be available for a script to move successfully between systems.

Java commonly compiles to bytecode executed by a Java Virtual Machine. OpenJDK is an open-source Java implementation. Real language systems can combine compilation and interpretation; these labels explain the main route, not a rule that every implementation works identically.

LanguageTypical work
C, C++System software and large native applications
RustCompiled software with protections against many memory errors; used in some kernel work since Linux 6.1
GoNetwork services and tools such as Docker and Kubernetes
PythonAutomation, administration, analysis, and AI
PHPServer-side web applications, including Moodle, Nextcloud, and WordPress
JavaBusiness applications using the JVM
JavaScriptBrowser interaction and server programs through Node.js

C remains the kernel's main language. Java and JavaScript have similar names but are different languages. Choosing JavaScript for a browser's interactive controls does not imply using Java or a JVM. Choosing Python for automation still requires checking the libraries and operating-system features that the script uses.

Key Takeaways

  • Web servers, application code, and databases have separate jobs within a stack.
  • LAMP commonly combines Linux, Apache, MySQL/MariaDB, and PHP.
  • NFS shares directories between Unix-like systems; Samba implements SMB.
  • Compiled machine code targets an architecture; scripts still need compatible runtimes and dependencies.
  • Java uses the JVM; JavaScript runs in browsers and through runtimes such as Node.js.
  • C, Rust, Go, Python, and PHP have different common uses.
6

Set up a safe Linux environment to practice in

A useful practice environment must fit both your computer and the tasks you want to learn. A full VM exposes installation and booting, while WSL offers quick Linux access alongside Windows. Match architecture and resources, verify the downloaded image, and prepare an updated starting point. Account protection, limited privileges, encryption, and backups belong in the setup because practice still touches real devices, credentials, and data.

6.1 Choose a practice setup for your computer

You can learn Linux while keeping your current operating system. Choose the setup by what you need to practice, how much memory is available, and whether you need to see a full installation and boot process.

Compare the options
SetupUseful forMain limitation
Virtual machineFull installation, booting, desktop, servicesNeeds host memory and storage
WSL on WindowsQuick access to Linux tools and many servicesHides a normal installer and boot loader
Cloud instanceRemote server practiceCharges and network security responsibilities
Live USBTesting Linux on real hardwareChanges normally disappear at shutdown
Dual bootFull hardware access alongside another systemPartition changes can damage existing data
Dedicated computerA separate Linux machineRequires available hardware

A VM runs as a guest alongside a host operating system. Desktop tools include VirtualBox, VMware Workstation Pro, VMware Fusion, UTM, and GNOME Boxes. Desktop-hosted virtualization is commonly called type 2; type 1 platforms such as Hyper-V, ESXi, Xen, and KVM provide virtualization at the hardware level. A desktop management interface does not alone tell you the architecture of its hypervisor.

VirtualBox's base package is GPLv3. VMware Workstation Pro is proprietary even though it has been free for all uses since November 2024. As with other software, price and license freedoms differ.

Match the image to the processor

Intel and AMD 64-bit PCs normally use x86-64, commonly labeled amd64. That label includes Intel processors. Apple silicon Macs and ARM-based Windows laptops use ARM64, labeled arm64 or aarch64.

For normal hardware virtualization, match guest and host architecture. An ARM64 host does not directly execute an x86-64 guest image. Emulation can translate a different architecture but is slower. Intel VT-x or AMD-V must be enabled in PC firmware for hardware virtualization used by VMs and WSL 2.

Work through a choice

A learner has an Apple silicon Mac and wants to practice the Linux installer, rebooting, and a desktop. First, those tasks require a complete guest system, so a VM fits. Next, the processor requires an ARM64 image. Then choose a hypervisor with ARM Linux support, such as UTM or a suitable current VirtualBox release, and leave enough memory for macOS.

A Windows learner who mainly wants shell practice can start with WSL. A person checking a laptop's Wi-Fi and graphics before installation can use a live USB. A container supplies Linux userspace but shares a kernel and normally omits a full boot process, so it does not cover the same practice as a VM.

Know the boundaries

VM changes normally stay on virtual disks, but writable shared folders expose host files to the guest. A snapshot can undo a practice mistake within the VM. Cloud resources need separate attention: deleting a VM may leave billable disks or other resources, so check the provider's resource list afterward. Back up important data before any dual-boot partition changes.

Key Takeaways

  • Choose the environment by the tasks you want to practice.
  • VMs show a full guest installation and boot process; WSL provides quick Linux access on Windows.
  • Match amd64 to x86-64 hardware and arm64/aarch64 to ARM64 hardware.
  • Writable shared folders extend a VM’s access to host files.
  • Cloud practice requires security and checking for remaining billable resources.

6.2 Install and prepare a Linux virtual machine

A VM lets you install a complete Linux system on a virtual disk. Work through the image, resources, installer, and first updates in order. Each stage answers a different question: is the image trustworthy, will it fit, and is the installed system ready?

Download and verify the image

Download an ISO from the distribution's official website. Match the desktop or server edition and the architecture to your plan. An ISO represents installation media; a cloud image is usually a prepared system disk for automated setup.

Calculate your download's SHA-256 checksum and compare the entire value with the published checksum. Example commands for an image named file.iso are:

  • Linux: sha256sum file.iso
  • macOS: shasum -a 256 file.iso
  • Windows PowerShell: Get-FileHash file.iso

A mismatch means the copy is damaged or altered: discard it and download again. A match establishes equality with the file described by that checksum. It does not prove that a checksum copied from an untrusted website is genuine. Verify the distribution's signature on the checksum file using its authentic published key. GPG performs this signature check.

Create a VM that fits

Select the ISO in the VM tool and allocate processors, memory, and a virtual disk. For Ubuntu Desktop 26.04, the published comfortable minimum is a dual-core processor, 6 GB RAM, and 25 GB storage. Server editions and lighter desktops need less. Leave enough memory and storage for the host as well.

For example, a 16 GB host allocating 6 GB to a guest leaves 10 GB for the host. A dynamically allocated 40 GB virtual disk does not reserve 40 GB immediately; it grows as data is written, up to that maximum. It still needs real free disk space as it grows.

Start with NAT networking for ordinary practice. The guest can reach the internet through the host, while unsolicited direct access from the local network is not normally provided. Bridged mode puts the VM on the local network with its own address when other machines need to reach it.

Run the installer

Choose language, keyboard, and time zone. Check that the selected target is the VM's new virtual disk before choosing an erase-disk installation. Create a user and a strong password; enable disk encryption if appropriate. Finish installation, reboot, and detach the ISO so the next boot uses the installed system.

An installer appearing again after reboot often means the ISO is still attached and selected for startup. A failure on an ARM64 computer with an amd64 image calls for the correct image, not more guest memory.

Prepare a clean starting point

Install available updates. Add the hypervisor's guest tools, such as VirtualBox Guest Additions or VMware's open-vm-tools, for features such as screen resizing. Shared clipboards and folders may be enabled through these tools; enable access only for the files you need.

Take a snapshot of the updated system before experiments. It saves a state to return to, but remains tied to the VM's storage. Keep a separate backup of important work. If the host disk fails, a snapshot stored on that disk fails with it.

Key Takeaways

  • Download an official image matching edition and architecture.
  • A checksum checks file equality; a trusted signature authenticates the checksum information.
  • Allocate resources while leaving enough for the host.
  • NAT suits ordinary practice; bridged mode makes the guest a local-network peer.
  • Detach installation media after installing, then update and add guest tools.
  • A snapshot helps roll back mistakes but does not replace a separate backup.

6.3 Install and manage WSL on Windows

WSL runs Linux distributions alongside Windows applications. WSL 2 uses a real Linux kernel in a lightweight VM managed by Windows. You get a Linux environment without manually creating virtual hardware or following a normal Linux installer.

Install and create a Linux account

The simple install route requires Windows 10 version 2004, build 19041 or later, or Windows 11, with hardware virtualization enabled. Use a supported Windows release for ongoing security updates. Open PowerShell as administrator and run:

wsl --install

Restart when asked. This enables the required features and normally installs Ubuntu. When Ubuntu first starts, create its Linux username and password. These belong to that distribution and do not have to match your Windows account.

In Ubuntu, the initial package update is:

sudo apt update
sudo apt upgrade

The first command refreshes package information; the second installs available package upgrades. If sudo asks for a password, use the Linux account password.

Recognize the management commands
PowerShell commandPurpose
wsl --list --onlineList distributions available to install
wsl --install -d DebianInstall Debian specifically
wsl --list --verbose or wsl -l -vShow installed distributions, states, and WSL versions
wsl --set-default-version 2Choose WSL 2 for future distribution installations
wsl --updateUpdate WSL itself
wsl --shutdownStop all distributions and the WSL VM

Suppose the list shows * Debian Stopped 2. Debian is the default distribution because of the asterisk. It is currently stopped, and it uses WSL 2. The number is not the Debian release number. Setting a default WSL version does not convert every existing distribution.

Keep file locations clear

Inside Linux, Windows drive C: appears at /mnt/c. A Windows file at C:\Users\Ana\notes.txt is reachable as /mnt/c/Users/Ana/notes.txt. File Explorer can reach Ubuntu's Linux files through \\wsl.localhost\Ubuntu.

For work performed by Linux tools in WSL 2, store project files in the Linux file system, such as the Linux home directory. Frequent access across the Windows/Linux file-system boundary can be much slower. WSL installation stores the distribution in a virtual disk file, but tools with access to mounted Windows files can still change those files.

Know what WSL does and does not expose

WSL 1 translated Linux calls and did not provide a real Linux kernel. WSL 2 does. Current WSL supports systemd and graphical Linux applications in Windows windows. Microsoft maintains the kernel used by this environment, and WSL itself was open-sourced under MIT in May 2025.

WSL does not provide normal practice with a Linux installer, boot loader, or a full desktop installation. Direct hardware access also differs. Use it for tools, scripting, and many services; choose a full VM when the learning task is installation and booting.

Key Takeaways

  • WSL 2 runs a real Linux kernel managed through Windows.
  • Run the install command in administrator PowerShell, then create a separate Linux account.
  • WSL list output distinguishes distribution, running state, default choice, and WSL version.
  • Use the Linux file system for Linux-tool projects to reduce cross-system file access.
  • WSL does not expose a normal Linux installer and boot loader.

6.4 Protect accounts, systems, and data

A practice system is still connected to real accounts, files, and networks. Build protection into the setup: use strong credentials, limited rights, current software, and the right protection for stored and moving data.

Make credentials hard to reuse or steal

Use a long, random, unique password for each account. A password manager such as KeePassXC or Bitwarden generates and stores these in an encrypted vault. Protect the vault with a strong master password that is not reused elsewhere.

Random selection matters. Four words chosen independently from a list of 7,776 give about 3.7 quadrillion possibilities; six give about 2.2 × 10²³. A familiar quotation does not have the same strength because it is not a random selection. Adding one bit of uncertainty doubles the search space.

Multi-factor authentication (MFA) combines different kinds of evidence, such as a password and a hardware key or authenticator. Two passwords are still the same kind of factor. Enable MFA for important accounts, particularly email and cloud accounts.

A passkey uses a cryptographic key pair instead of a shared password. The service has the public key; the private key stays with your device or credential manager. A fingerprint, face, or PIN unlocks its use. Passkeys are bound to the service, which protects against entering a reusable secret into a fake website.

Limit rights and maintain the system

Work in a regular user account and use sudo only for tasks that need administrator rights. Working permanently as root gives every program and mistake broad control. Keep the distribution updated and move to a supported release before EOL.

Use trusted software sources and verify installation images. An open-source license allows inspection but does not mean every copy from any website is safe.

Match encryption to the risk
RiskUseful protectionBoundary
Someone reading a browser connectionHTTPSCheck the domain too; encryption does not prove honesty
Someone reading a remote login or transferSSH or SFTPKeep private keys secret
A stolen powered-off laptop or diskFull-disk encryptionKeep recovery information and backups separately

Linux commonly uses LUKS for disk encryption; Windows uses BitLocker and macOS FileVault. Encryption at rest protects stored data from someone without the key. It does not replace backups or secure an account already unlocked for an attacker. If recovery keys and passwords are lost, encrypted data can become unrecoverable.

Handle devices and secrets deliberately

Do not connect USB devices of unknown origin. Some carry malware; others can pretend to be keyboards. Encrypt portable drives holding sensitive files because they are easily lost.

Keep passwords, API keys, and SSH private keys out of public code, shared screenshots, and forum posts. An SSH public key can be shared with a server; its private partner must remain secret. For a cloud practice server, use SSH keys, expose only needed network ports, and remove resources after use. Protect host files shared with a VM or reachable from WSL with the same care as other files.

Key Takeaways

  • Use unique random passwords and a protected password manager.
  • MFA combines different factor types; passkeys resist phishing through service-bound keys.
  • Work with regular user rights and keep the system supported and updated.
  • HTTPS, SSH, and SFTP protect data in transit; disk encryption protects data at rest.
  • Keep recovery information and backups; keep private credentials out of shared material.
  • Do not connect USB devices of unknown origin.

Linux and Open Source examples

6 Walkthroughs

1

Follow Linux from its roots to a working system

12 steps
Connect Linux history, the kernel boundary, and the roles Linux plays across devices.
  1. 1
    IntroductionOne name, several views

    A laptop and a router can both run Linux without offering the same experience. To describe them clearly, separate three questions: where did the system come from, which part manages the hardware (the kernel, which keeps ordinary programs from controlling it directly), and what job does the machine do?

    Start with the history, then follow a program’s request through the system, from userspace into the kernel. Finally, compare a full VM with a container and identify client and server roles.

  2. 2
    ExplanationBegin with Unix and GNU

    Unix began at Bell Labs in 1969 and spread ideas such as one directory tree and small tools that can work together. GNU began in 1983 to build a free Unix-like operating system.

    By the early 1990s, GNU had compilers, libraries, a shell, and utilities, but its intended kernel was not ready for everyday use. Those tools were a major part of a system, but did not by themselves manage the hardware as a working kernel would.

  3. 3
    ExampleAdd the Linux kernel

    Torvalds began Linux in 1991, announced it in August, and published version 0.01 in September. The kernel moved to the GPL in 1992.

    Now combine the contributions: Linux supplies the kernel, while GNU supplies much of the surrounding software. Distributions assemble the parts into installable systems. This is why GNU/Linux can credit both efforts without treating GNU as a later add-on project.

  4. 4
    ChallengePlace the contribution correctly

    A colleague says, “GNU was created after Linux to give its kernel some tools.” How would you correct the timeline?

    ---reveal---

    GNU began in 1983; Linux began in 1991. GNU tools therefore existed before the Linux kernel. Combining the kernel with those tools helped form a complete free system. The history involves separate efforts coming together, not GNU starting as a response to Linux.

  5. 5
    ExplanationFind the hardware boundary

    The kernel manages processor time, memory, devices, files, networks, and permissions. Applications and desktops run outside it in userspace.

    An application uses a system call to request a kernel service. The separation limits what ordinary programs can control directly. Linux drivers run in the kernel, often as loadable modules, while the application’s menus and document-editing features belong to userspace.

  6. 6
    ExampleFollow one file request

    An image editor needs to read a saved picture.

    1. The editor requests the file through a system call.
    2. The kernel checks access rights and uses file system code and a storage driver to retrieve bytes.
    3. The editor interprets the bytes and displays the picture.

    The kernel does not need to know how the editor’s crop tool works. Its job in this request is controlled access to the underlying resource.

  7. 7
    ChallengeExplain a changed desktop

    Two computers run the same kernel build. One has GNOME and the other KDE Plasma, and their menus look different. Does this contradict their shared kernel?

    ---reveal---

    No. Both desktops run in userspace. Their layout and tools can differ while the kernel handles hardware services for each. A kernel update and a desktop change are separate changes, so appearance alone cannot identify the kernel version.

  8. 8
    ExplanationDistinguish a VM from a container

    A VM has virtual hardware and its own kernel. A container packages application processes and files while sharing the host kernel. Linux containers on Windows or macOS commonly run inside a small Linux VM.

  9. 9
    ExampleIdentify roles in a service

    A weather website runs on a rented Linux VM. A browser requests a forecast page, and the website requests records from a separate database.

    The rented VM is a cloud instance. The website acts as a server toward the browser and a client toward the database. “Client” and “server” describe those exchanges; they are not permanent labels for two mutually exclusive kinds of computer.

  10. 10
    ChallengeClassify an embedded use

    An internet router runs Linux and offers a browser-based settings page. What kind of Linux use is this, and what role does the settings program play?

    ---reveal---

    The router is an embedded system: a computer built into a device for a particular purpose. Its settings program acts as a server when it delivers pages to a browser. It does not need a normal desktop environment to provide that service.

  11. 11
    ChallengeConnect the parts

    An Android phone opens a website hosted in Linux containers on a cloud VM. Do all three environments need the same GNU desktop software, and which owns the container kernel?

    ---reveal---

    They do not need the same userspace. Android has its own userspace, and the server can run without a desktop. The containers share the cloud VM’s Linux kernel; the VM runs that kernel as its guest system.

  12. 12
    RecapDescribe a system precisely

    When identifying a system, name its parts and roles: “A Linux cloud VM runs containers that serve pages and request database records.” Add the distribution or userspace when relevant. This describes the environment without assuming its interface.

2

Choose a distribution from real requirements

15 steps
Use family clues, package sources, release policy, and application requirements to make a practical choice.

Save this lesson to follow every Walkthrough step by step.

  1. 1
    IntroductionStart with requirements
  2. 2
    ExplanationRecognize a family clue
  3. 3
    ExampleNarrow down an installation guide
  4. 4
    ChallengeDistinguish the Red Hat roles
  5. 5
    ExplanationRead what a package needs
  6. 6
    TipTrack more than one update route
  7. 7
    ChallengeChoose the suitable source
  8. 8
    ExplanationSeparate change from duration
  9. 9
    ExampleCalculate a support deadline
  10. 10
    ChallengeChoose for a quiet server
  11. 11
    ExplanationCheck the application before switching
  12. 12
    ExampleKeep a required application working
  13. 13
    ChallengeFit limited resources
  14. 14
    ChallengeCombine the requirements
  15. 15
    RecapRecord the reason for the choice
3

Decide what a license permits

16 steps
Read software freedoms, distribution conditions, and Creative Commons elements through worked decisions.

Save this lesson to follow every Walkthrough step by step.

  1. 1
    IntroductionRead the action and the permission
  2. 2
    ExplanationSeparate visible code from rights
  3. 3
    ExampleClassify a restricted download
  4. 4
    ChallengeExplain a paid open program
  5. 5
    Key InsightConnect freedom with provider choice
  6. 6
    ExplanationStart with permissive conditions
  7. 7
    ExampleChange a GPL tool privately
  8. 8
    ExampleShip the same modified tool
  9. 9
    ChallengeCompare the network trigger
  10. 10
    ConnectionCheck the covered part and version
  11. 11
    ExplanationRead Creative Commons elements
  12. 12
    ExampleCheck an advertising image
  13. 13
    ChallengeRead ND without overextending it
  14. 14
    TipKeep attribution information
  15. 15
    ChallengeSeparate code from content
  16. 16
    RecapUse a repeatable license check
4

Take part in a project and understand its funding

11 steps
Follow a contribution from a problem report to review, then compare the ways ongoing work is paid for.

Save this lesson to follow every Walkthrough step by step.

  1. 1
    IntroductionSee the work around the code
  2. 2
    ExplanationFind the reporting route
  3. 3
    ExampleTurn a symptom into a report
  4. 4
    ExplanationUnderstand review and governance
  5. 5
    ChallengeImprove the report
  6. 6
    ExplanationPay for maintenance and operation
  7. 7
    ExampleCompare open core and dual licensing
  8. 8
    ChallengeIdentify the product being sold
  9. 9
    ConnectionFollow a change of direction
  10. 10
    ChallengeConnect rights and project control
  11. 11
    RecapChoose a useful first contribution
5

Build a toolkit for an online course

13 steps
Match desktop work, collaboration platforms, and server components to the tasks they actually perform.

Save this lesson to follow every Walkthrough step by step.

  1. 1
    IntroductionPlan the tasks first
  2. 2
    ExplanationChoose the desktop output
  3. 3
    ExamplePrepare a diagram and recording
  4. 4
    ChallengeRead the build license
  5. 5
    ExplanationGive each web platform a role
  6. 6
    ExampleKeep changes in Git
  7. 7
    ChallengeFill the missing platform role
  8. 8
    ExplanationSeparate the server components
  9. 9
    ExampleTrace the application request
  10. 10
    ConnectionMatch a language to its runtime
  11. 11
    ChallengeDiagnose a portability claim
  12. 12
    ChallengeBuild the complete course workflow
  13. 13
    RecapName the role before the product
6

Prepare a protected Linux practice environment

20 steps
Choose an environment, verify and install it, and protect the accounts and files used for practice.

Save this lesson to follow every Walkthrough step by step.

  1. 1
    IntroductionChoose what you need to practice
  2. 2
    ExplanationMatch the learning task
  3. 3
    ExampleCheck architecture and resources
  4. 4
    ChallengeChoose the environment
  5. 5
    ExplanationGet the correct image
  6. 6
    ExampleSeparate equality from origin
  7. 7
    ExampleAllocate and install
  8. 8
    TipMake a recoverable starting point
  9. 9
    ChallengeDiagnose the repeated installer
  10. 10
    ExplanationInstall WSL from Windows
  11. 11
    ExampleRead the WSL status line
  12. 12
    TipPlace files on the useful side
  13. 13
    ChallengeChoose the correct update path
  14. 14
    ExplanationUse unique credentials and factors
  15. 15
    Key InsightUnderstand a passkey
  16. 16
    ExampleMatch protection to the risk
  17. 17
    TipReduce the reach of mistakes
  18. 18
    ChallengeSeparate encryption from backup
  19. 19
    ChallengeAudit a setup before practice
  20. 20
    RecapKeep a small maintenance record

Linux and Open Source practice questions

50 Practice Questions in 5 sets

Set 1: Compare close alternatives10 Practice Questions

Question 1 of 10

Which application fits editing and cleaning a voice recording?
  1. OBS Studio
  2. Kodi
  3. Audacity
  4. Inkscape
Show answerHide answer
Answer: C
Audacity records and edits audio, including spoken recordings. OBS Studio is designed for capturing and streaming video, so it is not the audio-editing role described. Kodi organizes media playback, while Inkscape edits vector drawings; those applications handle different kinds of work.

Question 2 of 10

A host has 24 GB RAM. A planned guest needs 6 GB, and the host workload needs 12 GB available. How much RAM remains after both requirements are reserved?
  1. 18 GB
  2. 30 GB
  3. 12 GB
  4. 6 GB
Show answerHide answer
Answer: D
Reserving 6 GB for the guest leaves 18 GB; reserving 12 GB for the host workload leaves 6 GB unused. The 18 GB figure accounts only for the guest allocation and overlooks the stated host need. Keeping both allocations in view avoids giving the guest resources the host still requires.

Question 3 of 10

An exhibition labels Linux “a renamed release of the original Unix source tree.” What correction explains its relationship to Unix?
  1. Linux replaced only the name of Berkeley BSD
  2. Linux was the original GNU kernel released in 1983
  3. Linux began as Apple’s XNU kernel with GNU branding
  4. Linux independently follows Unix-like design
Show answerHide answer
Answer: D
Linux was independently implemented with many Unix ideas and interfaces, so Unix-like is the appropriate description. It is not a renamed branch of the original Unix source tree. GNU’s tools contributed to systems around Linux, but GNU began years before Torvalds wrote the Linux kernel.

Question 4 of 10

Two Linux containers run inside one Linux VM on a Windows computer. The VM is the only VM involved. How many Linux kernels supply execution to those containers, and where does that kernel run?
  1. Two, one inside each container
  2. One, running as the Linux VM’s guest kernel
  3. One, installed directly as the Windows kernel
  4. Three, one in the VM and one in each container
Show answerHide answer
Answer: B
Both containers share the kernel of their Linux host, which here is the VM. The VM runs one Linux guest kernel alongside the Windows host system. Counting one extra kernel per container would confuse an isolated application environment with a full virtual machine.

Question 5 of 10

A distribution uses musl, BusyBox, and the apk package tool. Which distribution is described?
  1. Arch Linux
  2. Alpine Linux
  3. Debian GNU/Linux
  4. openSUSE Leap
Show answerHide answer
Answer: B
Alpine combines musl and BusyBox with its apk package manager, making it recognizable as a small distribution often used in containers. Arch uses pacman instead. The short names of the tools are not interchangeable, and Alpine’s .apk package format is different from Android’s app format.

Question 6 of 10

A team chooses in January 2028 between Debian 13, whose full support ends August 9, 2028 and LTS ends June 30, 2030, and an interim release ending July 2028. It needs coverage through December 2029 and accepts Debian LTS coverage for all required packages. What plan fits?
  1. Use Debian 13 and plan for its LTS phase after August 2028
  2. Use Debian 13 but assume full support lasts through 2030
  3. Use the interim release because installation restarts support
  4. Use either release unchanged because both begin the project supported
Show answerHide answer
Answer: A
The project extends beyond both the interim EOL and Debian’s full-support phase. Debian LTS reaches June 2030 and, under the stated package coverage, covers December 2029. Treating the whole period as full support ignores the phase change, while a later installation cannot extend the interim deadline.

Question 7 of 10

A public program repository has a license that bans use by commercial competitors. Why does source visibility not establish open-source status?
  1. Open-source licenses must forbid charging for copies
  2. Every open-source project must be foundation-owned
  3. The license restricts who may use the software
  4. Source must be hidden until a user pays for support
Show answerHide answer
Answer: C
The open-source definition rejects discrimination against people, groups, or fields of use. Public source can still carry restrictive permissions, so reading it is not enough. Charging money is a separate issue: open-source software can be sold while preserving the required freedoms.

Question 8 of 10

A publisher wants to translate a CC BY-SA 4.0 article, sell the translation, and give full credit. It proposes a license banning further commercial reuse. What must change?
  1. Stop the sale and keep the proposed commercial ban
  2. Remove the author credit to allow a commercial sale
  3. Keep the translation private and never publish it
  4. Use ShareAlike terms that permit commercial reuse
Show answerHide answer
Answer: D
CC BY-SA permits commercial adaptations, so selling the translation is allowed with compliance. ShareAlike requires the adaptation to retain the same or a permitted compatible license; a new commercial-use ban does not meet that condition. Giving credit satisfies attribution but does not replace ShareAlike.

Question 9 of 10

A report reproduces a bug on several distributions using the same application release, and project guidance directs general bugs upstream. Where should the report go?
  1. To the original application project’s tracker
  2. To each distribution tracker as a packaging-only bug
  3. To the distribution mirror’s download-support page
  4. To a new fork’s tracker instead of the active upstream
Show answerHide answer
Answer: A
The stated evidence and project guidance point to the upstream application project. Reporting the general problem there can support a fix that downstream distributions receive. A distribution-specific packaging issue would be different, but the question does not describe one or direct reports through that route.

Question 10 of 10

An HTTPS page asks for a cloud password, but its domain is misspelled. What conclusion should guide the login decision?
  1. Encryption confirms the site belongs to the cloud provider
  2. The connection can be encrypted while the site is an impostor
  3. A misspelled domain prevents all encrypted connections
  4. The padlock proves the requested account is protected by MFA
Show answerHide answer
Answer: B
HTTPS encrypts the connection to the domain being visited, including a dishonest domain. A padlock therefore does not establish that the site is the intended provider. The misspelled address is a reason to leave and use the correct trusted address before entering any credentials.
Set 2: Diagnose setup and reuse decisions10 Practice Questions

Save this lesson to see every answer and practice every set.

Question 1 of 10

A supported distribution keeps its original kernel base number but installs new security builds. Why is the base number alone a poor reason to call it unpatched?
  1. Userspace updates make all kernel flaws irrelevant
  2. A kernel base number always identifies the newest code
  3. The distribution can backport fixes to that kernel base
  4. The desktop environment controls the kernel’s security version
Show answerHide answer

Save this lesson to see this answer.

Question 2 of 10

An image editor was installed through Flatpak, while the operating system uses apt. The user runs the normal apt upgrade but the editor stays unchanged. What maintenance route should be checked?
  1. Reinstall all packages with the low-level rpm tool
  2. Change the desktop environment to refresh the editor
  3. Use the ISO checksum command to upgrade its dependencies
  4. Check the editor’s Flatpak update mechanism as well
Show answerHide answer

Save this lesson to see this answer.

Question 3 of 10

A lab has ARM64 computers, needs an application packaged only for a Debian-based ARM64 release, and wants few broad changes. It has enough memory for every option. What shortlist fits these requirements?
  1. An ARM64 Debian-based fixed release supporting that package
  2. An ARM64 rolling RPM-based setup with the Debian package
  3. An ARM64 Debian development branch chosen for rapid changes
  4. An x86-64 Debian fixed release using direct virtualization
Show answerHide answer

Save this lesson to see this answer.

Question 4 of 10

A team wants to distribute one combined GPLv2-only program with an Apache-2.0 component, and assumes both licenses are compatible because they are open source. What needs reconsideration?
  1. Whether either license permits charging for copies at all
  2. The combination: Apache 2.0 is not compatible with GPLv2-only
  3. The need to credit authors, since open source removes copyright
  4. Whether private documents must be released under Apache 2.0
Show answerHide answer

Save this lesson to see this answer.

Question 5 of 10

What information does the L in the attribution reminder TASL identify?
  1. The work’s language
  2. The work’s location
  3. The file’s length
  4. The work’s license
Show answerHide answer

Save this lesson to see this answer.

Question 6 of 10

A vendor changes new releases from an open license to restrictive source-available terms. A community wants to continue its already received open release and sell support for the fork. What follows from the original permissions?
  1. It must obtain the vendor’s approval for every future fork patch
  2. It may fork only if it never accepts money for any service
  3. Continue the open version and sell license-compliant support
  4. It loses all modification rights when the new release is published
Show answerHide answer

Save this lesson to see this answer.

Question 7 of 10

A small organization self-hosts Nextcloud to control its shared files. Which responsibility remains with the operator?
  1. Maintaining updates, backups, and service security
  2. Converting all user files into program source code
  3. Removing all access controls because the code is open
  4. Obtaining a GitHub account for every file download
Show answerHide answer

Save this lesson to see this answer.

Question 8 of 10

A team moves tools from x86-64 Linux to ARM64 Linux. One tool is a compiled native C executable, one is Java bytecode, and one is a Python script using extra modules. What migration plan checks all three execution routes?
  1. Copy the C executable unchanged; install a JVM and check Python modules
  2. Build native ARM64 C code; check the JVM and Python runtime, dependencies, and system APIs
  3. Rebuild C for ARM64; run Java bytecode directly on the CPU and copy only the Python interpreter
  4. Copy all three unchanged because every Linux distribution supplies identical execution support
Show answerHide answer

Save this lesson to see this answer.

Question 9 of 10

A learner wants to check a laptop’s Wi-Fi and graphics under Linux before deciding to install it. What setup best tests that hardware without installing Linux?
  1. A live USB session on the laptop
  2. A container on a remote cloud instance
  3. A WSL session on another computer
  4. A VM using only its virtual network card
Show answerHide answer

Save this lesson to see this answer.

Question 10 of 10

A user sets wsl --set-default-version 2 and expects an existing WSL 1 distribution to change immediately. What is the error?
  1. The command chooses which Linux username is default
  2. The command changes the Windows host’s processor architecture
  3. The command sets the version for future distribution installs
  4. The command upgrades every installed Linux application package
Show answerHide answer

Save this lesson to see this answer.

Set 3: Connect Linux choices, rights, and protection10 Practice Questions

Save this lesson to see every answer and practice every set.

Question 1 of 10

A user installs KDE Plasma beside GNOME but keeps the same kernel. Which change should be expected from choosing KDE Plasma at login?
  1. An automatic upgrade to a newer distribution
  2. A new desktop that runs no userspace programs
  3. A different graphical workspace in userspace
  4. A separate guest kernel for the new desktop
Show answerHide answer

Save this lesson to see this answer.

Question 2 of 10

What VM integration software commonly enables automatic screen resizing after Linux installation?
  1. A checksum-file signature
  2. The hypervisor’s guest tools
  3. A different processor image
  4. The distribution’s release candidate
Show answerHide answer

Save this lesson to see this answer.

Question 3 of 10

A supported Linux host has a repository-installed browser and a Flatpak drawing app. A high-level distribution upgrade updates the browser but not the app. The app’s runtime is older than the host’s libraries. What maintenance conclusion follows?
  1. Update through Flatpak too, since its bundled runtime follows that system
  2. Replace the app with an RPM, since every Linux package uses host libraries
  3. Ignore the app because updating a host library patches every bundled copy
  4. Run the low-level package installer to fetch all Flatpak dependencies
Show answerHide answer

Save this lesson to see this answer.

Question 4 of 10

A service must operate through March 2030. Its current release has full support to August 2028 and LTS to June 2030, but a required package is excluded from that LTS service. There is no separate support for that package. What plan follows?
  1. Keep it unchanged until the LTS ends in June 2030
  2. Reinstall the same release in 2029 to restart support
  3. Switch to its beta branch for a new support period
  4. Replace the unsupported package before August 2028
Show answerHide answer

Save this lesson to see this answer.

Question 5 of 10

An organization privately modifies a GPL tool and a separate AGPL web app. It distributes neither, but lets outside users interact with the modified AGPL app online. What source obligation follows from these actions?
  1. Offer source for both modified programs, including the privately used GPL tool
  2. Offer neither program’s source because no binaries leave the organization
  3. Offer AGPL source to network users; private GPL use needs no source offer
  4. Offer the GPL tool’s source, but not the AGPL app used only over a network
Show answerHide answer

Save this lesson to see this answer.

Question 6 of 10

A contributor cannot get a change accepted and develops a permitted fork instead. Who decides whether that change appears in the original project?
  1. The original project’s authorized decision-makers
  2. The hosting company for the fork’s download page
  3. Every user who downloaded either version
  4. The contributor, because a fork replaces upstream authority
Show answerHide answer

Save this lesson to see this answer.

Question 7 of 10

A vendor offers identical library code under GPL or a paid commercial license, then adds proprietary features to a newer edition. A community continues an earlier GPL release and sells support. What models describe the license choice, added features, and community income?
  1. Open core; dual licensing; hosting
  2. Dual licensing; open core; support services
  3. Support services; hosting; dual licensing
  4. Dual licensing; support services; open core
Show answerHide answer

Save this lesson to see this answer.

Question 8 of 10

A Linux file server must serve Windows clients through SMB. Which software fits this requirement?
  1. NGINX web-server file delivery
  2. NFS directory sharing
  3. Nextcloud web-based file sharing
  4. Samba implementing SMB file sharing
Show answerHide answer

Save this lesson to see this answer.

Question 9 of 10

An Intel 64-bit host has 12 GB RAM. A desktop guest needs 6 GB and the host workload needs 8 GB. The downloaded ISO is ARM64. What changes address both setup problems without cross-architecture emulation?
  1. Use an amd64 image and a lighter guest that needs at most 4 GB RAM
  2. Use an amd64 image and reserve 6 GB RAM for the planned desktop guest
  3. Use an ARM64 image and a lighter guest that needs at most 4 GB RAM
  4. Use an amd64 image and run the 6 GB desktop unchanged with only 4 GB RAM
Show answerHide answer

Save this lesson to see this answer.

Question 10 of 10

A learner plans to post a setup screenshot containing a cloud API key and an SSH public key. Which item must be removed because it is a secret credential?
  1. The public key, while leaving the API key visible
  2. Both keys because public keys must never reach servers
  3. The API key, while an SSH public key may be shared
  4. Neither key, because a screenshot cannot grant access
Show answerHide answer

Save this lesson to see this answer.

Set 4: First decisions about Linux10 Practice Questions

Save this lesson to see every answer and practice every set.

Question 1 of 10

Which project was already developing free operating-system tools before the Linux kernel began in 1991?
  1. The Linux Foundation
  2. The GNU Project
  3. The Ubuntu project
  4. The Android project
Show answerHide answer

Save this lesson to see this answer.

Question 2 of 10

What part of a Linux system checks file-access permissions when an application requests a stored file?
  1. The window manager
  2. The app installer
  3. The file browser
  4. The Linux kernel
Show answerHide answer

Save this lesson to see this answer.

Question 3 of 10

Which high-level package manager normally belongs with Ubuntu?
  1. apt
  2. zypper
  3. dnf
  4. pacman
Show answerHide answer

Save this lesson to see this answer.

Question 4 of 10

A program is missing a required library after a local package file was installed. What kind of tool can fetch the missing dependency from configured repositories?
  1. A low-level package-file installer
  2. A checksum comparison utility
  3. A high-level package manager
  4. A graphical desktop theme tool
Show answerHide answer

Save this lesson to see this answer.

Question 5 of 10

A proprietary app costs nothing to download and its license forbids modification. What category describes its price and rights?
  1. Open-source software
  2. Freeware
  3. Public-domain software
  4. Copyleft software
Show answerHide answer

Save this lesson to see this answer.

Question 6 of 10

A company includes an MIT-licensed parsing library in a proprietary application it distributes. What must it retain for that library?
  1. Its original copyright notice and license text
  2. A GPL license for all application source code
  3. An agreement banning paid copies of the library
  4. A promise to publish every internal modification
Show answerHide answer

Save this lesson to see this answer.

Question 7 of 10

Who normally decides whether a proposed contribution enters an open-source project’s official version?
  1. Every person who downloads the source
  2. The provider hosting its public website
  3. The users who bought support most recently
  4. The project’s authorized maintainers
Show answerHide answer

Save this lesson to see this answer.

Question 8 of 10

A research group needs a flow diagram whose lines stay sharp in a narrow report column and on a large exhibition panel. Which tool and image type fit that task?
  1. GIMP with raster images
  2. Krita with paintings
  3. Inkscape with vectors
  4. Blender with 3D renders
Show answerHide answer

Save this lesson to see this answer.

Question 9 of 10

Riley has an ARM64 laptop, needs the normal Linux installer and boot loader, and wants to keep the current operating system running during practice. What setup fits all three requirements?
  1. An ARM64 guest VM in a compatible hypervisor
  2. An x86-64 guest VM using normal ARM virtualization
  3. An ARM64 live USB used instead of the current system
  4. An ARM64 container inside the existing host system
Show answerHide answer

Save this lesson to see this answer.

Question 10 of 10

An account already uses a password. Which addition makes its authentication use a different factor type?
  1. A second password with more symbols
  2. A separate answer to a secret question
  3. A longer version of the same passphrase
  4. A required hardware security key
Show answerHide answer

Save this lesson to see this answer.

Set 5: Apply the ideas to a working setup10 Practice Questions

Save this lesson to see every answer and practice every set.

Question 1 of 10

A Linux service sends pages to browsers and requests records from a separate database. What roles does it perform?
  1. Server toward both browsers and database
  2. Client toward both browsers and database
  3. Server toward browsers and client toward database
  4. Client toward browsers and server toward database
Show answerHide answer

Save this lesson to see this answer.

Question 2 of 10

A release launches in February 2027 with 18 months of support. It is installed in April 2028. When does that published support period end?
  1. August 2028
  2. October 2029
  3. February 2029
  4. July 2028
Show answerHide answer

Save this lesson to see this answer.

Question 3 of 10

A worker depends on desktop Adobe Photoshop and wants to begin Linux learning without interrupting that work. What is a practical approach?
  1. Replace the host with Linux and run the same installer
  2. Treat Wine support as guaranteed for every release
  3. Use macOS Terminal as a complete Linux installation
  4. Keep the working host and add a Linux practice VM
Show answerHide answer

Save this lesson to see this answer.

Question 4 of 10

What does NC mean in a Creative Commons license?
  1. No attribution is necessary
  2. New copies must use source code
  3. Commercial reuse is excluded
  4. All adaptations need identical titles
Show answerHide answer

Save this lesson to see this answer.

Question 5 of 10

An appliance ships a modified GPL-2.0-only Linux kernel and a separate proprietary userspace program using ordinary system calls. The vendor wants to keep the userspace program private. What release plan follows these facts?
  1. Release both programs under GPLv3 with all sources
  2. Provide GPLv2 kernel source; keep separate userspace proprietary
  3. Publish the userspace source and keep kernel changes private
  4. Provide neither source because customers receive a device, not files
Show answerHide answer

Save this lesson to see this answer.

Question 6 of 10

A vendor sells a proprietary reporting add-on alongside its open-source core application. What business model is this?
  1. Open core
  2. Dual licensing
  3. Donation funding
  4. Support subscription
Show answerHide answer

Save this lesson to see this answer.

Question 7 of 10

What kind of tool is Git, separate from services such as GitHub?
  1. A browser meeting application
  2. A course and grade platform
  3. A hosted database service
  4. Distributed version control
Show answerHide answer

Save this lesson to see this answer.

Question 8 of 10

A browser requests a dynamic page on a PHP-based LAMP system. Which component normally stores the application’s structured records?
  1. Apache HTTP Server
  2. MySQL or MariaDB
  3. The browser cache
  4. The boot loader
Show answerHide answer

Save this lesson to see this answer.

Question 9 of 10

A learner’s full ISO hash matches a value on an unfamiliar mirror page. The installer is for the correct architecture, but the learner has no trusted checksum information yet. What verification sequence addresses the unresolved risk?
  1. Compare only the first hash characters after installing
  2. Verify signed distribution checksums, then compare the full ISO hash
  3. Rename the ISO and compare the same mirror value again
  4. Take a VM snapshot, then treat the mirror’s checksum as authentic
Show answerHide answer

Save this lesson to see this answer.

Question 10 of 10

A WSL listing shows * Fedora Stopped 2. What does the asterisk identify?
  1. Fedora is release 2
  2. Fedora is now running
  3. Fedora is the default
  4. Fedora needs an update
Show answerHide answer

Save this lesson to see this answer.

Stuck on your own question? Homework Help

Key Terms

108 Key Terms, each with its definition

A

Alpine Linux
Alpine Linux is a small distribution built with musl and BusyBox, using apk and offering stable branches plus the edge development branch.
A developer may choose Alpine as a small container base while checking that required libraries are compatible.
Attribution
Attribution is credit identifying a reused work and its creator, source, and license, with required information about changes.
A photo credit links to the original and license and says that the published version was cropped.

B

Binary
A binary is a built program form intended for execution, commonly containing machine code for a particular processor architecture.
A compiled x86-64 binary does not directly become an ARM64 program by copying it to another computer.
Bridged networking
Bridged networking connects a VM as a peer on the local network, normally giving it its own address reachable by other local machines.
A learner selects bridged mode when another computer needs direct access to the guest's test service.
BSD
BSD is the Berkeley Software Distribution, a Unix branch whose descendants include FreeBSD, OpenBSD, and NetBSD.
Similar Unix-style interfaces do not mean that FreeBSD and a Linux distribution use the same kernel.
Bytecode
Bytecode is an intermediate program representation executed by a suitable virtual machine instead of directly by the processor as native code.
A Java application commonly uses bytecode and a JVM, unlike JavaScript running in a browser engine.

C

CC0
CC0 is a public-domain dedication and fallback permission that aims to remove copyright restrictions as far as legally possible.
A creator's CC0 image can be reused without a credit condition, although acknowledging the creator remains good practice.
CentOS Stream
CentOS Stream is a continuously developed distribution showing changes intended for the next minor release of Red Hat Enterprise Linux.
A team testing future RHEL updates distinguishes CentOS Stream from the discontinued CentOS Linux rebuild.
Checksum
A checksum is a calculated value used to compare file contents; SHA-256 is commonly used to check downloaded Linux installation images.
A mismatch between the full published and local SHA-256 values means the downloaded ISO must be rejected.
Client
A client is a program or device that requests a service from another system, such as a browser requesting a page from a web server.
A web server becomes a database client when it asks another server for product information.
Cloud instance
A cloud instance is a virtual machine rented from a provider, started from an operating-system image and accessed over a network.
A small business can run its Linux web service on a rented instance instead of buying a physical server.
Commit
A commit records a project change in version control, preserving a history point that can be reviewed and related to other changes.
A contributor makes a focused documentation commit so reviewers can understand the change's purpose.
Compatibility layer
A compatibility layer implements interfaces expected by software from another system so that supported applications can run.
Wine can run many Windows applications on Linux, but a required application's compatibility must be checked.
Compiler
A compiler translates program source into another executable form, commonly machine code targeted at a processor architecture.
Building a C program for x86-64 does not produce a native ARM64 executable at the same time.
Configuration management
Configuration management applies a described desired system state repeatedly, helping keep software, settings, and services consistent.
An administrator can apply one tested service configuration to a fleet of machines with Ansible.
Container
A container is an isolated group of processes packaged with application files and libraries that shares the host's operating-system kernel.
Several Linux containers can run separate applications while using the same Linux kernel underneath.
Copyleft
Copyleft uses license conditions to keep covered code and its required source available under continuing freedoms when triggering uses occur.
Distributing a modified GPL tool requires preserving GPL rights and providing corresponding source through a valid method.
Creative Commons
Creative Commons provides licenses and public-domain tools for sharing content such as text, images, music, and educational materials.
A project may license its manual under CC BY while choosing a software-specific license for its code.

D

Data at rest
Data at rest is information stored on a disk or other medium, which encryption can protect if someone obtains the device without its key.
LUKS protects a lost Linux disk, but separate backups and safe recovery information are still needed.
Data in transit
Data in transit is information moving between systems, protected from interception and alteration by protocols such as HTTPS and SSH.
SFTP protects a network file transfer, while disk encryption addresses a different risk to stored files.
Debian testing
Debian testing is the branch where packages collect and are tested as candidates for the next stable Debian release.
A tester distinguishes this branch from stable for current deployments and unstable for newly entering packages.
Default distribution
A WSL default distribution is the installed Linux distribution launched when WSL is started without selecting another distribution.
When WSL lists installed distributions in verbose form, an asterisk beside Debian identifies the default, regardless of its running state.
Dependency
A dependency is another package a program needs in order to work, such as a shared library used to read images or connect to a database.
A high-level manager fetches a missing image library when the requested application depends on it.
Derivative distribution
A derivative distribution starts from another distribution and adapts it through changes to software, settings, support, or intended use.
Ubuntu derives from Debian, while the main Linux Mint edition builds on Ubuntu's base.
Desktop environment
A desktop environment is userspace software that provides the graphical workspace, including windows, menus, panels, and related tools.
A Linux user can choose Xfce for a lighter interface without choosing a different kind of kernel.
Developer Certificate of Origin
The Developer Certificate of Origin is a contribution sign-off certifying that a submitter has the right to offer the submitted work.
A kernel contributor adds a Signed-off-by line rather than assuming a public patch needs no rights check.
Digital signature
A digital signature binds data to a signing key so a verifier with an authentic public key can check the signer and detect changes.
Checking the signature on a checksum file adds an origin check that a matching hash alone lacks.
Digital sovereignty
Digital sovereignty is an organization or country's ability to control its digital infrastructure and data under its own rules.
An organization can reduce dependence on one vendor by choosing software another provider may maintain.
Distribution
A Linux distribution is an installable operating system that assembles the kernel, userspace, package tools, settings, and maintenance.
Ubuntu and Debian package many of the same upstream programs but make different release and support choices.
Distribution family
A distribution family groups related systems that commonly share a base, package format, and tools, while retaining their own releases.
Recognizing the Debian family helps a learner expect .deb packages and apt-based management.
Downstream
Downstream is a project that receives software from upstream and packages or adapts it, often adding release-specific changes.
A distribution may carry a patch temporarily while working to have the same fix accepted upstream.
Driver
A driver is software that lets the operating system communicate with a particular kind of hardware, such as storage or a display device.
The kernel uses the appropriate storage driver when it reads bytes from the computer's disk.
Dual boot
Dual boot installs two operating systems on one computer and presents a choice at startup, with only the selected system running normally.
A user backs up important data before changing disk partitions to add Linux beside an existing system.
Dual licensing
Dual licensing offers the same code under alternative licenses, often a copyleft option and a paid commercial option with different permissions.
A customer chooses between satisfying a library's copyleft terms and buying the vendor's commercial license.
Dynamically allocated disk
A dynamically allocated disk uses host storage as guest data is written, growing toward a specified maximum instead of taking it all immediately.
A new 40 GB virtual disk can begin small but still needs free host storage as files accumulate.

E

Embedded system
An embedded system is a computer built into a larger device for a particular role, often with limited memory and a small userspace.
A router's Linux system handles networking without presenting a normal desktop to the household.
End of life
End of life is the point when a release's support service stops delivering updates, leaving newly found security flaws without that coverage.
A machine installed shortly before EOL still needs an upgrade because its installation date does not extend support.

F

Fixed release
A fixed release is a numbered distribution version that emphasizes fixes within the release and groups broader changes into later versions.
A server team can test an upgrade to a new numbered release before replacing its current supported platform.
Forge
A forge is a collaboration platform around code repositories, adding features such as issue tracking, review, and automation.
GitLab and Forgejo can provide self-hosted collaboration while Git continues to manage repository history.
Fork
A fork is a copy of a software project developed independently, allowing a community to continue work in a different direction.
LibreOffice began as a fork of OpenOffice.org and developed its own project organization.
Free software
Free software grants users the freedoms to run for any purpose, study, modify, and share the program and its modified versions.
A vendor can charge for a copy of free software while the buyer keeps the freedoms granted by its license.
Freeware
Freeware is proprietary software available at no charge, without granting all the rights to study, modify, and share free software.
A free-to-download app may still forbid modifications, so price alone cannot establish open-source status.

G

Git
Git is a distributed version control system that records project history through commits and supports branching, merging, and cloned repositories.
A developer can keep project history locally and later send changes to a chosen hosting service.
GNU
GNU is a project announced in 1983 to create a free Unix-like operating system, supplying tools, libraries, and other userspace software.
Bash and GCC are GNU contributions that can work alongside the independently developed Linux kernel.
GNU AGPL
The GNU AGPL adds a source-offer requirement for users who interact over a network with a modified covered program.
A modified AGPL web application must offer its source to its network users even without sending them binaries.
GNU GPL
The GNU GPL is a strong copyleft software license requiring GPL rights and corresponding source for covered programs when distributed.
A company can modify a GPL tool privately without that act alone requiring public release of the changes.
GNU LGPL
The GNU LGPL is a library-oriented copyleft license allowing linkage by other-licensed programs when its conditions, including replacement, are met.
A proprietary program can link to an LGPL library while changes to the library itself remain under LGPL.
GNU/Linux
GNU/Linux names an operating system that combines the Linux kernel with GNU userspace, giving credit to both contributions.
Debian uses the name GNU/Linux, while Android has a Linux kernel with a different userspace.
Guest
A guest is the operating system running inside a virtual machine, using the virtual hardware supplied by its virtualization platform.
Ubuntu can be the guest while macOS remains the host on which the learner performs everyday work.

H

Host
A host is the physical computer and its operating environment that supply the resources used to run one or more virtual machines.
A learner leaves enough memory for the host when assigning RAM to a Linux desktop guest.
Hypervisor
A hypervisor supplies and manages virtual hardware so multiple guest operating systems can run on a physical machine.
The VM tool assigns virtual CPUs, memory, disks, and networking to the new Linux guest.

I

Interpreter
An interpreter runs program code at runtime using a language implementation and the libraries and system services that the program needs.
A Python script still needs its required modules and operating-system interfaces on the destination machine.
ISO image
An ISO image is a single file representing installation-disc contents, commonly attached as virtual media to boot a Linux installer.
A VM starts from its attached ISO for installation, then boots from its new virtual disk afterward.

K

Kernel
A kernel is the core operating-system program that manages hardware, memory, processor time, networking, file systems, and access rules.
When an application opens a stored file, the kernel checks access and retrieves the data through a driver.
Kernel module
A kernel module is a component that can be loaded into the running kernel, often to add a driver without rebuilding the kernel.
Connecting supported hardware can cause Linux to load a suitable driver module automatically.

L

LAMP stack
A LAMP stack commonly combines Linux, Apache, MySQL or MariaDB, and PHP to provide an operating system, web server, database, and application layer.
A dynamic page request passes through several components, each handling its part of the work.
Learning management system
A learning management system organizes courses, assignments, quizzes, grades, and related learning activities through an application.
A trainer uses Moodle to collect assignments between live lessons held in a separate meeting system.
Least privilege
Least privilege gives users and programs only the authority needed for a task, limiting the effects of errors or malicious software.
A learner works as a regular user and uses sudo for an individual administration task.
Linux account
A Linux account identifies a user within a Linux installation, with its own permissions and password separate from the Windows account.
A new WSL Ubuntu account can have a different name and password from the host's Windows login.
Live system
A live system runs an operating system from removable media without installing it, normally losing changes at shutdown unless persistence is added.
A learner boots a live USB to test a laptop's wireless adapter before considering installation.
Long-Term Support
Long-Term Support is a maintenance policy providing fixes for a release over several years, often chosen to reduce frequent system upgrades.
A company checks which packages and support service are included before choosing an LTS release.
Longterm kernel
A longterm kernel is a selected Linux release series maintained with important bug fixes for years beyond the normal stable cycle.
A distribution can base a supported system on a longterm series and maintain its own patched builds.

M

Maintainer
A maintainer reviews and manages contributions for a project or subsystem, deciding what is accepted under the project's decision process.
A contributor may propose a patch, but the maintainer decides whether it enters the official project.
Mount point
A mount point is a directory where another file system becomes accessible within the single Linux directory tree.
WSL normally exposes Windows drive C: at the mount point /mnt/c, allowing Linux tools to reach its files.
Mozilla Public License
The Mozilla Public License is a file-level copyleft license requiring source availability for distributed covered files while allowing separate other-licensed files.
An application can mix MPL-covered source files with separate proprietary files while honoring each license.
Multi-factor authentication
Multi-factor authentication requires evidence from different factor types, such as knowledge of a password and possession of a security key.
A password plus a second password is still one factor type; a hardware key adds possession.

N

NAT
NAT translates network traffic so a VM can connect outward through the host without normally being directly reachable from the local network.
A beginner uses the default NAT mode to download updates without making the guest a separate LAN peer.
Native application
A native application is built to run on a particular operating system and architecture using that environment's supported interfaces.
A Linux edition of a program differs from running its Windows executable through Wine.
NoDerivatives
NoDerivatives is a Creative Commons condition that excludes sharing adaptations while allowing the unchanged work to be shared with credit.
A CC BY-ND diagram can be shared as received, but that license does not authorize publishing a recolored adaptation.
NonCommercial
NonCommercial is a Creative Commons restriction excluding uses primarily intended for commercial advantage or monetary compensation.
A company cannot rely on CC BY-NC permission to place a photograph in its paid advertising campaign.

O

Open core
Open core is a business model that combines an open-source core product with paid proprietary features, editions, or add-ons.
An open monitoring tool may sell a proprietary module for managing many company installations.
Open-source software
Open-source software has a license meeting the OSI definition, including source access, redistribution, and permission for modified works.
A license that forbids business use fails the open-source rule against discrimination by field of use.
OpenDocument Format
OpenDocument Format is an international standard for office files, used by LibreOffice with extensions including .odt, .ods, and .odp.
Writer saves a document as .odt by default, while also offering formats used by other office suites.
OpenPGP
OpenPGP is a standard for public-key encryption and digital signatures implemented by tools such as GNU Privacy Guard, or GPG.
A distribution can sign checksum information so users can verify it with the authentic public key.

P

Package manager
A package manager tracks installed software packages; high-level managers also download packages, resolve dependencies, and handle updates.
apt can fetch a program and its missing dependencies, while dpkg alone works with local package files.
Passkey
A passkey is a service-bound cryptographic credential whose private key is unlocked locally to sign a login without sharing a password.
A fake website cannot collect a reusable typed passkey secret as it might collect a password.
Password manager
A password manager generates and stores strong unique credentials in an encrypted vault, reducing the need to remember each password.
A learner uses different account passwords and protects the vault with a strong, unreused master password.
Permissive license
A permissive license allows broad reuse, including proprietary products, while retaining conditions such as copyright and license notices.
A proprietary application can include an MIT library while preserving its required notice and license text.
Processor architecture
A processor architecture is the instruction-set design targeted by machine code, such as x86-64 or ARM64, which affects image compatibility.
An ARM64 laptop needs a matching guest image for ordinary virtualization rather than an x86-64 ISO.
Pull request
A pull request is a proposal to merge a set of changes into a project, providing a place for review, discussion, and automated checks.
A documentation contributor opens a pull request and revises it after a maintainer's review.

R

Raster image
A raster image represents a picture as a grid of pixels, making its visible detail dependent on the available pixel resolution.
GIMP retouches a photograph, but enlarging it greatly can expose the underlying pixel structure.
Relational database
A relational database stores structured data in related tables and supports queries, commonly through SQL, to retrieve or change it.
A web application's code asks MariaDB for records before creating the page sent to the browser.
Release candidate
A release candidate is a test build close to final release that may become final if testing finds no serious remaining problems.
Testing a release candidate helps find final bugs; it does not create a long-term maintenance promise.
Repository
A software repository is a collection of packages maintained for a distribution or other package system and made available for installation.
The package manager looks in configured repositories for a version prepared for the installed release.
Reverse proxy
A reverse proxy receives requests on behalf of application servers and forwards them to a suitable server behind it.
NGINX can stand in front of an application so browsers contact the proxy instead of that application directly.
Rolling release
A rolling release continually updates packages to newer upstream versions without requiring upgrades between major numbered releases.
An Arch user stays current through regular updates and follows changes that may need attention.

S

Self-hosting
Self-hosting means running an application on servers you choose and manage, with responsibility for maintenance, security, and backups.
A cooperative runs its own Nextcloud service and appoints someone to maintain it and restore lost files.
Server
A server is a program or computer that provides services to clients over a network, such as files, web pages, email, or database queries.
One computer may provide files to colleagues while also requesting updates as a network client.
ShareAlike
ShareAlike requires a shared adaptation to use the same license or a permitted compatible license, preserving the specified reuse terms.
A translation of a CC BY-SA text must retain the required sharing terms when it is published.
Snapshot
A snapshot saves a VM state for later rollback, helping reverse experiments but remaining dependent on the VM's storage.
A snapshot restores a clean practice setup after an error, while separate backups protect against disk failure.
Software as a service
Software as a service provides a hosted application operated for customers, who pay for access and operation instead of running it themselves.
A managed database service includes administration work beyond the database code's download price.
Software license
A software license grants copyright permissions under stated conditions, defining how a program may be used, copied, changed, or distributed.
A project's license tells a developer what notices and source obligations apply when shipping reused code.
Software package
A software package is an archive of program files and metadata describing its identity, version, dependencies, and installation actions.
Installing one editor may require its package and several library packages listed in its metadata.
Source code
Source code is a program's human-readable form written by developers, which can be studied and edited before being built or run.
Seeing source on a website helps inspection, but the license determines whether you may reuse it.
Source-available software
Source-available software exposes its source code while using restrictions that prevent its license from meeting the open-source definition.
A database that forbids competing hosted services can be source-available even though its code is public.
SPDX identifier
An SPDX identifier is a standardized short label for a license or license choice, such as MIT, Apache-2.0, or GPL-2.0-only.
Reading GPL-2.0-only prevents mistaking that permission for a choice to distribute under GPLv3.
Sponsorship
Sponsorship funds a project or contributor because the sponsor values its continued development, maintenance, or wider public benefit.
A company can sponsor a shared library on which its products depend instead of building a private replacement.
Support subscription
A support subscription sells ongoing services around software, such as maintained builds, security coverage, certification, and technical help.
A business pays for a response commitment and long maintenance even when it can obtain open-source code.
System call
A system call is a controlled request from a userspace program for a kernel service, such as reading a file or sending network data.
A browser requests network operations through kernel services instead of directly controlling the network card.

U

Universal package format
A universal package format bundles an application with more supporting software to help it run across several Linux distributions.
A Flatpak may offer a newer desktop app on an LTS system, with larger downloads and its own update route.
Unix
Unix is an operating system developed at Bell Labs from 1969 whose multiuser design and small-tool approach influenced Linux.
A Linux administrator encounters Unix ideas when working with one directory tree and tools that can be combined.
Upstream
Upstream is the original project where software is developed before other projects package, adapt, or distribute it.
A general Firefox fix sent upstream can later reach users of many Linux distributions.
Userspace
Userspace is the part of a system outside the kernel, including libraries, utilities, shells, desktop environments, and applications.
Switching from GNOME to KDE Plasma changes userspace while the machine can keep the same kernel.

V

Vector graphic
A vector graphic represents shapes mathematically, allowing them to be resized while preserving sharply defined edges.
Inkscape suits a symbol that must print clearly on both a small label and a large sign.
Virtual machine
A virtual machine is a guest computer provided with virtual hardware by a hypervisor and running its own operating system and kernel.
Two VMs on one host can run different kernels without replacing the host's operating system.
VSCodium
VSCodium provides community builds of the MIT-licensed Code - OSS editor without Microsoft's branding and telemetry additions.
A user distinguishes VSCodium from Microsoft's proprietary Visual Studio Code distribution.

W

Web server
A web server accepts browser requests and delivers web content or passes work to application software that builds the response.
Apache receives a shop-page request before the application's code queries the product database.
Windows Subsystem for Linux
The Windows Subsystem for Linux runs Linux distributions alongside Windows; WSL 2 supplies a real kernel in a managed lightweight VM.
A Windows user starts Ubuntu through WSL without walking through a normal Linux disk installer.

About this lesson

By StudeliReport a mistake

Make your own Study Materials

Turn your notes, slides and documents into Study Guides, Practice Questions, Flashcards and 6 more tools.

Get Started