Chapter1(1) (1)

Chapter 1: Where to Start


Outline

  • What is a System Administrator?

  • Essential Duties of a System Administrator

  • Linux Distributions

  • Notation and Typographical Conventions

  • Units

  • Man Pages and Other On-line Documentation

  • Other Authoritative Documentation

  • Other Sources of Information

  • Ways to find and Install Software

  • Where to host

  • Specialization and Adjacent Disciplines


What is a System Administrator?

  • A system administrator (sysadmin) is responsible for:

    • Upkeep, configuration, and reliable operation of computer systems.

    • Managing multi-user computers like servers.

    • Source: Wikipedia, 2018.


Essential Duties of a System Administrator (1)

  • Key responsibilities include:

    • Controlling access to systems

    • Adding and configuring hardware

    • Automating routine tasks

    • Overseeing backups

    • Installing and upgrading software

    • Monitoring system performance and security

    • Troubleshooting system issues

    • Documenting processes and configurations

    • Collaborating with vendors

    • Responding to emergencies or "fire fighting" incidents.


Essential Duties of a System Administrator (2)

  • Responsibilities may be distributed among team members:

    • It is essential for at least one person to have comprehensive knowledge of all components.

    • This ensures tasks are performed correctly and consistently.


Linux Distributions (1)

  • A Linux distribution comprises:

    • The Linux kernel (core of the operating system)

    • Various software packages providing commands and functionalities.

  • All distributions share the same kernel lineage but may differ in:

    • Package format

    • Type and number of packages

    • Focus and support.


Linux Distributions (2)

  • Hundreds of independent Linux distributions exist:

    • Distributions derived from Debian and Red Hat lineages are gaining predominance in production environments.

    • Differences among Linux distributions are generally minor, often revolving around installation ease and available software libraries.


Linux Distributions (3)

  • Major distributions typically feature:

    • Simple installation procedures

    • Desktop environments

    • Package management systems.

  • You can test distributions via cloud instances or local VMs.

  • Choosing a distribution signifies an investment in a vendor's methodology.


Linux Distributions (4)

  • Important questions to evaluate a distribution:

    • Will it be supported in five years?

    • Is the vendor prompt with security updates?

    • Is there an active community and good documentation?

    • What support is available and at what cost?


Linux Distributions (5)

Distribution

Website

Comments

Arch

archlinux.org

For those who fear not the command line

CentOS

centos.org

Free analog of Red Hat Enterprise

CoreOS

coreos.com

Containers, containers everywhere

Debian

debian.org

Free as in freedom, most GNUish distro

Fedora

fedoraproject.org

Test bed for Red Hat Linux

Kali

kali.org

For penetration testers

Linux Mint

linuxmint.com

Ubuntu-based, desktop-friendly

openSUSE

opensuse.org

Free analog of SUSE Linux Enterprise

Oracle Linux

oracle.com

Oracle-supported version of RHEL

RancherOS

rancher.com

20MiB, everything in containers

Red Hat

redhat.com

Reliable, slow-changing, commercial

Slackware

slackware.com

Grizzled, long-surviving distro

SUSE Linux

suse.com

Strong in Europe, multilingual

Ubuntu

ubuntu.com

Cleaned-up version of Debian


Example Systems Used in this Book

  • Featured distributions include:

    • Debian GNU/Linux

    • Ubuntu Linux

    • Red Hat Enterprise Linux (RHEL) and CentOS

    • FreeBSD


Red Hat Enterprise Linux

  • Red Hat, a leading player in the Linux ecosystem for over two decades:

    • Dominates the open source software market.

    • RHEL targets production environments in large enterprises requiring support services.

  • RHEL is open-source but requires a paid license.

  • Fedora serves as a test bed for innovations before they reach RHEL.


Notation and Typographical Conventions

  • Shell prompt notation:

    • $: Indicates a normal, unprivileged user.

    • #: Indicates the shell prompt for the root user.

  • Common shell globbing characters:

    • *: Matches zero or more characters.

    • ?: Matches exactly one character.

    • ~: Represents the current user's home directory.

    • ~user: Refers to another user's home directory.


Units

Example

Meaning

1kB file

A file that contains 1,000 bytes

4KiB SSD pages

SSD pages that contain 4,096 bytes

8KB of memory

Not used in this book

100MB file size limit

Nominally 108 bytes; in context, ambiguous

100MB disk partition

Nominally 108 bytes; probably 99,999,744 bytes

1 GiB of RAM

1,073,741,824 bytes of memory

1 Gb/s Ethernet

A network that transmits 1,000,000,000 bits per second

6TB hard disk

A hard disk that stores about 6,000,000,000,000 bytes


Man Pages and Other On-line Documentation (1)

  • Man pages, accessible via the man command, provide concise descriptions of:

    • Commands

    • Drivers

    • File formats

    • Library routines.


Man Pages and Other On-line Documentation (2)

  • Organization of Man Pages:

    • Linux divides man pages into sections, though the structure isn't crucial for most topics.


Man Pages and Other On-line Documentation (3)

  • How to read man pages:

    • Run man title to view specific manual pages.

    • Titles usually represent commands, devices, files, or library routines.

    • Man pages searched in numeric order, prioritizing sections describing commands (sections 1 and 8).

    • man -k keyword or apropos keyword lists man pages containing the keyword.


Man Pages and Other On-line Documentation (4)

  • Storage of man pages:

    • Source code is usually stored under /usr/share/man and compressed using gzip.

    • man command decompresses them on-the-fly.


Other Authoritative Documentation (1)

  • Man pages provide only a part of the official documentation.

  • Additional documentation is often scattered on the web.

  • Includes system-specific guides.


Other Authoritative Documentation (2)

  • Package-specific documentation:

    • Maintained by individuals or third parties like the Internet Systems Consortium and Apache Software Foundation.

    • Supplemental materials include white papers and technical reports.

  • Books:

    • O’Reilly publications are widely respected in the tech industry.

  • RFC Publications:

    • This category is authoritative and useful for system administrators.


Other Sources of Information (1)

  • Keeping current:

    • Social media platforms like Twitter and Reddit host active communities with valuable insights.


Other Sources of Information (2)

  • HowTos and reference sites:

    • Contain guides, tutorials, and articles on executing specific tasks in UNIX and Linux environments.


Other Sources of Information (3)

  • Conferences:

    • Excellent networking opportunities.

    • Offer insights into technology trends, training, certifications, and learnings on latest products and services.


Ways to Find and Install Software (1)

  • Modern operating systems use packages that can be installed independently.

  • Default installations provide basic packages that can be expanded or contracted as needed.


Ways to Find and Install Software (2)

  • Adding new software:

    • Determine the canonical name of the software package required.

    • Commands such as the installation of tcpdump exemplify this process.

  • Building software from source and installing via a web script are alternative methods.


Where to Host

  • Operating systems and software can be hosted at:

    • Private data centers

    • Co-location facilities

    • Cloud platforms (recommended for new projects)

  • Cloud hosting advantages include:

    • No capital expenses

    • Low initial operating costs

    • No hardware management required

    • Scalable storage, bandwidth, and compute options

    • Ready-made solutions for common needs like databases and monitoring.


Specialization and Adjacent Disciplines

  • System administrators work alongside various roles within IT:

    • DevOps

    • Site reliability engineers

    • Security operations engineers

    • Network administrators

    • Database administrators

    • Network operations center (NOC) engineers

    • Data center technicians

    • Architects.

  • Specialization in areas can enhance efficacy.

  • The overarching goal is achieving organizational objectives.

robot