Linux tutorial Part One

Linux tutorial, 会分多个part来写

01 Introduction

介绍一下linux发行版的三大家族~

1.1 红帽家族 (Red Hat Family)

红帽家族源自 Red Hat Enterprise Linux (RHEL) ,是商业化的Linux发行版,主要用于企业环境。该家族以其稳定性、安全性和长期支持周期而闻名。

主要发行版:

  1. Red Hat Enterprise Linux (RHEL)

    • 商业发行版,主要面向企业级用户。
    • 提供长期支持(一般是 10 年),以及付费的技术支持和维护。
    • 常用于服务器、云计算和关键任务的环境中。
  2. CentOS(社区企业操作系统):

    • 曾经是 RHEL 的免费社区版本,提供与 RHEL 相同的功能,但没有官方的技术支持。
    • 2020年宣布 CentOS 改变开发模式,CentOS Stream 成为新的分支,紧跟 RHEL 的开发周期。
  3. Fedora

    • 由社区维护的发行版,是红帽家族的上游项目。
    • 相对前沿,包含最新的技术和功能更新,通常作为 RHEL 和 CentOS 的"试验田"。
    • 更适合开发人员、技术爱好者和那些需要最新软件的人。

特点:

  • 主要用于企业和生产环境,特别是在服务器和数据中心中。
  • 包管理工具使用 RPM (Red Hat Package Manager)和 yum/dnf
  • 社区和企业支持结合,用户可以根据需求选择免费或付费支持。

1.2 Debian家族 (Debian Family)

Debian 家族以 Debian 为核心,其目标是提供一个完全免费的、社区驱动的操作系统。该家族广泛用于服务器、桌面系统以及嵌入式系统中,以其稳定性、自由和灵活性著称。

主要发行版:

  1. Debian:

    • 以其稳定性和广泛的包管理支持著称。
    • 社区驱动,完全开源,几乎支持所有硬件架构。
    • 提供三个主要分支:稳定版(Stable)、测试版(Testing)和不稳定版(Unstable),用户可以根据需求选择版本。
  2. Ubuntu:

    • 基于 Debian 的发行版,由 Canonical 公司维护。
    • 面向桌面和服务器用户,提供友好的用户界面和广泛的硬件兼容性。
    • 提供长期支持 (LTS) 版本,每个 LTS 版本都有 5 年的支持。
    • 广泛用于桌面、服务器、云和物联网设备中。
  3. Linux Mint:

    • 基于 Ubuntu,主打易用性和开箱即用的体验。
    • 常见于桌面用户,提供类似 Windows 的用户界面,默认集成了许多媒体解码器和开源软件。

特点:

  • 更倾向于桌面用户和开发人员,同时也广泛用于服务器环境。
  • 包管理工具使用 APT (Advanced Package Tool),依赖 deb 软件包格式。
  • 有非常活跃的社区,支持大量硬件和软件包。

1.3 SUSE家族 (SUSE Family)

SUSE 是一个历史悠久的 Linux 发行版,最初由德国的 SUSE 公司开发。与红帽类似,SUSE 也主要面向企业用户,并提供商业和开源社区版本。

主要发行版:

  1. SUSE Linux Enterprise (SLE)

    • 面向企业用户的商业发行版,主要应用于服务器、数据中心和云环境。
    • 与 Red Hat Enterprise Linux 类似,SLE 提供长期支持和技术服务,帮助企业维持关键业务的稳定运行。
    • 包括 SLES (SUSE Linux Enterprise Server)和 SLED(SUSE Linux Enterprise Desktop)两个主要分支。
    • 常用于大型企业、科学计算、高性能计算(HPC)、电信行业等场景。
  2. openSUSE

    • openSUSE Leap:这是一个稳定的发行版,类似于 Debian 或 Ubuntu 的稳定版。openSUSE Leap 基于 SUSE Linux Enterprise 的代码库,适合桌面用户和服务器用户,注重稳定性和企业级功能。
    • openSUSE Tumbleweed:这是一个滚动更新的发行版,类似 Fedora,提供最新的软件包和技术。它非常适合开发人员和技术爱好者,能够快速获取新功能和更新。

特点:

  • YaST(Yet another Setup Tool):SUSE 最著名的工具之一,是一个非常强大的系统配置和管理工具。YaST 提供图形界面和命令行界面,允许用户轻松管理系统设置、网络配置、软件安装、硬件驱动、用户管理等任务。
  • Btrfs 文件系统:SUSE 是第一个默认使用 Btrfs 文件系统的发行版,Btrfs 提供先进的功能,如快照、内置 RAID、检查点和更好的错误恢复能力,非常适合企业级应用和虚拟化环境。
  • Zypper :SUSE 使用的包管理工具,功能类似于 Debian 家族的 APT 和红帽家族的 YUM/DNF,基于 RPM 包格式。

适用领域:

  • SUSE 在企业级市场,特别是欧洲和一些特定行业(如制造、医疗、科研等)中非常受欢迎。
  • 其企业级解决方案通常用于高可用性集群、云计算平台、大型数据库、虚拟化等。
  • openSUSE 则广泛应用于桌面和开发人员群体,提供稳定和前沿的版本选择。

1.4 总结

SUSE 家族与红帽家族和 Debian 家族的比较:

特点 红帽家族 Debian家族 SUSE家族
主要发行版 RHEL, CentOS, Fedora Debian, Ubuntu, Mint SLE, openSUSE Leap, Tumbleweed
包管理工具 RPM, YUM/DNF DEB, APT RPM, Zypper
企业级应用 企业服务器、数据中心、云计算 桌面、服务器、物联网、云环境 高性能计算、企业服务器、科学计算
更新周期 稳定,RHEL 有长期支持 弹性,有稳定、测试和不稳定版本 SLE 长期支持,openSUSE 有稳定与滚动版
特色工具 Anaconda 安装程序、Cockpit管理工具 灵活的 APT 包管理系统 YaST 配置工具,Btrfs 文件系统
主要市场 全球,特别是美国和大型企业 全球,社区和开发人员较多 欧洲和高性能计算领域

总结:

  • SUSE家族 尤其适合那些需要强大企业级支持、先进文件系统功能和定制化配置管理的用户,尤其是在高性能计算、虚拟化、云计算和科学研究中表现突出。
  • 红帽家族 则在全球企业和数据中心中有着广泛应用,特别是在关键任务和云计算领域,RHEL 的稳定性和长期支持让其成为企业的首选。
  • Debian家族 以其灵活性和社区驱动著称,拥有庞大的用户群体,广泛用于桌面、服务器和开发环境。

02 Linux Philosophy and Concepts

2.1. Kernel(内核)

Linux 内核是操作系统的核心部分,负责管理硬件资源和提供与硬件的接口。内核控制着 CPU、内存、设备(如硬盘、网络接口)等资源的分配和使用。它还负责:

  • 进程管理:调度进程、处理多任务。
  • 内存管理:分配和回收内存。
  • 硬件驱动:通过驱动程序与硬件设备交互。
  • 文件系统管理:控制文件存储、读写和权限。

Linux 内核是开源的,用户可以根据需要自行编译和定制内核。

2.2. Distribution(发行版)

Linux 发行版是基于 Linux 内核构建的一套操作系统,通常包含一系列预装的软件包、工具和配置,以满足不同用户的需求。发行版包括内核、用户空间应用程序、包管理器等。不同的发行版面向不同的用途,例如服务器、桌面环境、嵌入式设备等。

常见的发行版包括:

  • DebianUbuntuMint:基于 Debian 的发行版,主要面向桌面和服务器。
  • FedoraCentOSRed Hat Enterprise Linux (RHEL) :基于 Red Hat 的发行版,适合企业和开发者。
  • openSUSESUSE Linux Enterprise:基于 SUSE 的发行版,专注于企业应用和开发。

2.3. Boot Loader(引导加载程序)

引导加载程序负责在计算机启动时加载操作系统内核。它是操作系统加载过程的第一个阶段,通常存储在硬盘的主引导记录(MBR)或 GUID 分区表(GPT)中。常见的引导加载程序包括:

  • GRUB(Grand Unified Bootloader):Linux 系统中最常用的引导加载程序,支持多种操作系统。
  • LILO(Linux Loader):旧版的引导加载程序,现在已很少使用。

引导加载程序还可以管理多个操作系统,允许用户选择启动哪个操作系统。

2.4. Service(服务)

Linux 中的服务是指后台运行的程序(即守护进程,daemon),它们通常在系统启动时自动启动,负责处理各种任务,如网络连接、打印服务、数据库等。服务可以通过 systemdinitUpstart 等服务管理器来管理。

常见的服务有:

  • sshd:处理远程 SSH 连接的服务。
  • httpd:提供网页服务的 Apache 服务。
  • mysqld:管理 MySQL 数据库的服务。

2.5. Filesystem(文件系统)

文件系统是操作系统用于组织、存储和检索数据的一种结构。文件系统定义了如何在存储设备(如硬盘、SSD)上组织文件和目录。不同的 Linux 发行版可以支持多种文件系统格式,常见的有:

  • ext4:Linux 默认的文件系统,兼具稳定性和性能。
  • XFS:一种高性能的文件系统,常用于大规模存储应用。
  • Btrfs:提供先进功能如快照、压缩和自修复,非常适合容器和虚拟化环境。
  • FAT32NTFS:Windows 常用的文件系统格式,Linux 也可以通过挂载来访问。

2.6. X Window System(X 窗口系统)

X 窗口系统(也称为 X11X)是 Linux 系统中用于提供图形用户界面(GUI)支持的基础系统。它负责管理窗口、输入设备(如鼠标、键盘)和显示设备(如显示器)之间的交互。X 本身并不提供桌面环境,而是为桌面环境提供底层的图形处理支持。

虽然 Wayland 正逐渐取代 X Window System,但 X 仍然是许多 Linux 发行版的默认选择。

2.7. Desktop Environment(桌面环境)

桌面环境是基于 X 窗口系统或 Wayland 的一组软件,提供用户与系统交互的图形界面。桌面环境通常包括窗口管理器、文件管理器、控制面板和常用的应用程序,如文本编辑器和终端。

常见的桌面环境有:

  • GNOME:一个现代的、功能强大的桌面环境,主要用于 Ubuntu、Fedora 等发行版。
  • KDE Plasma:一个高度可定制的桌面环境,功能丰富,广泛用于 openSUSE 和 Kubuntu。
  • Xfce:一个轻量级桌面环境,适合资源有限的系统。
  • LXDE:另一种轻量级桌面环境,适合老旧硬件。

2.8. Command Line(命令行)

命令行界面(CLI)是 Linux 系统与用户交互的一种方式,用户通过输入命令来执行操作。命令行非常强大且灵活,用户可以使用各种命令来管理系统、执行任务、编写脚本等。

在 Linux 中,常用的命令行解释器(Shell)包括:

  • Bash:最常用的 shell,提供强大的脚本功能和命令历史管理。
  • Zsh:功能丰富的 shell,支持强大的自动补全和插件系统。
  • Fish:用户友好的 shell,提供默认智能补全和语法高亮。

命令行工具是 Linux 系统管理和开发的核心部分,允许用户以文本命令形式高效执行各种任务。

03 Linux Basics

3.1. boot process(启动过程)

Linux 系统的 启动过程(boot process) 是一个多阶段的过程,涉及从电源开启到操作系统完全加载并准备使用。这个过程通常分为以下几个步骤:

  1. BIOS/UEFI 初始化
  • BIOS(Basic Input/Output System)UEFI(Unified Extensible Firmware Interface) 是电脑的固件,它是硬件和操作系统之间的接口。
  • 当按下电源按钮时,BIOS/UEFI 会执行 POST(Power-On Self-Test) ,检查硬件(如 CPU、内存、硬盘、显卡)是否正常工作。
  • POST 完成后,BIOS/UEFI 查找存储设备上的引导加载程序。BIOS 会从主引导记录(MBR )中查找,而 UEFI 从 GUID 分区表(GPT)中的 EFI 系统分区(ESP)查找。
  1. 引导加载程序(Boot Loader)
  • 找到引导加载程序后,系统会加载它。常见的引导加载程序包括 GRUB(Grand Unified Bootloader)LILO
  • 引导加载程序的任务是找到并加载 Linux 内核(通常存储在 /boot 分区或 EFI 系统分区中)。
  • 如果安装了多个操作系统,GRUB 等引导加载程序会提供一个菜单供用户选择启动哪个操作系统。
  1. 加载内核(Loading the Kernel)
  • 一旦引导加载程序选择并加载了内核,Linux 内核被解压并加载到内存中。
  • 内核开始初始化硬件设备,并启动第一个进程,通常是 init 进程(现代系统中是 systemd)。
  • 内核也会挂载根文件系统(root filesystem ),通常是 /,以便操作系统可以访问其所需的文件。
  1. init/systemd 启动(System Initialization)
  • init 是 Linux 系统中的第一个用户空间进程,它的进程号为 1。在现代 Linux 系统中,init 已经被 systemd 替代,成为管理启动过程和系统服务的主要工具。

  • systemd

    启动时会执行多个初始化任务,包括:

    1. 挂载文件系统(如 /home/var)。
    2. 启动指定的系统服务(如网络管理、日志系统)。
    3. 配置系统运行级别(决定系统是进入多用户模式、单用户模式,还是图形界面)。
  • 在旧的系统中,这个过程是由一系列 init 脚本 (通常位于 /etc/init.d/)来实现的,而在 systemd 中,它由 unit 文件targets(系统目标)来管理。

  1. 启动系统服务(Starting Services)
  • systemd 根据预定义的配置,启动系统所需的各种服务(如网络服务、数据库服务、用户登录服务等)。

  • 服务通过守护进程(daemon)来实现,它们是后台运行的程序,例如:

    • sshd:提供 SSH 服务,允许远程登录。
    • networkd:管理网络连接。
    • cron:定时任务调度服务。
  1. 启动登录进程(Login Prompt or Display Manager)
  • 在完成系统初始化和服务启动后,系统会进入用户登录界面。根据系统配置和桌面环境的不同,登录方式也有所不同:

    1. 命令行模式(CLI) :如果系统运行在没有图形界面的模式(即多用户模式),则会启动 getty,它会提示用户通过终端登录。
    2. 图形界面(GUI) :如果安装了桌面环境,display manager (如 GDMLightDMSDDM 等)会启动,显示图形化的登录界面。
  1. 用户登录与启动 Shell/桌面环境
  • 用户通过登录界面输入用户名和密码后,系统验证用户身份并启动相应的 shell (如果是命令行模式)或 桌面环境(如果是图形模式)。
  • 在命令行模式下,系统将启动用户的默认 shell(如 Bash 或 Zsh),用户可以开始在终端输入命令。
  • 在图形界面下,系统加载完整的桌面环境(如 GNOME、KDE),用户可以通过图形界面使用操作系统。

简要总结:

  1. BIOS/UEFI 启动并执行 POST 检查。
  2. 加载 引导加载程序(如 GRUB) ,它找到并加载 Linux 内核。
  3. 内核 被加载并初始化硬件和文件系统。
  4. systemd/init 启动,加载系统服务和挂载文件系统。
  5. 启动服务,并配置系统环境。
  6. 提示用户通过 命令行图形界面 登录。
  7. 登录后,启动 shell桌面环境,系统准备就绪。

3.2.查看文件系统的磁盘空间使用情况

bash 复制代码
df -Th /

df(disk free)命令显示文件系统的磁盘使用情况。

-T 选项显示文件系统的类型(例如,ext4、xfs 等)。

-h 选项表示以 "人类可读" 的格式显示,单位会自动调整为 KB、MB、GB 等,方便理解。

/ 指定根目录,表示查看根目录所在文件系统的磁盘使用情况。

我的输出电脑为这样

dart 复制代码
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdc       ext4 1007G   16G  941G   2% /
  • Filesystem : /dev/sdc 表示这个文件系统所在的物理设备是 /dev/sdc,即这块磁盘的名称。
  • Type : ext4 表示文件系统的类型是 ext4,这是常见的 Linux 文件系统类型。
  • Size : 1007G 表示该文件系统的总容量是 1007 GB。
  • Used : 16G 表示已使用的空间为 16 GB。
  • Avail : 941G 表示剩余可用空间为 941 GB。
  • Use% : 2% 表示已使用的空间占总空间的 2%。
  • Mounted on : / 表示这个文件系统挂载在根目录 / 上,这意味着根文件系统位于 /dev/sdc 磁盘中。

简单来说,这表明你有一块容量为 1007 GB 的硬盘(或者分区),目前只用了 16 GB,剩余 941 GB。

3.3 查看系统的交换分区(swap space)信息

bash 复制代码
cat /proc/swaps

是用来查看系统的交换分区(swap space)信息的命令。

  • Filename : /dev/sdb 这是交换分区所在的设备名,表示你的交换空间位于 /dev/sdb 这个磁盘分区中。
  • Type : partition 表示这是一个交换分区,而不是一个交换文件。
  • Size : 4194304 这是该交换分区的大小,单位为 KB,换算过来是 4 GB 的交换空间(4194304 KB ≈ 4 GB)。
  • Used : 0 表示当前没有使用任何交换空间,意味着你的物理内存足够,没有需要用到交换分区。
  • Priority : -2 这是交换分区的优先级,数值越高优先级越高。多个交换分区时,优先级高的会被优先使用。负值的优先级表示这个交换分区并不会优先使用(通常用于备用)。

简单来说,你的系统有 4 GB 的交换分区(未使用),主要用于在物理内存不足时,系统会把不常用的数据临时转移到这块分区中,腾出内存用于当前需要的程序。

3.4 概念总结

A partition is a logical part of the disk.

  • A partition is essentially a section of the hard drive that is treated as a separate entity by the operating system. Partitions allow you to divide the physical storage of the disk into smaller, manageable sections, each potentially having its own file system.

中文:分区是硬盘的一个逻辑部分。

  • 分区是指硬盘上被操作系统当作独立部分处理的区域。通过分区,你可以将硬盘的物理存储划分为更小的部分,每个部分可以有自己独立的文件系统。

A filesystem is a method of storing files.

  • A filesystem defines how data is organized and retrieved from a partition or storage medium. It determines how files are named, stored, and accessed. Common Linux filesystems include ext4, XFS, and btrfs.

中文:文件系统是一种存储文件的方法。

  • 文件系统决定了数据在分区或存储介质上的组织和检索方式。它决定了文件的命名、存储和访问方式。常见的 Linux 文件系统包括 ext4、XFS 和 btrfs。

Data can be separated as needed.

  • By creating different partitions or using different file systems, data can be organized or separated based on purpose, security, or ease of management. For example, you might have one partition for system files and another for user data.

中文:数据可以根据需要分离。

  • 通过创建不同的分区或使用不同的文件系统,数据可以根据用途、安全性或管理的方便性进行组织或分离。例如,你可以为系统文件创建一个分区,为用户数据创建另一个分区。

The boot process has multiple steps.

  • The boot process in Linux involves several stages, from loading the bootloader (like GRUB) to mounting the root file system and starting the init process. Each step is crucial for bringing the system to a fully operational state.

中文:启动过程有多个步骤。

  • 在 Linux 中的启动过程涉及多个阶段,从加载引导程序(例如 GRUB),到挂载根文件系统,再到启动 init 进程。每个步骤都对系统的正常运行至关重要。

Match needs to the distro capabilities.

  • When choosing a Linux distribution, it's important to consider how well the distribution's features and capabilities match your requirements. Some distributions may be better suited for desktops, while others are tailored for servers, security, or performance optimizations.

04. Graphical Interface

4.1 GNUME && multi-user operating system

GNOME (GNU Network Object Model Environment)是一个广泛使用的 桌面环境,为 Linux 和其他类 Unix 操作系统(如 BSD)提供图形用户界面 (GUI)。GNOME 的主要目的是提供一个用户友好的、现代化的桌面环境,让用户可以通过图形界面(而不是命令行)轻松使用操作系统。

simple Linux is a multi-user operating system with allows more than one user to be simultaneously logged if more than one person use this system

Multi-user operating system(多用户操作系统):Linux 是一种多用户操作系统,这意味着它可以同时支持多个用户。不同的用户可以在同一时间登录系统,而不会互相干扰。

More than one user to be simultaneously logged in(允许多个用户同时登录):在 Linux 系统中,多个用户可以通过不同的方式(例如本地终端、远程 SSH 登录等)同时使用同一个系统。每个用户都有自己的工作空间、权限和配置文件,互不影响。

If more than one person use this system(如果有多个用户使用这个系统):即使有多个用户同时使用 Linux 系统,它也能够管理和分配系统资源(如 CPU、内存、磁盘空间等),并确保每个用户的操作是独立和安全的。

Linux 通过多种机制来保证资源隔离并管理用户和进程的资源。这些机制确保每个用户的操作不会互相干扰,同时保证系统的安全性和稳定性。以下是一些主要的方法:

  1. 用户和权限管理
  • 用户账户和组:Linux 允许创建多个用户账户和用户组。每个用户都有唯一的用户 ID(UID),每个组都有唯一的组 ID(GID)。通过用户和组的概念,Linux 能够控制用户对系统资源的访问权限。
  • 权限系统:Linux 文件和目录都有三种基本权限(读、写、执行),并分别对应所有者、组和其他用户。只有具有相应权限的用户才能访问、修改或执行文件。这种权限模型有效地限制了用户间的访问。
  1. 进程隔离
  • 进程 ID(PID) :每个运行中的进程都有一个唯一的进程 ID。Linux 内核通过 PID 来跟踪和管理进程。进程之间是相互独立的,它们不能直接访问其他进程的内存空间。
  • 虚拟内存:Linux 为每个进程提供了虚拟内存空间,使得每个进程都拥有自己的内存空间。这意味着一个进程无法访问或修改另一个进程的内存内容,进而实现了进程之间的隔离。
  1. 资源控制
  • 控制组(cgroups) :Linux 的控制组允许管理员限制、监控和隔离进程组的资源使用(如 CPU、内存、磁盘 I/O 和网络带宽)。通过 cgroups,可以为特定的用户或进程组设置资源限制,从而防止某个用户或进程占用过多的系统资源。
  • 命名空间(namespaces) :命名空间是 Linux 提供的另一种资源隔离机制。它允许创建独立的环境,进程在其中运行时感知到的系统资源(如进程 ID、网络、挂载点等)是独立的。Docker 等容器技术就是基于命名空间实现的。
  1. 安全模块
  • SELinux 和 AppArmor:这些安全模块提供了更高级的访问控制机制。它们基于强制访问控制(MAC)模型,允许系统管理员定义更细粒度的访问策略,限制进程对系统资源的访问。这可以有效防止潜在的安全漏洞。
  1. 系统资源调度
  • 调度算法:Linux 使用调度器来管理 CPU 资源。调度器决定哪个进程在何时获得 CPU 时间。通过使用不同的调度算法,Linux 可以根据进程的优先级和需求,合理分配 CPU 资源,确保系统的响应性和公平性。

4.2 Suspend(挂起)

在 Linux 中,挂起(suspend)是指将系统的当前状态保存到内存中,然后将系统置于低功耗模式。这种模式允许用户快速恢复工作状态,同时减少电源消耗。以下是关于 Linux 中挂起的详细解释:

  1. 挂起的工作原理
  • 保存当前状态:当用户选择挂起时,Linux 会将当前的系统状态(包括打开的应用程序和文件)保存在内存中。这意味着系统仍然保持对 RAM 的供电,以便可以快速恢复。
  • 降低功耗:进入挂起状态后,系统会关闭大部分硬件组件(如 CPU、显示器、硬盘等),大幅度减少电源消耗。
  • 快速唤醒:从挂起状态恢复通常只需要几秒钟,用户可以快速继续工作,而不必经历完整的启动过程。
  1. 挂起与其他电源管理模式的比较
  • 挂起 vs. 休眠(Hibernate) :休眠模式将系统状态保存到硬盘上,然后完全关闭电源。恢复时需要更长时间,因为需要从硬盘读取状态。挂起模式更适合短时间的离开,而休眠模式适合长时间不使用。
  • 挂起 vs. 待机(Standby) :待机模式与挂起类似,但可能仍保持部分硬件的电源,导致比挂起模式稍微多消耗电力。
  1. 在 Linux 中使用挂起
  • 命令行挂起 :用户可以通过命令行使用 systemctl 命令进入挂起状态:

    bash 复制代码
    sudo systemctl suspend
  • 图形界面:许多 Linux 发行版的桌面环境(如 GNOME、KDE 等)都提供了在电源菜单中选择"挂起"选项。

  • 键盘快捷键:用户可以在系统设置中自定义键盘快捷键,以便快速挂起系统。

  1. 配置挂起功能
  • 电源管理设置:大多数 Linux 发行版允许用户在电源管理设置中配置挂起功能,包括选择在关闭盖子或按下电源按钮时系统的行为。
  • 兼容性:并非所有硬件都支持挂起功能,某些旧设备可能在挂起时遇到问题,导致无法正常恢复。在这种情况下,可以通过 BIOS 设置或系统日志进行故障排查。
  1. 挂起的应用场景
  • 移动设备:在笔记本电脑和平板电脑上,挂起模式非常有用,允许用户在短暂离开时节省电池。
  • 节能:挂起可以帮助用户在长时间不使用设备时减少电源消耗,同时保留未完成的工作状态。

那么所用的macbook合上屏幕就是suspend吗?

是的,MacBook 合上屏幕时默认进入的状态通常是挂起模式 (Suspend Mode),也称为 睡眠模式(Sleep Mode)。在这个状态下,MacBook 会降低功耗,同时保持当前的工作状态,以便用户可以快速恢复。

05. System Configuration from the Graphical Interface

5.1 unix派生系统

因为有用过macos,发现Display显示器管理哪怕文件系统和mac真的类似,也可见由unix派生出来的系统

媒体接入控制地址(Media Access Control Address)

  • 定义:MAC 地址是一个唯一的硬件地址,用于在计算机网络中标识网络接口卡(NIC)或设备。每个网络接口都有一个唯一的 MAC 地址。
  • 格式 :MAC 地址通常以十六进制格式表示,由六组两位数的十六进制数构成,使用冒号或破折号分隔,例如 00:1A:2B:3C:4D:5E
  • 功能:在局域网(LAN)中,MAC 地址用于数据链路层的通信,确保数据包能够正确地发送到目标设备。

5.2 包管理工具

在 Linux 系统中,包管理器是用于安装、更新和删除软件包的工具。每个 Linux 发行版通常都有自己的包管理器,以下是一些常见的底层包管理器及其特点:

  1. APT(Advanced Package Tool)
  • 适用发行版:Debian 及其衍生版,如 Ubuntu、Linux Mint 等。

  • 特点 :APT 是一个高级的包管理工具,使用 .deb 格式的软件包。它可以自动处理依赖关系,允许用户通过命令行或图形界面(如 Synaptic)管理软件包。

  • 常用命令

    • 更新软件包列表:sudo apt update
    • 安装软件包:sudo apt install package_name
    • 升级已安装软件包:sudo apt upgrade
    • 删除软件包:sudo apt remove package_name
  1. YUM(Yellowdog Updater, Modified)
  • 适用发行版:Red Hat Enterprise Linux(RHEL)、CentOS、Fedora 等。

  • 特点 :YUM 使用 .rpm 格式的软件包,并自动解决依赖关系。它提供了命令行工具和图形界面(如 GNOME Software)进行软件管理。

  • 常用命令

    • 安装软件包:sudo yum install package_name
    • 更新软件包:sudo yum update
    • 删除软件包:sudo yum remove package_name
  1. DNF(Dandified YUM)
  • 适用发行版:Fedora 和新版本的 RHEL/CentOS。

  • 特点 :DNF 是 YUM 的下一代版本,提供更好的性能和改进的依赖处理。它使用相同的 .rpm 格式,并兼容 YUM 命令。

  • 常用命令:

    • 安装软件包:sudo dnf install package_name
    • 更新软件包:sudo dnf update
    • 删除软件包:sudo dnf remove package_name

5.3 concepts summary

  1. Control basic config with System Settings
  • 英文:Control basic config with System Settings.
  • 中文:使用系统设置控制基本配置。
  • 解释:系统设置是用户与操作系统交互的界面,通过它用户可以调整和管理基本的系统配置,例如显示设置、网络设置和用户账户等。
  1. Linux always uses UTC
  • 英文:Linux always uses UTC.
  • 中文:Linux 始终使用协调世界时(UTC)。
  • 解释:在 Linux 系统中,默认情况下,时间设置为协调世界时(UTC),这可以避免由于夏令时等地区性时间调整引起的混淆,确保在不同地区的设备时间保持一致。
  1. The Network Time Protocol sets time via Internet
  • 英文:The Network Time Protocol sets time via Internet.
  • 中文:网络时间协议(NTP)通过互联网设置时间。
  • 解释:网络时间协议(NTP)是一种用于通过互联网同步计算机时钟的协议。它允许设备从时间服务器获取准确的时间信息,从而确保系统时间的准确性。
  1. The displays panel configures screens
  • 英文:The displays panel configures screens.
  • 中文:显示面板配置屏幕。
  • 解释:显示面板是系统设置中的一个部分,用户可以在其中配置显示器的设置,例如分辨率、亮度、方向和显示模式等,管理多屏显示的设置。
  1. Network manager configures network setting
  • 英文:Network manager configures network settings.
  • 中文:网络管理器配置网络设置。
  • 解释:网络管理器是 Linux 中用于管理网络连接的工具。它允许用户配置有线和无线网络设置,包括 IP 地址、DNS 服务器和连接类型等。
  1. dpkg & RPM are management systems
  • 英文:dpkg & RPM are management systems.
  • 中文:dpkg 和 RPM 是包管理系统。
  • 解释dpkgRPM 是两种不同的包管理系统,用于安装、升级和删除软件包。dpkg 通常用于 Debian 及其衍生版(如 Ubuntu),而 RPM 则用于 Red Hat 系列及其衍生版(如 CentOS 和 Fedora)。这两种系统各自管理与之相关的软件包格式(.deb.rpm)。
相关推荐
哎呦喂-ll33 分钟前
Linux进阶:环境变量
linux
Rverdoser35 分钟前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb
PigeonGuan1 小时前
【jupyter】linux服务器怎么使用jupyter
linux·ide·jupyter
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
咖喱鱼蛋2 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char2 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
肖永威2 小时前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong2 小时前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
布鲁格若门2 小时前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda