首页 > 系统相关 >Linux-Mint-系统管理-全-

Linux-Mint-系统管理-全-

时间:2024-05-16 19:41:32浏览次数:24  
标签:系统管理 Linux 用户 命令 使用 Mint 我们

Linux Mint 系统管理(全)

原文:zh.annas-archive.org/md5/bc35a5141fec44b55af1b6bad7139bc5

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

在过去的 5 年中,基于 Linux 的操作系统的用户数量显著增加。许多计算机用户希望了解更多关于 Linux 的信息,并且许多人正在从 Windows 和 Mac OS X 等其他系统迁移过来。目前,Linux Mint 是最广泛使用的基于 Linux 的操作系统之一,许多用户需要提高他们使用该操作系统执行高级任务的能力。这些任务包括通过 FTP 连接到其他计算机、创建 shell 脚本以及将用户组织成组。

Linux Mint 系统管理员初学者指南提供了一套实用的食谱,帮助你成为 Linux 系统管理员。通过这本书,你将学习 Linux 系统管理员需要了解和执行的基本概念和操作。我们将从基本操作开始,例如安装 Linux Mint,并逐步学习更高级的主题,如安全和监控。

尽管我们将使用 Linux Mint 进行工作,但本书中描述的大多数概念和操作都可以应用于其他 Linux 发行版,如 Ubuntu、Debian 和 Fedora。

本书内容

第一章,Linux Mint 简介,是本书的“入门”章节。它解释了 Linux Mint 是什么,有哪些版本,以及 Linux Mint 与其他 Linux 发行版有何不同。

第二章,安装 Linux Mint,教你如何在你的计算机上安装 Linux Mint。它提供了一个简单易懂的逐步指南,用于安装和启动这个操作系统。

第三章,基本 Shell,向你介绍 Linux Shell。你将学习如何处理基本操作和动作,例如找出当前目录、设置环境变量以及创建简单的 Shell 脚本。

第四章,账户配置,涵盖了你需要操作用户账户的所有内容,包括如何创建用户和组,以及如何更改用户的权限。

第五章,安装、卸载和升级软件,教你如何执行基本操作以使软件在你的计算机上运行。

第六章,配置硬件,提供了检测和配置硬件设备(如键盘、鼠标、显示器和声卡)的过程的覆盖。

第七章,网络,专注于有线和无线网络。你将学习如何配置你的网络并使用 FTP 协议连接到其他服务器。

第八章,存储和备份,涵盖了不同的文件系统类型。它教你如何查看磁盘使用空间,以及如何创建和恢复重要数据的备份。

第九章,安全,探讨了运行安全 Linux Mint 计算机所需了解的基本概念。本章包括安装和配置防火墙的步骤,使用内核的安全模块,并解释了如何构建一个简单而有效的安全检查清单。

第十章,监控你的系统,涵盖了操作系统监控的主要方面。你将学习如何管理计算机上运行的服务和进程,以及内存、CPU 和网络的使用情况。

第十一章,故障排除,帮助你识别问题,检查你的硬件、网络、内核、进程和文件系统。

本书所需

显然,你需要一台基于 Intel 的计算机。市场上大多数计算机,包括不同品牌的笔记本电脑和台式机,都属于这一类别。为了安装 Linux Mint,你需要一个至少 1GB 容量的 USB 闪存驱动器。此外,建议使用宽带互联网连接以下载、安装和升级软件。

本书适合谁

本书适合对学习 Linux 系统管理感兴趣的计算机用户。你应该熟悉基于 Linux 的操作系统以及基本概念,如目录、文件、命令和进程。那些已经尝试过 Linux 的用户以及高级用户可以通过本书提升他们的知识,成为系统管理员。

约定

在本书中,你将发现几个频繁出现的标题。

为了给出完成一个过程或任务的清晰指令,我们使用:

行动时间 – 标题

  1. 行动 1

  2. 行动 2

  3. 行动 3

指令通常需要一些额外的解释,以便它们有意义,因此它们后面跟着:

刚刚发生了什么?

本标题解释了你刚刚完成的任务或指令的工作原理。

你还会在书中找到一些其他的学习辅助工具,包括:

动手实践 – 标题

这些实际挑战为你提供了实验所学知识的想法。

你还会发现许多不同类型的文本样式,用于区分不同类型的信息。以下是这些样式的一些示例,以及它们的含义解释。

文本中的代码词如下所示:"将 ISO 镜像,linuxmint-13-mate-dvd-32b.iso保存到你的硬盘上。"

任何命令行输入或输出都如下所示:

arturo@han-solo ~ $ cd /tmp

新术语重要词汇以粗体显示。您在屏幕上看到的单词,例如在菜单或对话框中,会以这种方式出现在文本中:“点击 磁盘映像 选项,并使用带有标签的按钮选择下载的 ISO 映像”。

注意

警告或重要提示会以这样的方框形式出现。

提示

提示和技巧会以这种方式呈现。

读者反馈

我们始终欢迎读者的反馈。请告诉我们您对这本书的看法——您喜欢或可能不喜欢的地方。读者反馈对我们开发您真正能从中受益的书籍至关重要。

若要向我们发送一般反馈,只需向 <[email protected]> 发送电子邮件,并在邮件主题中提及书名。

如果您在某个领域具有专长,并且有兴趣撰写或参与撰写一本书,请查看我们在 www.packtpub.com/authors 上的作者指南。

客户支持

既然您已经是 Packt 书籍的自豪拥有者,我们有一系列服务帮助您从购买中获得最大收益。

勘误

尽管我们已经尽一切努力确保内容的准确性,但错误仍然会发生。如果您在我们的书中发现错误——可能是文本或代码中的错误——如果您能向我们报告,我们将不胜感激。这样做,您可以避免其他读者感到沮丧,并帮助我们改进这本书的后续版本。如果您发现任何勘误,请通过访问 www.packtpub.com/support,选择您的书,点击 勘误提交表 链接,并输入您的勘误详情来报告它们。一旦您的勘误得到验证,您的提交将被接受,勘误将被上传到我们的网站,或添加到该标题的勘误部分中的任何现有勘误列表中。

盗版

互联网上版权材料的盗版是所有媒体持续存在的问题。在 Packt,我们非常认真地保护我们的版权和许可。如果您在网上遇到我们作品的任何非法副本,请立即向我们提供位置地址或网站名称,以便我们采取补救措施。

请通过 <[email protected]> 与我们联系,并提供涉嫌盗版材料的链接。

我们感谢您帮助保护我们的作者,并使我们能够为您带来有价值的内容。

问题

如果您在书的任何方面遇到问题,可以通过 <[email protected]> 与我们联系,我们将尽力解决。

第一章:Linux Mint 简介

欢迎来到 Linux Mint!现在是时候去发现世界上最令人惊叹的操作系统之一了。Linux Mint 不仅仅是一个操作系统。它是一个由数百名志愿者支持的完整的开源项目。让我们开始了解更多关于它的信息吧!

在本章中,我们将学习以下主题:

  • 探索 Linux Mint 发行版

  • 了解 Linux Mint 开源项目

  • 探索 Linux Mint 的不同之处

  • 了解 Linux Mint 版本

概览

什么是 Linux Mint?简短的回答是“基于 Linux 内核和 GNU 工具及库的计算机操作系统”。为了理解 Linux Mint 是什么,我们首先需要了解 Linux、内核和 GNU 等不同概念。正式来说,Linux 并不是一个操作系统。它只是一个作为应用程序和硬件数据处理之间的桥梁的软件组件。正因为如此,内核是操作系统的核心组件。通常,Linux一词用来指代基于内核的整个操作系统。然而,一个完整的操作系统需要更多的组件来完成。在这个点上,我们找到了一个基于 Linux 内核的家族操作系统,加上由 GNU 开源项目提供的一套工具。

什么是 GNU 工具?首先,我们应该了解 GNU 项目。基本上,这是一个由理查德·斯托曼发起的开源项目,旨在构建一套软件组件和工具,以避免使用任何非自由软件。尽管 GNU 工具与 UNIX 操作系统兼容,但两者是不同的。实际上,GNU 是一个递归的缩写词,意味着 GNU's Not Unix。由于 GNU 工具的质量和普及度,许多 Unix 和 Unix-like 系统,如 GNU/Linux 发行版,已经采用了这些工具作为整个操作系统的组件。属于 GNU 项目,我们可以找到非常流行的工具,如bashEmacsgzipautomakegccmake

尽管“Linux”一词被接受用来指代这一系列操作系统,但有些人或组织,如自由软件基金会,更倾向于使用 GNU/Linux 这个名字。记住这个概念,我们将在本书中谈论整个操作系统时使用 GNU/Linux,而在指代内核时仅使用 Linux。

既然我们已经了解了 Linux、内核和 GNU,我们可以将 Linux Mint 定义为一种包含 Linux 内核、GNU 工具和其他有用软件的 Linux 发行版。等等。我们刚刚提到了一个新的概念——发行版。当然,你可能听说过 Ubuntu、Fedora 或 Debian。这三个都是 Linux 发行版,或distros的例子。Linux 发行版可以定义为提供内核、基础工具系统以及供用户使用的完整应用程序集的整个操作系统。

一点历史

Clement Lefebvre 是一位法国开发者,他在 2006 年决定创建一个新的 Linux 发行版。他的首要目标是实验并探索是否有可能在现有的 Linux 发行版基础上应用一些设计和可用性改进。在做出这个决定之前,Clement 花了一些时间撰写关于其他 Linux 发行版的文章。

思考哪些方面可以改进,Clement 开始尝试构建自己的发行版。Ubuntu 被选为起点,经过一些工作后,第一个 Linux Mint 版本于 2006 年发布,代号为Ada。这个版本从未作为稳定版发布。然而,几个月后,一个新的版本准备就绪。Barbara 被选为 Linux Mint 2.0 版本的名称,这引起了许多开发者和用户的关注和兴趣。他们提供的反馈成为继续开发新操作系统的动力。Linux Mint 开始成为世界上最受欢迎的操作系统之一。

开源项目

Linux Mint 不仅仅是一个 Linux 发行版,它是一个由数百名志愿者和贡献者支持的开源项目。这意味着人们共同分享想法,编写教程,在论坛上讨论,并开发软件。最终结果不仅仅是 Linux 发行版,还产生了大量的文档。集体智慧使我们能够构建世界上最常用的操作系统之一。我们不能忘记 Linux Mint 操作系统是开源的,并且它是在流行的通用公共许可证 GPLGNU)软件许可下发布的。

所有为 Mint 项目做出贡献的人组成了社区。在开源世界中,社区是一组支持特定项目的用户和开发者。Linux Mint 的社区迅速成长,成为项目中重要且不可或缺的一部分。

社区使用一个特定的网站,该网站可以在community.linuxmint.com找到。

贡献于项目

每个人都可以以不同的方式为 Mint 项目做出贡献,这就是开源项目的魔力,每个人的工作都很重要。通常,人们想知道如何为开源项目做出贡献。有时很难找到这类信息,尤其是对于非技术人员。Linux Mint 网站提供了关于如何为项目做出贡献的足够信息。基本上,你可以找到三个不同的贡献领域——项目贡献者、推广和财务帮助。第一个领域适合那些想要开发软件、编写文档、制作艺术品或报告错误的人。然而,非技术人员也可以为这个领域做出贡献,例如,他们可以进行翻译,以支持越来越多的语言。项目的推广可以适合那些有兴趣帮助他人、撰写文章或组织本地演示以传播项目哲学和知识的人。最后,财务帮助很重要,因为 Linux Mint 项目需要支付一些成本,如托管或商品费用。

对于那些有兴趣了解更多关于如何为 Linux Mint 项目做出贡献的详细信息的人,请访问www.linuxmint.com/getinvolved.php

为什么 Linux Mint 与众不同

基本上,我们发现三个特点使得 Mint 与众不同。最重要的是用户体验。Mint 被设计成提供一个非常友好的桌面,具有优雅和精致的感觉。主菜单提供了按组组织的应用程序访问,非常直观,只需点击一下即可启动程序。关于提升用户体验,Mint 开发者提供了与操作系统集成的特定工具。其中包括mintInstallmintUpdatemintBackupmintUpload。我们将在本书的不同章节中讨论这些软件工具。不耐烦的用户可以查看 Mint 开发者使用的 GitHub 账户,网址是github.com/linuxmint

Linux Mint 项目的社区是另一个使 Mint 与其他发行版不同的方面。组织及其工作方式使 Mint 与众不同。用户提供的反馈是改进 Mint 和构建更好的操作系统的最有价值的资源之一。其他发行版可能有商业动机,或者开发者在没有考虑用户需求、建议或想法的情况下做出决策。

最后,Mint 包含了许多开箱即用的软件。多媒体编解码器、Java 运行时和 Flash Player 默认安装。这些功能对于需要时间熟悉操作系统的初学者用户来说非常重要。

版本

与其他操作系统一样,Linux Mint 有不同的版本或风味。基本上,我们可以找到两个主要版本——一个基于 Debian,称为 Linux Mint Debian Edition (LMDE),另一个基于 Ubuntu。除了 Ubuntu 和 Debian 软件仓库,Linux Mint 还使用其特定的仓库。

LMDE 是一个滚动发布版本。这意味着该发行版不断接收更新,而不产生新版本。因此不需要升级。然而,常规 Mint 版本(基于 Ubuntu 的版本)的发布仅遵循特定的时间段,这个时间段比滚动发布的要长。尽管 LMDE 比 Linux Mint 更快、更响应,但非高级用户在使用它之前应该三思,因为持续的更新可能会带来一些他们可能难以解决的错误。另一方面,Linux Mint 易于维护,并且设计为提供无与伦比的用户体验。

Linux Mint 项目通过不同的 ISO 镜像分发每个版本,每个镜像都准备好刻录到 DVD 中。对于 LMDE,我们可以根据包含的桌面环境和处理器架构(32b 和 64b)找到四个镜像。

关于 Linux Mint 的常规版本,我们有更多的选择,因此需要考虑这一点。具体来说,我们可以找到十个不同的 ISO 镜像。实际上,我们只有五个真正不同的,因为每个都有其对应的 32b 和 64b 版本。包含四种不同的桌面环境——MATE、Cinnamon、KDE 和 Xfce。

总结

本章是对 Linux Mint 项目和发行版的实践介绍。我们已经学习了 Linux Mint 操作系统和项目的基本概念,包括如何为项目做贡献以及发现了哪些版本可用。

现在你已经了解了 Linux Mint 发行版和项目的主要数据和信息,你已经准备好将该发行版安装到你自己的电脑上了。

参考资料

第二章:安装 Linux Mint

现在我们已经学习了 Linux Mint 项目和操作系统的理论基础,是时候开始做一些实际操作了。在我们开始在计算机上使用操作系统之前,我们需要安装它。这个说法并不完全正确;一些 Linux 发行版提供了一个现场版,允许您在不安装的情况下测试操作系统。Mint 也不例外,开发者分发 ISO 现场镜像。此外,操作系统可以通过提到的现场镜像进行安装。因此,我们将使用其中一个作为示例。在实践中,我们将了解如何在计算机上安装 Linux Mint。

在本章中,我们将学习以下主题:

  • 创建 Linux Mint 的可启动 USB 闪存驱动器

  • 下载 Linux Mint MATE 13 ISO 镜像

  • 从 USB 驱动器启动 Linux Mint

  • 在计算机上安装 Linux Mint

  • 登录系统

创建可启动 Linux Mint USB 闪存驱动器

我们将从 ISO 镜像安装 Linux Mint。因此,在开始安装过程之前,我们需要一个外部媒体来刻录该镜像。在第一章,Linux Mint 简介中,我们讨论了不同的 Linux Mint 版本或版本。用户可以根据经验、桌面和计算机架构选择自己的版本。为了简单起见,我们选择了 32 位的 MATE 版本,我们将使用该版本来学习如何安装操作系统。但是,创建可启动闪存驱动器和安装 Linux Mint 的过程与其他版本非常相似。

确保您有一个可用的 USB 闪存驱动器;您至少需要一个 2 GB 容量的。尽管有多种方法可以创建可启动 USB 设备,但我们将使用一个名为通用网络安装程序UNetbootin)的程序。它是一个开源程序,您可以在 Mac OS X、Windows 和 GNU/Linux 版本中找到。这三个操作系统的操作过程是相同的,因此您可以选择您喜欢的操作系统。

行动时间——下载并刻录 ISO 镜像

为了创建我们的可启动设备,我们需要执行两个主要任务——下载 ISO 镜像,并使用 USB 闪存驱动器将其刻录:

  1. 打开网络浏览器并输入网址mirror.umd.edu/linuxmint/images/stable/13/linuxmint-13-mate-dvd-32bit.iso

  2. 将 ISO 镜像(linuxmint-13-mate-dvd-32b.iso)保存到您的硬盘上。

  3. 在您的网络浏览器中打开一个新标签或页面,并输入网址unetbootin.sourceforge.net.

  4. 点击适用于您操作系统的按钮。

  5. 将程序保存到您的硬盘上,然后安装并启动它。

  6. 当您启动UNetbootin时,点击磁盘映像选项,并使用带有标签的按钮选择下载的 ISO 镜像。行动时间——下载并刻录 ISO 镜像

  7. 跨重启保留文件空间(仅限 Ubuntu):输入框中输入一个大于256的数字。我们选择了512,这对于我们的目的来说足够了。

  8. 类型中选择USB 驱动器选项,选择您的驱动器单元,然后点击确定按钮。该过程将开始采取行动,如提取和复制文件,以及安装引导加载程序。当该过程完成后,您的闪存驱动器将准备好使用。

刚才发生了什么?

正如您所发现的,UNetbootin是一个非常简单且有用的工具,用于从 ISO 映像创建可启动的 USB 驱动器。此外,它还可以用于从互联网下载特定的 GNU/Linux ISO 映像。实际上,可以通过此选项直接创建映像,而无需从系统文件中选择 ISO 文件。Debian、Ubuntu、Gentoo、Fedora 和 Mint 等都是UNetbootin支持的 GNU/Linux 发行版。然而,这个软件的最新版本不允许我们下载大于 10 的 Mint 版本。因此,我们选择从 Linux Mint 的官方镜像之一,通过网络浏览器下载特定版本。

填写跨重启保留文件空间(仅限 Ubuntu):选项的输入框很重要,因为 Linux Mint 是基于 Ubuntu 的发行版。所选的 MB 数量取决于您的 USB 驱动器上的可用空间。这部分空间用于存储一些持久数据,如配置更改、保存的图片或数据库。得益于这种存储方式——您可以在不安装操作系统的情况下启动和使用实时操作系统。

请记住,创建可启动 USB 驱动器的过程在 Mac OS X、Windows 系列和 GNU/Linux 发行版上几乎相同。

从闪存驱动器安装 Linux Mint

现在我们有了可启动的 USB 驱动器,我们准备好启动和安装 Linux Mint 了。我们下载的版本是实时的。这意味着您可以在不安装的情况下在计算机上测试和使用操作系统。毫无疑问,这对于想要轻松尝试 Mint 的人来说是一个非常有趣的功能。然而,我们将学习如何在计算机上安装 Linux Mint。在继续之前,请确保您的计算机至少有 5.7 GB 的硬盘空间可用。

操作时间 – 启动和安装 Linux Mint

在开始之前,请确保您已准备好 USB Mint 可启动驱动器。

  1. 将 USB 驱动器插入计算机。

  2. 重新启动计算机并选择 USB 作为启动设备。

  3. 启动后,您将看到一条消息,指示系统将在 10 秒内自动启动。在它发生之前,按Enter键。

  4. 当启动闪屏窗口出现时,保留默认选项并按Enter键。

  5. 在完成 Linux Mint 的启动过程后,您会看到带有几个图标的桌面。此时,Linux Mint 的实时模式已准备好使用,但我们继续点击安装 Linux Mint图标。操作时间 – 启动和安装 Linux Mint

  6. 欢迎对话框中选择您的安装语言,然后点击继续按钮。

  7. 现在,一个新窗口出现,它告诉我们所需的硬盘空间。点击继续按钮。

  8. Linux Mint 可以与其他操作系统安装在同一台计算机上。您可以选择默认选项或您自己的分区方案。为了简单起见,我们将选择默认选项擦除主硬盘。

  9. 在下一个对话框中,擦除磁盘并安装 Linux Mint,选择默认硬盘,安装软件将询问您是否开始格式化硬盘。

  10. 点击立即安装按钮,将显示一个新的对话框,供您选择时区。准备好后,点击继续按钮。

  11. 选择您的键盘布局,然后点击继续按钮。

  12. 选择您的用户名、密码和计算机名称,然后点击继续开始行动 - 启动和安装 Linux Mint

  13. 现在,Linux Mint 将在您的计算机上安装所需的文件。当这个过程完成后,一个对话框会通知您。最后,拔出您的 USB 驱动器并点击立即重启按钮。

刚才发生了什么?

Linux Mint 提供了一个完整且易于使用的向导,用于在计算机上安装操作系统。许多任务在幕后执行,对用户来说是透明的。

尽管向导会询问您一些配置系统的信息,但 Mint 会将文件复制到硬盘,检测硬件,配置引导加载程序并安装所有必需的软件。这个过程简单直接,因此用户不需要任何 Linux 发行版的经验来安装 Linux Mint。

然而,最复杂的步骤是在具有不同操作系统的计算机上尝试安装 Linux Mint。尽管如此,向导会为您做出决策;在开始格式化硬盘之前,确保您知道自己正在做什么可能会很有趣。此外,您可以选择自定义硬盘分区方案,这对高级用户非常有用。如果您不确定这类数据,最好将决策留给 Linux Mint 安装向导。在这种情况下,您可以选择默认选项。

通常,Linux Mint 会检测到您的所有硬件,但有时计算机使用与 Linux 不兼容的现代硬件。一些用户会遇到与此相关的问题,解决这些问题需要对 Linux 内核有高级知识。然而,在大多数情况下,Linux Mint 会正确检测和配置您的硬件。

如果您打算处理敏感数据,或者您只是希望保护您的个人数据免受其他用户的影响,您可以选择加密您的家目录。Linux 发行版使用位于/home目录内的特定文件夹来存储操作系统每个用户的数据。每个用户通过用户名被调用;因此对于用户名joehome文件夹将是/home/joe。所有个人信息和自定义配置都将存储在该文件夹中,因此加密它可能是有价值的。请记住,在安装过程中您选择了一个用户名,Linux Mint 为您创建了该用户。该用户的名称将用于您的家目录。尽管如此,加密您的home文件夹被视为高级功能,这就是我们没有勾选相应复选框的原因。

启动 Linux Mint

安装过程完成后,是时候首次启动您的操作系统了。您不需要配置任何其他内容,但您应该学会如何启动并登录系统,然后再学习有关 Linux Mint 的更多内容和功能。

行动时间 – 首次启动 Linux Mint

启动并登录 Linux Mint 相当简单,您将在以下步骤中发现这一点:

  1. 使用已安装 Linux Mint 的计算机启动。确保没有任何 CD、DVD 或 USB 驱动器连接。

  2. 不要按任何键;Mint 将自动启动。

  3. 启动 Linux Mint 后,将显示一个新的登录系统对话框。您应该输入在安装过程中选择的用户名和密码:行动时间 – 首次启动 Linux Mint

  4. 一旦输入并接受了您的用户名和密码,Linux Mint 将登录到系统,您就可以开始使用它了!

刚刚发生了什么?

启动过程始终相同,您必须在开始在计算机上使用 Linux Mint 之前进行身份验证,除非您在安装过程中选择了自动登录。如果您改变了对此功能的看法,不用担心;您可以在操作系统安装后选择不同的选项。

为了简化操作,Mint 开发者包含了一个自动启动过程。这个过程不显示任何菜单或按钮,但知道菜单存在是很好的,您可以选择不同的选项来执行其他操作,例如启动内存测试或进入称为恢复的特殊模式。

总结

在本章中,您已经学会了如何创建可启动的 Linux Mint USB 驱动器,以及如何安装和启动操作系统。

具体来说,我们涵盖了:

  • 如何从下载的 Linux Mint ISO 镜像创建可启动 USB 驱动器

  • 如何安装Linux Mint MATE 32 位版并如何启动它

  • 如何登录系统

现在您准备好使用 Linux Mint 并发现其主要功能了。在下一章中,我们将专注于 Linux 发行版最重要的方面之一——shell。

第三章:基本 Shell

在上一章中,我们学习了如何安装 Linux Mint。一旦我们的操作系统安装在计算机上,我们就可以开始使用它了。首先,你需要了解什么是 shell,这是 Unix 和 GNU/Linux 操作系统中最重要的概念之一。然后,你将学习一些有趣的和基本的 shell 使用方法,包括一些执行应用程序、列出文件和在文件系统中查找文件的有用命令。此外,你还将了解一些关于 shell 编程的基本概念。

本章将讨论以下主题:

  • Shell 基本概念

  • 查找当前目录

  • 如何运行命令和应用程序

  • 查找 shell 命令的绝对路径

  • 如何列出、检查和查找文件

  • 学习重定向和管道

  • 如何设置环境变量

  • 查找之前执行过的命令

  • 创建一个简单的 shell 脚本

  • 如何获取帮助?

让我们先从学习什么是 shell 开始。

什么是 shell?

Shell 是 Unix 和 GNU/Linux 操作系统中最重要的组件之一。基本上,shell 是一种软件,它为用户提供了一个接口,允许与操作系统的内核进行通信。通过 shell,用户可以输入命令并执行程序。从技术角度来看,shell 只是一个可以代表用户执行其他程序的程序。通常,shell 被称为命令行界面,也称为CLI

最初的 Unix 操作系统将 shell 与其他操作系统组件分开。这意味着 shell 是一个可以直接由用户启动的程序。然而,其他组件,如内存管理器、调度器和输入/输出系统,通过内核直接工作,无需用户交互。

第六版 Unix 包含了一个作为标准命令解释器的 shell。它的名字是sh,由 Ken Thompson 在贝尔实验室开发。后来,在 1979 年,当第七版 Unix 发布时,之前的 shell(sh)被一个新的 shell 取代,称为Bourne shell,由 Stephen Bourne 开发。几年后,Bill Joy 编写了一个新的 shell 并将其命名为C shell,也称为csh。Joy 在加州大学工作,他的 shell 成为了一个特定的 Unix 操作系统的一部分,称为伯克利软件发行版BSD)。

在 20 世纪 80 年代中期,Korn shellksh)由 David Korn 开发,当时他在流行的 AT&T 贝尔实验室工作。尽管 ksh 与 Bourne shell 兼容,但它包含了一些对程序员和希望进行高级定制的人来说非常有用的额外功能。

大多数 GNU/Linux 发行版都包含一个作为 GNU 项目一部分编写的不同 shell,它的名字是Bourne-Again shell,通常被称为bash shell。GNU 项目开发者构建 bash 的目的是为了获得一个与 Bourne shell 兼容的 shell,这对用户和程序员都有用。

因此,bash 提供了 Bourne 功能的超集。由于 bash 目前非常流行,我们将更多地了解它。此外,Linux Mint 也不例外,它将 bash 作为其默认 shell。

Bash shell 包含可以直接输入的命令。这些命令帮助你执行有用且常见的操作,例如更改当前目录、显示文件内容或列出特定目录的内容。这些命令中的一些是内置于 bash shell 本身的;其他则是由 GNU/Linux 发行版包含的单独程序。这两类命令都被视为 bash 命令,你将在本章中学习其中的一些。

当你打开一个 shell 时,你会看到一些符号、一些文本和一个闪烁的光标,所有这些都被称为提示符,它表明 shell 已准备好,你可以开始输入命令了。提示符显示的信息类型取决于提示符的配置方式。基本上,你会发现有关你的用户名、机器名和当前目录的数据。通常,美元符号($)作为数据和光标之间的分隔符,光标在你可以输入的位置闪烁。

你在哪里?

我们将开始使用 shell 并学习如何找出当前目录的位置以及如何从一个目录切换到另一个目录。此外,我们还将发现哪个应用程序为 Linux Mint 提供了命令行界面。

操作时间 – 学习 pwd 和 cd 命令

Linux Mint 使用的命令行界面由一个名为MATE Terminal的应用程序提供。我们将搜索它,启动它,然后我们将通过以下步骤学习和执行pwdcd命令:

  1. 点击位于桌面底部的菜单选项。

  2. 点击后,会显示一个带有许多选项的新窗口菜单。在右手边的窗格中,你会看到一个名为收藏夹的区域;在那里,点击终端图标以启动 MATE Terminal,如下图所示:操作时间 – 学习 pwd 和 cd 命令

  3. 现在你通过 MATE Terminal 运行了一个 shell,你准备好输入并执行命令了。我们的第一个命令将是pwd,它返回当前目录的路径。直接在 MATE Terminal 窗口中输入pwd操作时间 – 学习 pwd 和 cd 命令

  4. 当您启动 MATE Terminal 时,您的当前目录将是您的家目录;因此,pwd命令的输出将是该目录,如下面的截图所示:行动时刻 – 学习 pwd 和 cd 命令

  5. 我们将更改当前目录,并通过使用以下命令将/tmp设置为新的当前目录:arturo@han-solo ~ $ cd /tmp

  6. 执行命令后,我们会发现提示符已更改,以指示我们的当前目录现在是/tmp,这可以通过查看arturo@han-solo /tmp $来看到。

发生了什么?

由于我们使用的是 Linux Mint 的 MATE 版本,我们的默认命令行界面由 MATE Terminal 提供。不过,其他版本也包含类似的程序。例如,Cinnamon 提供 GNOME Terminal 作为其默认 CLI 应用程序。

MATE Terminal 为我们提供了访问 shell 的途径,我们可以通过它启动命令和程序。实际上,MATE Terminal 使用具有图形用户界面的窗口提供基于文本的命令行界面。我们已经学会了显示当前目录的第一个命令。这一操作很重要,因为某些其他命令的输出取决于该目录。

cd命令对于更改当前目录并在文件系统中将其他目录设置为新的当前目录非常有用。传递给cd命令的第一个参数是您希望设置为新当前目录的目录路径。

重要的是要知道~符号标识您的家目录,因此您可以使用它作为快捷方式,而不是输入完整路径。

请记住,您的提示符看起来会有所不同,因为您的用户名和机器名将与我的不同。在我们的示例中,用户名是arturo,机器名是han-solo。是的,您猜对了,我是一个星战迷!

动手实践 – 使用快捷方式访问您的家目录

尝试执行不带参数的cd命令,您会发现当前目录如何更改为您的家目录。以下是快速更改到该目录的快捷方式:

arturo@han-solo /tmp $ cd
arturo@han-solo ~ $

MATE Terminal 可以通过多种方式进行配置和定制。例如,您可以更改字体类型和大小,并设置特定的颜色方案。您可以从编辑选项中查看配置文件首选项菜单。

运行命令

正如您所学到的,shell 允许我们直接与计算机操作系统通信。这一操作帮助我们启动命令和应用程序。之前,您了解了如何启动cdpwd等命令。为了做到这一点,您只需输入每个命令,然后按下Enter键。然而,有些命令用于使用完整路径调用程序。现在您将学习如何做到这一点。

行动时刻 – 从命令行启动程序

假设有一个名为testme的程序存在于/tmp目录中。我们可以通过以下步骤调用这个程序:

  1. 使用 MATE Terminal 应用程序打开一个 shell。

  2. 输入/tmp/testme并按Enter

  3. 程序的输出将在 shell 上显示。如果调用的程序有一个图形用户界面,将会打开一个新的窗口。

刚才发生了什么?

当你输入一个命令时,它会直接执行,因为存在一个环境变量来查找所有可执行的文件。那个变量的名称是$PATH,它的值指示了 shell 应该在哪里查找可执行文件。命令和应用程序是可执行文件,但并非所有这些文件都位于与$PATH关联的目录中。这就是为什么需要使用完整路径来调用任何文件的原因。遵循这一规则,我们通过其路径名调用了testme文件。

操作系统如何知道哪些文件是可执行的?很简单,可执行文件使用一个特定的标志来向操作系统指示这一属性;shell 知道这一点,并且可以轻松地执行它们。

如果你的当前目录是可执行文件所在的位置,你可以使用一个点加一个斜杠(./),后面跟着文件名来调用它。多亏了这个技巧,你不需要使用完整路径或修改$PATH变量。例如,我们的示例testme命令可以通过以下命令调用:

arturo@han-solo ~ $ cd /tmp
arturo@han-solo /tmp $ ./testme

一些命令和程序允许我们传递额外的参数;每个参数前面必须有一个空格。我们将在后面学习这些类型的命令(至少一些命令)。

试试看 – 不使用完整路径执行程序

你可以尝试修改$PATH以添加/tmp目录,然后你可以直接调用testme命令而不使用其完整路径。关于如何设置环境变量,请参阅本章稍后的设置环境变量部分了解更多信息。

搜索命令

有时查找一个命令或可执行文件的完整路径是很重要的,这可以通过$PATH变量找到。执行此操作最有用的命令是which,因此我们将解释如何使用它。

行动时间 – 使用 which 命令

在继续之前,请确保你已经启动了 MATE Terminal。然后执行以下步骤:

  1. 输入以下命令:

    arturo@han-solo ~ $ which find
    
    
  2. which命令将显示以下输出:

    /usr/bin/find
    
    

刚才发生了什么?

which shell 命令包含在大多数 GNU/Linux 发行版中,甚至在 Linux Mint 中。多亏了这个命令,我们可以获取一个命令或可执行文件的完整路径,该路径可以通过$PATH变量找到。另一方面,find命令是一个用于查找文件的程序;你将在本章中了解更多关于它的信息。

列出、检查和查找文件

文件是存储信息的持久资源。图像、声音、程序和命令使用文件,这些文件可以由用户管理。因此,学习如何通过我们的 shell 列出、检查和查找文件是很重要的。

行动时间 – 使用 ls、locate、find 和 cat 命令

我们将使用一些命令,如findlocatecatls。最后一个用于显示目录的内容,而findlocate命令用于在我们的文件系统中查找文件。cat命令用于获取文件内容作为输出。不要忘记确保您的 shell 正在运行。

  1. 首先,我们将直接从我们的主目录执行ls;我们只需要在我们的命令行界面中输入ls

  2. 前一个命令的输出将类似于这样:

    Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
    
    
  3. 现在,我们将继续寻找所有带有.conf扩展名(*.conf)的文件,位于/etc/ufw目录中,使用以下命令:

    arturo@han-solo ~ $ find /etc/ufw -name '*.conf'
    
    
  4. 作为find命令的输出,您将找到您的主目录中所有带有.conf扩展名的文件:

    /etc/ufw/sysctl.conf
    /etc/ufw/ufw.conf
    
    
  5. locate命令在我们知道要查找的文件名时使用。想象一下,您想查找.bash_history文件,但不记得文件所在的目录;在这种情况下,您可以使用以下命令:

    arturo@han-solo ~ $ locate .bash_history
    
    
  6. 最后执行的命令的结果将是以下行:

    /home/arturo/.bash_history
    
    
  7. 最后,我们将使用cat命令来显示文本文件的内容。让我们列出文件系统中与您的网络接口相关的信息,使用以下命令:

    arturo@han-solo ~ $ cat /etc/network/interfaces
    
    
  8. 因此,您将得到/etc/network/interfaces文件的内容显示为:

    auto lo
    iface lo inet loopback
    
    

刚刚发生了什么?

findlocate命令在您需要查找文件或一组文件时非常有用。每个命令可以使用不同的参数,我们已经学习了它们的基本用法。重要的是要知道find命令从当前目录开始搜索。然而,locate使用特定的数据库进行搜索,而不考虑当前目录。这意味着locate可以找到不在当前目录中的文件。两个命令都使用基于模式的搜索算法。记住,我们使用*.conf模式作为find命令的参数。

ls命令是 Linux 系统中最常用的命令之一,因为它提供了关于目录内容的基本信息。通常,在通过 shell 采取行动之前,您需要这些信息。此命令支持许多不同的参数,允许您获取关于目录内容的各类信息。

作为打印文本文件内容的一部分,cat命令可以连接不同文件的内容,从而直接在 shell 上显示所有信息。每个文件都可以作为参数传递给cat命令。

动手实践 – 在列出文件时获取更多信息

如果您想获取目录中每个文件的更多信息,可以尝试使用带有-l参数的ls命令,如下所示:

arturo@han-solo ~ $ ls -l

此外,执行find命令并传递一个不同于 JPEG 的扩展名作为参数也可能会很有趣。

还有两个命令可以帮助您显示文本文件的内容——moreless。这两个命令允许您在屏幕上阅读内容,而不会意外修改。您只需将文本文件的名称作为参数传递给这些命令。

管道和重定向

在 Unix 和 GNU/Linux 操作系统中,将一个命令的输出用作另一个命令的输入是非常常见的。由于这一概念,我们可以在 shell 中仅用一行创建一系列命令的组合。我们将使用一个简单的示例来说明管道的使用。具体来说,我们将在文本文件中查找一个字符串。

重定向是另一种强大且常用的技术,它允许我们将命令的输出附加到机器文件系统中可用的任何其他文件。为了简化操作,我们将仅创建一个包含当前日期的文本文件。

行动时间 – 使用管道和重定向应用不同的命令

让我们开始了解管道是如何工作的:

  1. 在您的 shell 中输入以下命令:

    $ cat mytext.txt | grep This
    
    
  2. 您将得到以下输出:

    This is the content for the mytext.txt file
    
    
  3. 现在,我们将使用重定向来创建一个包含一些内容的新文件:

    $ date > current_date.txt
    
    
  4. 使用以下命令检查新文件以确保内容有效:

    $ cat current_date.txt
    Sat Sep 23 14:41:29 CEST 2012
    
    

刚刚发生了什么?

尽管我们使用简单的示例来理解管道和重定向,但通过这些技术可以创建复杂的命令。这取决于用户的技能和经验。

正如您可能已经意识到的,我们使用|字符来表示我们将使用管道。我们可以多次使用该字符与不同的命令。

至于重定向,>字符用于将命令的输出存储在文件中。另一方面,date是一个简单的应用程序,用于获取当前日期。最后,cat命令帮助您打印名为current_date.txt的新文件的内容。

动手实践 – 使用重定向将内容追加到文件

与其创建新文件,不如将内容追加到现有文件中;您只需使用>>字符。例如,我们可以通过以下命令向现有文件添加更多内容:

$ echo 'More text' >> current_date.txt

设置环境变量

环境变量定义了可以影响操作系统中运行的程序和命令行为的一些方面。每个环境变量都有一个可以动态地通过 shell 改变的值。通常,操作系统会创建并设置一些环境变量,但用户可以更改这些变量并添加新的变量。默认应用程序(如网络浏览器、文本编辑器和音乐播放器)可以使用环境变量来定义。shell 使用这类变量来获取用户环境的信息,并将这些数据设置给命令和程序。我们将学习如何获取和设置特定环境变量的值。

行动时间 – 设置 PATH 环境变量

执行以下步骤来设置PATH环境变量:

  1. 启动 MATE Terminal,准备好输入一些命令。

  2. 输入以下命令:

     $ PATH=$PATH:/tmp
    
    
  3. 使用以下命令获取PATH变量的值:

    $ echo $PATH
    
    
  4. 你会得到类似这样的结果:

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin::/sbin/bin:/usr/games:/tmp
    
    

发生了什么?

环境变量的值是直接设置到 shell 中的;我们只需要使用=字符加上变量的期望值。在我们的例子中,我们使用了PATH变量并添加了一个新值,即/tmp目录。显然,我们本可以使用一个更简单的值,但在PATH的情况下,我们还想保留它的原始值。

echo命令接受任何类型的字面量作为参数,并将该字面量输出到标准输出。如果你想获取一个环境变量的值,你应该在其前面加上$符号。因此,echo $PATH命令将输出PATH环境变量的值。

尝试一下 – 学习 export 命令

你可以获取不同的环境变量(如HOMETERMEDITOR)的值。此外,你还可以动态地改变它们的值。

如果你想让一个环境变量的值在从原始 shell 创建的新 shell 中可用,你应该使用export命令:

$ export TERM=/bin/bash

显示命令历史

通常,使用 shell 工作的人会执行很多命令,因此获取执行过的命令历史非常有用。多亏了history命令,我们可以找出之前执行过哪些命令。

行动时间 – 使用 history 命令

我非常确定你已经执行了一些 shell 命令,所以我们可以直接使用history命令:

  1. 在 shell 中输入history

  2. 根据你过去输入的命令,你会得到一个类似下面的列表:

    cd /tmp
    which find
    
    

发生了什么?

你在 shell 中输入的每个命令都会被存储在一个名为.bash_history的文件中,history命令会读取这个文件来向你展示之前执行过的命令的信息。操作系统为每个用户存储一个.bash_history文件,这个文件位于用户的家目录中。

尝试一下 – 检查执行过的命令历史

如果你正在寻找之前执行过的命令,你可以结合使用 historygrep 命令以及管道来获取这些信息。假设你想知道之前执行过哪些 cd 命令;在这种情况下,你可以输入以下命令:

$ history | grep cd

此外,左右光标键可以让你在最近执行的命令之间导航。

创建你的第一个 shell 脚本

到目前为止,我们已经通过直接在 shell 中输入命令并按下 Enter 来执行命令,但也可以使用文本文件来编写一组命令并通过 shell 启动该文件。这种技术允许我们创建脚本或小型应用程序来执行命令或执行不同的 shell 操作。实际上,Bash shell 为我们提供了一个特定的领域特定编程语言来实现这一目的。尽管这种特定编程语言的学习曲线并不简单,但我们将学习如何创建一个简单的 Bash 脚本来使用控制结构执行一些命令。

在我们的示例中,我们将创建一个脚本来检查文本文件是否存在。如果答案是肯定的,我们将显示一条消息告知你。否则,我们将创建一个只有一行的新文本文件。最后,无论发生什么,我们都将列出创建的文本文件。

操作时间 – 创建和执行 shell 脚本

我们需要使用文本编辑器;当然,你可以使用你喜欢的任何一款。Linux Mint 提供了几种文本编辑器,如 Vim、Emacs 和 Pluma。后者具有图形用户界面,并且默认安装,因此我们将使用它来完成我们的工作。以下是如何开始的方法:

  1. 点击 菜单 按钮,然后点击 文本编辑器 菜单选项,如下面的截图所示:操作时间 – 创建和执行 shell 脚本

  2. 将显示一个新窗口,你就可以开始使用 Pluma 了。输入以下行,并在准备好后将文件保存为 myscript.sh

    #!/bin/bash
    if [ -f "myfile.txt" ]
    then
     echo "Sorry, file already exists."
    else
     echo "Content for file" > myfile.txt
    fi
    ls -l myfile.txt
    
    
  3. 给你的新 shell 脚本赋予执行权限:

    $ chmod +x myscript.txt
    
    
  4. 启动你的脚本:

    $ ./myscript.sh
    
    
  5. 最后一个命令的输出应该类似于这样:

    -rw-rw-r--. 1 arturo arturo 17 Oct 20 11:12 myfile.txt
    
    
  6. 此外,你可以使用 cat 命令来检查创建的文件内容:

    $ cat myfile.txt
    
    

刚刚发生了什么?

所有 shell 脚本都是纯文本文件,因此你可以使用任何文本编辑器来编写这类程序。shell 脚本的第一行应该指明将用于执行脚本的 shell 类型。Linux Mint 默认的 shell 是 Bash,因此我们将使用它来编写我们的 shell 脚本。这就是在我们的 shell 脚本第一行使用 /bin/bash 可执行文件的原因。你可能已经意识到,那一行中使用了两个特殊符号。

第一行表示该行是注释,第二行用于确定应该执行 shell 脚本的 shell 类型。if语句是条件性的,它会检查某个条件是否满足。在我们的例子中,它检查myfile.txt是否存在。如果答案是否定的,将执行else语句,在这里我们将使用echo命令创建一个新文件,并将输出重定向到该文件。最后,shell 脚本的最后一行将被执行,而不受条件语句的影响。为了验证这一事实,你可以两次运行该命令;你会发现输出是不同的,因为第二次文件将存在,因为它之前已经被创建了。

在第三步中,我们使用了一个名为chmod的命令,它对于更改文件权限非常有用。我们将在下一章中了解更多关于这个命令的信息,但在我们的 shell 脚本中,我们只为它添加了执行权限。一旦我们的 shell 脚本拥有这种权限,我们就可以直接通过命令行调用它。

动手实践 – 学习高级 shell 编程

尽管我们的例子非常简单,但你可以通过以下资源了解更多关于 shell 编程的知识:

如何获取帮助

由于maninfo这两个命令,获取关于 shell 命令和一些可执行文件的帮助变得容易。它们都包含在 Linux Mint 中;让我们来探索如何使用它们。

行动时间 – 使用 man 和 info 命令

按照以下步骤更好地理解如何使用maninfo命令:

  1. 再次确保你的 shell 正在运行。

  2. 执行以下命令以获取有关ls命令的信息:

    arturo@han-solo ~ $ man ls
    
    
  3. 以下截图展示了之前执行的命令的输出:行动时间 – 使用 man 和 info 命令

  4. 现在,是时候测试info命令了:

    arturo@han-solo ~ $ info ls
    
    
  5. 执行info命令后,你将获得以下信息:行动时间 – 使用 man 和 info 命令

刚刚发生了什么?

man命令为你提供了大量关于可执行文件或 bash 命令如何工作的信息。作为参数,man命令接收 bash 命令或可执行文件的名称以显示信息。该命令读取一个或一组特定格式的文件,以便开发者可以使用该格式为程序包含文档。

此外,info命令显示了有关命令的一些有用信息。然而,info使用的文档格式与man不同。正如你可能注意到的,尽管我们为这两个命令使用了相同的参数,但它们的输出是不同的。有些用户更喜欢man,而其他用户则更喜欢info,但基本上两者都提供了类似的信息。

总结

在本章中,我们学习了很多关于 shell 和基本命令的知识,包括如何创建一个简单的 shell 脚本。具体来说,我们涉及了以下内容:

  • 通过 MATE 终端应用程序使用 shell 的基本操作

  • 查找当前 shell 指向的目录

  • 运行可执行命令和文件

  • 获取由PATH环境变量引用的命令和可执行文件的完整路径

  • 如何使用ls命令列出文件

  • 如何使用findlocate命令查找文件

  • 如何通过cat命令显示文本文件的内容

  • 使用管道和重定向技术

  • 设置PATH环境变量

  • 如何使用history命令查找之前执行过的命令

  • Shell 编程基础

  • 如何获取有关 shell 及其命令的帮助

一旦你了解了基本的 shell 概念和命令,你就可以准备学习系统管理员最重要的任务之一——如何创建用户账户。

第四章:账户配置

创建用户和组是系统管理员最重要的基本任务之一。在学习更高级的概念之前,了解如何处理用户账户和组是至关重要的。

在本章中,我们将学习以下内容:

  • 找出当前用户

  • 成为 root 用户

  • 更改用户密码

  • 添加新用户

  • 添加新组

  • 将用户添加到特定组

  • 更改用户权限

我是谁?

访问 Linux Mint 需要用户账户。实际上,当你安装操作系统时,你输入了有关用户的一些数据,并创建了他或她的账户。有时系统管理员需要成为系统上的另一个用户,因此了解当前使用 shell 的用户是谁很有趣。我们将解释如何做到这一点。

行动时间 – 找出当前用户

在继续之前,你应该启动MATE 终端应用程序。

  1. 在 shell 中输入以下命令:

    $ whoami
    
    
  2. 作为先前执行的命令的输出,你将获得当前使用 shell 的用户的名称;在我们的情况下,将是以下内容:

    arturo
    
    

刚才发生了什么?

你已经学会了如何使用whoami命令来识别当前登录并使用 shell 的用户。这个命令非常简单,它只返回用户名而不带额外信息。

成为 root 用户

每个 GNU/Linux 操作系统都有一个超级用户,称为root。这是系统管理员使用的操作系统的一个特殊用户。root 用户对文件和程序拥有各种权限。实际上,某些特定操作只能通过此用户执行。

Linux Mint 默认不启用 root 用户。然而,Mint 使用特殊命令允许用户成为 root 用户。这意味着普通用户可以执行最初为 root 用户保留的操作。此外,Mint 配置了sudo命令,允许在安装过程中创建的用户成为 root 用户。

行动时间 – 使用 sudo 命令成为 root 用户

我们将使用sudo命令通过 shell 成为 root 用户:

  1. 打开MATE 终端应用程序。

  2. 输入以下命令并在准备好时按Enter键:

    arturo@han-solo ~ $ sudo su -
    
    
  3. 将显示一个新的提示消息,询问你的密码:

    [sudo] password for arturo:
    
    
  4. 输入你的密码并按Enter键,你将得到一个新提示,如下所示;当前用户是 root:

    @han-solo ~ #
    
    

刚才发生了什么?

sudo命令允许您以另一个用户身份执行命令。Linux Mint 默认配置允许在安装过程中创建的用户直接成为 root 用户。您只需执行sudo命令,将su -作为参数传递。第一个参数标识 root 用户,第二个参数表示应执行root的 Bash 初始化文件。请记住,sudo命令会要求您输入执行该命令的用户的密码。

您肯定已经意识到,成为root后提示符是不同的。#符号用于表示当前用户是root,而不是用于系统普通用户的$字符。

动手实践 – 成为 root 用户后执行 whoami 命令

尝试在成为root后执行whoami命令以检查当前用户。该命令的输出将是root

更改密码

在某些情况下,系统管理员需要更改用户的密码。例如,当用户忘记自己的密码时,他可以向系统管理员请求新密码。

创建用户时应该提供密码,但每个用户在首次访问系统时应该更改自己的密码。

更改自己的密码并不难;您可以通过 Linux Mint 默认安装的一个简单应用程序来完成。

操作时间 – 为用户更改密码

系统中的每个用户都可以使用 Linux Mint 提供的 GUI 应用程序更改自己的密码。我们将学习如何做到这一点。

  1. 点击菜单按钮,然后在收藏夹窗格右侧点击所有应用程序按钮。

  2. 点击管理菜单选项。

  3. 将显示一组新选项,您只需点击用户和组菜单选项,如下面的截图所示:操作时间 – 为用户更改密码

  4. 点击用户和组后,将显示一个要求您输入密码的对话框。输入您的密码并点击认证按钮:操作时间 – 为用户更改密码

  5. 如果您的密码正确,将显示一个新窗口。这是 Linux Mint 处理用户和组的应用程序:操作时间 – 为用户更改密码

  6. 点击靠近密码:登录时询问选项的更改...按钮。

  7. 接下来的窗口允许您更改密码。首先,您应该输入当前密码。然后,您可以选择手动设置密码选项,并在新密码确认输入框中输入您的新密码。准备好后,点击确定按钮:操作时间 – 为用户更改密码

  8. 现在,将显示一个要求您确认的对话框;点击,您的密码将被更改。

发生了什么?

更改密码非常简单,这要归功于 Linux Mint 提供的 GUI 应用程序。在幕后,Mint 调用passwd命令来应用您的更改,允许您更改密码。

用户和组应用程序允许您执行与用户和组相关的更多操作。其中一些操作只能由root执行,因此在继续之前您应该验证此用户。

在更改密码的同一对话框中,您还可以选择是否希望在登录时使用/不使用密码。另一方面,应用程序可以自动生成随机密码。您只需选择生成随机密码选项,然后点击生成按钮。

动手实践 – 使用 passwd 命令

您可以通过在命令行直接使用passwd命令来更改密码。只需输入命令并按照屏幕上的指示操作即可。

此外,您还可以更改其他用户的密码。为此,您必须成为 root 用户并执行passwd命令,将需要更改密码的用户的用户名作为参数传递。

添加新用户

作为系统管理员,最常见的任务之一是为系统创建新用户。多亏了 Linux Mint 中包含的用户和组应用程序,这是一项简单的任务。现在您将了解如何创建新用户。

操作时间 – 为用户更改密码

我们需要启动用户和组应用程序,因此请确保该应用程序正在运行。我们的目的是创建一个名为Luke的新用户,其用户名为luke

  1. 点击主窗口左侧的添加按钮。

  2. 将显示一个对话框;输入您的密码并点击Authenticate按钮。

  3. 现在您可以看到一个带有两个不同输入框的新窗口,一个用于姓名,另一个用于用户名。在第一个框中输入Luke,在第二个框中输入luke。准备好后点击OK按钮:操作时间 – 为用户更改密码

  4. 将显示一个新窗口,要求您为新用户选择密码。输入新密码或选择生成随机密码选项。点击OK按钮继续。

  5. 因此,您将看到新用户显示在系统用户列表中:操作时间 – 为用户更改密码

  6. 如果您查看新用户的数据,您会发现一条消息,告知您新用户的帐户已被禁用,因此我们需要通过点击启用帐户按钮来激活它。

  7. 点击启用账户按钮后,将显示一个更改密码的窗口。再次更改密码并点击确定按钮。现在,账户已启用。

刚才发生了什么?

我们刚刚通过一个简单的流程创建了一个新的用户账户。图形用户界面非常直观,允许我们为新用户选择一个名称和用户名。每个用户都应该有一个密码,因此我们需要为新用户输入一个密码。出于安全原因,新账户被禁用,您必须激活每个账户,更改密码。

动手试试 – 尝试删除一个用户

此外,您还可以通过用户和组工具中列出的每个用户的删除按钮删除用户账户。如果点击该按钮,将显示一个新的对话框,询问您是否确认删除指定的用户。

添加一个新组

在 GNU/Linux 系统中,用户可以被分类到组中。基本上,是一组共享权限的用户。组允许系统管理员以有组织的方式处理用户。例如,一个特定的组可以访问某些目录。这意味着属于该组的所有用户都可以访问这些特定的目录。

Linux Mint 默认使用许多组;其中一些是音频备份游戏irclp。此外,还可以创建额外的自定义组。我们将学习如何做到这一点。

操作时间 – 创建一个名为 develop 的新组

我们将继续使用图形用户界面应用程序来管理用户和组,因此在继续之前请确保它正在运行。我们将创建一个名为develop的新组。

  1. 点击管理组按钮。

  2. 将显示一个显示所有现有组的新窗口。点击添加按钮继续。操作时间 – 创建一个名为 develop 的新组

  3. 输入您的密码并点击认证按钮。现在您可以看到一个名为新组的新窗口。

  4. 组名输入框中输入develop,然后点击确定按钮,如下面的截图所示:操作时间 – 创建一个名为 develop 的新组

  5. 因此,您可以看到新开发的组如何在现有组的列表中显示。

刚才发生了什么?

创建新组的窗口允许我们为该组选择一个组名和组 ID。这个数字标识每个组,并且必须在系统中创建的每个组中都不同。Linux Mint 将为每个新组默认选择一个组 ID,但您也可以选择一个不同的数字。

在创建新组时,也可以直接向其中添加用户。将显示一个用户列表,以便您可以选择其中一些用户,Mint 将自动将该用户添加到新组中。

动手试试 – 尝试删除一个组

删除一个组相当容易;只需选择一个组,然后点击删除按钮。在执行此操作之前,你需要确认删除操作。别忘了,你需要点击管理组按钮才能访问系统上的组列表。

将用户添加到组

如果需要将用户添加到组中,你可以轻松完成。只需访问组属性,然后选择哪些用户应该属于指定的组。

行动时刻 – 将用户 luke 添加到 develop 组

再次确认,用户和组工具正在运行。我们将把用户luke添加到之前创建的develop组中。

  1. 点击管理组按钮。

  2. 选择develop组,然后点击属性按钮。

  3. 一个新窗口显示了所选组的属性,包括用户列表。从列表中选择luke,然后点击确定按钮。

  4. 在模态窗口中使用密码进行身份验证,然后点击身份验证按钮。

  5. 用户luke已被添加到develop组。

发生了什么?

在访问组属性时,我们可以选择将用户添加到组中。你可以从所选组的属性窗口中显示的现有用户列表中选择一个或多个用户。

更改用户权限

Linux 和 Unix 操作系统使用用户权限的概念,这是一种执行操作的权利或授权。因此,用户需要权限许可来创建或删除文件、访问打印机或执行命令。

操作系统提供了一组用户和组,它们对文件、目录和设备具有某些权限。然而,系统管理员可以修改此默认配置。此外,还可以为自定义用户和组分配特定权限。

Mint 提供了一个图形工具,方便管理用户权限。我们将学习如何使用它。

行动时刻 – 授予用户监控系统日志的权限

我们将授予用户luke监控系统日志的访问权限。这是一个简单的例子,用以说明如何更改用户权限。显然,你可以采取类似步骤来更改不同的权限:

  1. 启动用户和组工具。

  2. 从用户列表中选择用户luke,然后点击高级设置按钮。

  3. 当对话框要求输入密码时,请输入你的密码。

  4. 点击确定按钮后,选择用户权限选项卡。

  5. 现在你有一份可以授予或撤销用户luke的权限列表。选择监控系统日志,然后点击确定按钮,如下面的截图所示:行动时刻 – 授予用户监控系统日志的权限

  6. 此时,用户luke已准备好阅读用于监控系统的特殊文件。

发生了什么?

通过用户和组工具提供的高级设置,允许你以非常简单和高效的方式管理每个用户的权限。你有一系列权限可以应用于每个用户。使用自然语言,因此你不需要了解高级概念就能为用户分配权限。

动手实践 – 使用命令行更改权限

尽管 Mint 提供了图形工具来处理用户权限,但你也可以使用 shell 来实现相同的目的。最有用的命令之一是chmod,它允许你更改文件和目录的权限。此外,通过chown命令,你可以决定特定文件或目录的所有者是谁。

如果你对这两个命令都感兴趣,你应该使用maninfo命令来获取更多信息关于chmodchown命令。

对于权限和用户,Mint 提供了三种预定义的账户类型,即自定义管理员桌面用户。你可以为每个用户选择其中之一;账户类型选项提供了这一功能。

总结

在本章中,你学习了账户配置的基本操作。

具体来说,我们涵盖了:

  • 发现当前用户

  • 如何创建用户和组

  • 将用户添加到组

  • 成为 root 用户

  • 更改用户密码

  • 更改用户权限

至此,你已经学习了关于如何使用 shell 和如何创建用户账户的基本概念和想法。现在是时候学习系统管理员日常工作中非常重要的一项技能——如何安装和配置软件。

第五章:安装、卸载和升级软件

在本章中,你将学习系统管理员最重要的基本任务之一。这些任务与软件相关,特别是如何安装、卸载和保持操作系统更新。

在本章中,我们将学习:

  • 安装软件

  • 卸载已安装的软件

  • 应用升级

安装软件

系统管理员迟早需要在至少一台机器上安装软件。事实上,这是这类操作系统用户最常见的任务之一。Linux Mint 包含数千个可以轻松安装的软件应用程序。请记住,当你安装操作系统时,默认会安装大量软件。此外,还可以安装 Linux Mint 提供的额外软件。为了简化在 Linux Mint 中安装软件的过程,该操作系统包含了一个名为软件管理器的工具。

行动时间 – 安装 AbiWord 文字处理器

我们将使用软件管理器应用程序安装名为AbiWord的文字处理器(www.abisource.com)。让我们看看这是如何完成的:

  1. 点击菜单按钮,然后点击所有应用程序按钮,该按钮位于收藏夹窗格的右侧:行动时间 – 安装 AbiWord 文字处理器

  2. 查找管理菜单选项,然后点击软件管理器菜单选项;然后将显示一个新窗口:行动时间 – 安装 AbiWord 文字处理器

  3. 软件管理器主窗口右侧的文本框中输入abiword,然后准备好后按Enter

  4. 现在,你可以看到一个包含许多与你搜索相关的软件的列表。实际上,列表的第一个结果就是我们想要安装的文字处理器,如本截图所示:行动时间 – 安装 AbiWord 文字处理器

  5. 双击一个项目将显示有关所选项目的信息:行动时间 – 安装 AbiWord 文字处理器

  6. 现在,你可以点击安装按钮。这样做将启动 AbiWord 的安装过程。你可以看到一个进度条,指示安装的进度。

  7. 为了检查 AbiWord 是否已安装在你的系统中,你可以打开一个 shell 并输入AbiWord,然后按Enter。AbiWord 将被执行,你可以开始使用它。

发生了什么?

通常,GNU/Linux 发行版包含大量准备以称为的特定格式安装的软件。软件被组织在不同的包中,一些应用程序需要多个包;这被称为包依赖关系。Linux Mint 使用与 Ubuntu Linux 和 Debian 操作系统相同的DebianDEB)格式的包。

软件包通常是从计算机上的一个存储位置检索和安装的。这个位置称为仓库,它包含许多准备下载并在您的机器上安装的软件包。

软件管理器是 Linux Mint 开发人员专门为 Linux Mint 开发的应用程序。该工具允许您列出、安装和删除软件。从技术上讲,软件管理器是一些命令(如apt-getapt-cache)的前端。通过使用图形用户界面,软件管理器提供了一种简单直观的方式来列出、安装和删除软件,避免了使用命令行界面。

为了学习如何安装软件,我们安装了 AbiWord,一个简单但有用的文字处理器。如您所知,通过 Linux Mint 提供的软件包安装软件非常容易。您只需找到一个软件并点击安装按钮。显然,您可以通过相同的流程在机器上安装许多不同的软件。

重要的是要知道,不仅可以通过软件包在 Linux Mint 上安装软件,还可以安装以其他格式(如 tarball 和 ZIP 文件)分发的软件。然而,Mint 包含了许多以 DEB 软件包分发的软件,因此这种安装方法是可取的。实际上,使用软件管理器在 Linux Mint 操作系统上安装软件是一个良好的实践。

动手实践 – 探索 Linux Mint 提供的软件

当您启动软件管理器时,将显示一个窗口,其中显示了不同的图标。每个图标代表 Linux Mint 中包含的不同类别的软件。例如,您可以看到互联网声音和视频图形办公类别等。通过点击每个类别,您将能够访问属于所选类别的软件包。您可以尝试点击一个类别,查看该类别的软件包列表,并尝试安装其中一个软件包。这个过程允许您发现可以在您的机器上安装的有趣软件。

删除软件

之前,我们学习了如何在 Linux Mint 机器上安装软件。同样,了解如何执行相反的操作也很有趣且实用。您可以通过使用软件管理器工具遵循一个简单的过程来删除机器上已安装的软件。请记住,您可以删除在操作系统安装过程中默认安装的软件,或者通过软件管理器应用程序安装的软件。

行动时间 – 删除 AbiWord 程序

让我们通过以下步骤从我们的系统中删除 AbiWord:

  1. 点击菜单按钮。在系统标签后的左侧窗格中,您将找到一个名为软件管理器的选项;点击它。

  2. 现在,软件管理器将被启动。在搜索框中输入abiword,然后按Enter键。

  3. 您将看到一个显示搜索结果的列表;点击第一个,软件管理器将向您展示有关AbiWord的一些信息。

  4. 要从您的系统中删除AbiWord,您只需点击删除按钮,删除过程将自动开始。

发生了什么?

正如我们之前所评论的,软件管理器允许我们从系统中删除软件。我们只需要找到正确的软件包,选择它,然后点击删除按钮。这是一个简单而干净的过程,对系统管理员有很大帮助。同时,对于不想使用命令行界面新手用户来说,它也非常直观。

在点击删除按钮之前,您会看到一个标签,告诉您 AbiWord 软件已安装在您的系统上。当软件未安装时,此标签不同,并显示未安装消息。这是一种简单而有效的方式,可以知道特定软件是否安装在您的 Linux Mint 机器上。

到目前为止,您一定已经意识到我们通过与之前在安装软件部分中解释的不同菜单选项启动了软件管理器。这两种方法都是启动这个有用工具的有效方法。

升级软件

在发布周期之间,Linux Mint 的开发者会升级操作系统中包含的一些软件。这意味着系统管理员应该检查哪些软件已经升级,并决定应该在机器上安装哪些软件。偶尔,升级的软件只涉及较小的更改,例如简单的改进或不重要的错误修复。然而,有时升级的软件也包括重要的安全错误修复。如果我们不应用这些修复,我们的机器可能会面临严重风险。这就是我们经常检查哪些软件已经为我们的 Linux Mint 版本升级的原因。

操作时间 – 通过更新管理器工具升级软件

我们将要发现哪些软件已经准备好进行升级,然后我们将继续安装它。以下是操作步骤:

  1. 点击底部面板上的菜单按钮,然后点击收藏夹窗格右侧的所有应用程序按钮。现在您可以看到一个名为管理的菜单选项;点击它以显示一个新菜单,您可以在其中看到更新管理器菜单选项,如下图所示:操作时间 – 通过更新管理器工具升级软件

  2. 点击更新管理器菜单选项后,将启动一个同名的应用程序,如下图所示:操作时间 – 通过更新管理器工具升级软件

  3. 更新管理器显示一个列表,其中只有一个软件包可以升级。点击安装更新按钮。

  4. 将启动mintupdate软件包的升级过程;此过程完成后,您将看到一个完整的可升级软件列表。

  5. 现在,您已准备好选择要升级的软件包。选择所有软件包是一个好习惯;至少应安装标记为1级的软件包。准备好后,点击安装更新按钮。

  6. 升级过程完成后,您将在Update Manager中看到一个空列表。

刚刚发生了什么?

Update Manager 是 Linux Mint 提供的一个有效应用程序,用于安装已安装软件的新版本并在您的机器上安装安全升级。当您首次启动该应用程序时,您将只看到一个用于应用升级的列表项。该项表示您需要为mintupdate(Update Manager 的代号)安装升级。显然,在应用其他升级之前,我们需要先升级工具本身。一旦此过程完成,Update Manager将再次启动以检查哪些软件可以升级。

准备升级的软件列表显示了不同的项,提供了有关软件包名称、已安装版本和新可用版本的信息。此外,每个项都显示了一个数字。这个数字范围从 1 到 5,表示基于升级重要性的级别。1 级表示 Linux Mint 开发人员认证某个软件包以及标记为此级别的软件包应尽快升级。通常,安全更新使用此级别。下一级别是 Linux Mint 开发人员推荐的升级软件包。3 级表示应用升级是安全的,但 Linux Mint 开发人员未对其进行测试。标记为 4 级的软件包是不安全的,如果您升级它,系统的稳定性可能会受到影响。最后,5 级是针对危险软件包(处于不稳定开发阶段或具有损坏的依赖关系),Linux Mint 开发人员知道它们可能会破坏操作系统。

通常情况下,经常启动软件管理器并仅升级标记为 1 级和 2 级的软件包是一个好主意。对于 3 级、4 级和 5 级的软件包,系统管理员和高级用户应自行决定是否应用升级。此外,您可以选择标记所有列出的软件包或仅标记其中几个。通常,这是系统管理员的任务;是他或她做出这类决定。默认情况下,列表中仅显示 1 级到 3 级的软件包以供升级。您可以通过转到编辑 | 首选项来更改此偏好设置。

动手实践 – 找出如何在 Update Manager 中更改首选项

更新管理器的一些偏好设置可以更改。例如,你可以更改默认显示的升级级别。此外,你可以选择点击刷新按钮后刷新信息的频率。另一方面,你可以决定哪些软件包将被更新管理器忽略。

更新管理器提供的另一个重要选项是选择可以安装哪种类型的软件包以及从哪个服务器获取。默认情况下,主软件包、上游软件包和导入的软件包被选中。此外,还可以添加额外的仓库,而不是使用 Mint 提供的官方仓库。对于服务器,默认选择的是 Linux Mint 的主服务器,但你可以从众多可用的镜像中选择一个。

总结

阅读本章后,你已经学会了如何处理计算机上的软件。基本上,我们发现了如何执行一些重要操作,如安装、卸载和升级软件。Linux Mint 为我们提供了两个出色的应用程序来执行与软件相关的上述操作,即更新管理器和软件管理器。

具体来说,我们涵盖了:

  • 如何使用软件包在 Linux Mint 中分发软件

  • 使用软件管理器在 Linux Mint 上添加和删除软件

  • 如何通过更新管理器工具升级软件

尽管软件管理器是 Linux Mint 中安装和卸载软件的主要工具,但该操作系统还包含另一个工具,称为新立得软件包管理器。这个工具提供了对软件包的低级控制,因此当你寻找特定软件包而不是特定应用程序时,可以使用它。请记住,单个应用程序可以分布在多个软件包中。

在下一章中,我们将学习如何在 Linux Mint 中处理硬件。

第六章:配置硬件

您的计算机包含并使用不同的硬件和外设,如处理器、键盘、显示器、图形卡和声卡。当这些设备正常工作时,您的计算机不会出现任何硬件问题。在本章中,我们将学习如何配置计算机硬件。

本章我们将涵盖以下主题:

  • 如何检测硬件

  • 配置您的显示器

  • 如何配置您的键盘和鼠标

  • 配置声音

  • 如何安装附加驱动

检测硬件

在配置硬件之前,了解计算机内部工作的设备非常重要。Linux Mint 提供了一个图形工具,用于获取有关计算机上安装的硬件信息。此外,我们还将学习如何使用命令显示使用 USB 和 PCI 接口的设备的低级信息。

开始行动 – 如何显示设备信息

让我们显示计算机上运行的设备信息。为此,请按照以下步骤操作:

  1. 点击底部面板上的 菜单 按钮,然后点击 系统 组中的 控制中心 菜单选项,如下所示:开始行动 – 如何显示设备信息

  2. 现在您可以看到一个新窗口;点击 硬件 菜单选项:开始行动 – 如何显示设备信息

  3. 点击 系统信息 链接,您将看到一个新窗口,它属于一个名为 HardInfo 的应用程序。

  4. 在主窗口的左侧窗格中,您将找到一个树形结构,其中 设备 图标为您提供有关计算机上安装的硬件信息,如下所示:开始行动 – 如何显示设备信息

发生了什么?

Linux Mint 包含 HardInfo 用于显示有关计算机上安装的硬件信息。您可以查看有关许多设备的信息,如处理器、内存、打印机以及连接到计算机的 USB 设备。此外,HardInfo 还为您提供其他相关信息,如环境变量、用户或启动时加载的内核模块。

如果您需要以 HTML 或文本格式获取 HardInfo 提供的任何信息,可以通过 生成报告 按钮实现。该报告对于共享有关计算机上安装的硬件信息非常有用。

另一方面,HardInfo 可通过 控制中心 访问,这是一个提供您访问许多有用应用程序的软件工具,用于配置操作系统不同方面的设置。

动手实践 – 使用 dmesg、lspci 和 lsusb 命令

尽管 HardInfo 是一个非常直观且易于使用的工具,你也可以使用其他命令来获取计算机上安装的硬件信息。例如,dmesg是一个命令,它会在 shell 上打印由内核提供的信息。这意味着如果将 USB 设备连接到计算机,Linux 内核将产生有关此事实的信息;因此dmesg将获取这类信息。

为了获取连接到计算机的 USB 设备的数据,你可以执行lsusb命令。如果你想获取有关 PCI 设备的信息,可以使用lspci命令,因为它为你提供了所需信息的完整列表。

配置显示器

显示器是计算机最重要的外设之一。多亏了显示器,你可以看到计算机上所有信息和数据的显示。多个显示器允许你更改一些属性,如屏幕分辨率、旋转和刷新率。我们将学习如何通过 Linux Mint 提供的图形工具来更改这些属性。

行动时间 – 更改屏幕分辨率

尽管你可以更改显示器的许多不同属性,但我们将学习如何更改屏幕分辨率;这可以通过以下步骤完成:

  1. 启动控制中心应用程序,然后点击显示器链接。

  2. 转到分辨率选项,并选择适合你显示器的分辨率;以下是示例截图:行动时间 – 更改屏幕分辨率

  3. 完成操作后,点击应用按钮。

发生了什么?

多亏了 Mint 提供的图形工具,更改显示器的一些属性非常容易。你已经学会了如何更改屏幕分辨率;此外,你还可以更改显示器的旋转和刷新率。还可以检测哪些显示器或显示器连接到计算机。基于这种检测,Mint 可以自动为那些显示器/显示器选择更好的分辨率。如果你连接了多个显示器,Mint 允许你配置每个显示器而没有任何问题。别忘了在更改属性后点击应用按钮,否则你的更改将不会被应用。

配置键盘

在前一节中,你学习了如何配置显示器,现在是时候关注另一个重要外设——你的键盘了。Linux Mint 允许你选择特定的键盘品牌和型号,它还添加了不同的布局,并为键盘配置了辅助功能。在本节中,我们将学习如何添加新布局。

行动时间 – 添加新布局

让我们来弄清楚如何为键盘添加西班牙语布局。以下是如何完成此操作的方法:

  1. 启动控制中心,然后点击键盘按钮。

  2. 点击布局标签,如下图所示:行动时间 – 添加新布局

  3. 点击添加…按钮。

  4. 现在,点击按语言标签。

  5. 寻找西班牙语;卡斯蒂利亚语选项,并将其选中用于语言下拉菜单,如下图所示:行动时间 – 添加新布局

  6. 完成后点击添加按钮。

  7. 现在您的键盘上有了一个西班牙语布局,如下图所示:行动时间 – 添加新布局

刚才发生了什么?

一些用户可能希望为他们的键盘使用不同的布局。例如,可能有一些开发人员,他们的母语不是英语,但他们更喜欢使用这种类型的布局进行编程。然而,他们需要使用另一种不同的布局来书写法语或西班牙语等语言。一次只能选择一个布局,但用户可以随时更改他们的布局。请记住,在使用之前必须添加新布局。

除了配置键盘布局外,您还可以配置诸如键盘品牌和型号或决定文本字段中光标是否应该闪烁等不同方面。多亏了 Linux Mint 提供的图形工具,更改这些属性很容易。

配置您的鼠标

在前面的部分中,我们学习了如何配置我们的显示器和键盘,但我们还有一个重要的外围设备,允许我们与计算机通信。我们说的是鼠标。Mint 提供了一个简单易用的工具来更改鼠标属性。

行动时间 – 更改鼠标方向

让我们学习如何将鼠标从右手方向更改为左手方向。这可以通过以下步骤完成:

  1. 再次,我们将启动控制中心应用程序,并在硬件组中点击键盘按钮。

  2. 鼠标方向组中选择左手选项。

  3. 完成后点击关闭按钮。

刚才发生了什么?

尽管我们解释了一个简单的鼠标配置示例,但 Mint 允许您更改其他属性,例如指针速度、双击超时或按下Ctrl键时显示鼠标指针位置。此外,还可以为更好的可访问性配置鼠标。

配置声音

如果您的计算机包含声卡,您可以配置机器中声音的行为。Mint 为您提供了一个图形工具,用于更改和配置与声音相关的许多方面,例如输出音量、声音效果、警报声音类型以及启用或禁用窗口和按钮的声音。为了熟悉如何配置声音,我们将学习如何启用窗口和按钮的声音。

行动时间 – 如何启用窗口和按钮声音

让我们学习如何使用 Linux Mint 中包含的图形工具为窗口和按钮启用声音。以下是步骤:

  1. 启动控制中心

  2. 单击声音按钮,之后您会看到一个上下文菜单;单击启动声音选项。

  3. 现在,您可以访问声音首选项窗口;选中启用窗口和按钮声音复选框。

  4. 单击关闭按钮以完成声音首选项应用程序。

发生了什么?

声音首选项窗口允许您配置许多与声音相关的方面。使用此窗口,我们学习了如何为窗口和按钮启用声音。此外,您可以使用此窗口更改输出音量,使用静音功能禁用所有声音,或决定哪些应用程序将使用声音。

安装额外的驱动程序

在安装过程中,Linux Mint 检测您的硬件并安装所需的驱动程序。一些 GNU/Linux 发行版不安装或提供专有驱动程序,但 Mint 为我们提供了安装此类驱动程序的选项。这是一个好主意,因为它使新手用户的生活更轻松。目标是让计算机内的所有硬件都能正常工作,包括多媒体支持、显示器和图形卡。

现代 PC 包含由不同品牌制造的图形卡,这些图形卡需要专有驱动程序。如果制造商发布了源代码,则可以编译它并生成二进制包。这是 Mint 开发人员工作的一部分,他们提供软件,使我们能够开箱即用地使用 Linux Mint 计算机。

您可以检查 Mint 是否为您的硬件提供额外的驱动程序。为此,您可以访问控制中心,然后单击附加驱动程序按钮。然后,搜索过程将开始,Mint 将通知您可以安装哪些额外的驱动程序。

总结

在本章中,我们讨论了如何检测和配置计算机硬件。我们提供了配置示例,但得益于 Linux Mint 中包含的图形工具,配置设备(如键盘、鼠标和显示器)非常简单。

具体来说,我们涵盖了以下主题:

  • 检测连接到计算机的硬件

  • 配置重要的外围设备,如键盘、显示器和鼠标

  • 配置声音

  • 安装额外的驱动程序

Linux Mint 社区网站提供了有关哪些硬件与 GNU/Linux 的此发行版兼容的完整信息。该资源被称为硬件数据库,可访问于community.linuxmint.com/hardware。您可以根据兼容性级别、品牌、类型或 Mint 版本搜索硬件。

在下一章中,我们将学习如何在 Linux Mint 中处理网络。

第七章:网络

如今,计算机通过网络共享资源(如文件、文件夹和打印机)协同工作。实际上,互联网是一个巨大的网络,其中计算机正在工作以交换数据。在本章中,您将学习如何执行一些与网络相关的基本系统管理员任务。

在本章中,我们将学习以下主题:

  • 配置有线和无线网络

  • 访问 Windows 的共享文件夹

  • 通过 FTP 协议连接到服务器

配置有线网络

尽管无线网络非常普及,但许多公司和大学仍然使用有线计算机网络。我们将学习如何配置我们的计算机以访问本地网络,以及访问互联网。请记住,在从本地网络访问互联网之前,您需要访问网络本身。

行动时间 – 配置您的连接

假设我们想要使用静态 IP 192.168.1.45 将我们的计算机连接到本地网络。我们知道 DNS 服务器使用 8.8.8.8 作为 IP 地址。此外,我们的网关可以在 192.168.1.125 处到达。执行以下步骤来配置您的连接:

  1. 从主菜单启动控制中心工具。

  2. 互联网和网络组内点击网络按钮。

  3. 现在您可以访问一个名为网络设置的窗口。

  4. 点击点击进行更改按钮。

  5. 在继续下一步之前,您应该已经通过身份验证。因此,您需要输入密码并在准备好后点击认证按钮。第一个选项卡,称为连接,有一个名为有线连接的选项;点击它,如下面的截图所示:行动时间 – 配置您的连接

  6. 网络设置窗口中点击属性按钮。

  7. 配置下拉菜单中选择静态 IP 地址,并在IP 地址输入框中输入192.168.1.45。之后,输入框失去焦点,子网掩码输入框将自动填充。在网关地址输入框中输入192.168.1.125。所有这些设置如下面的截图所示:行动时间 – 配置您的连接

  8. 完成后点击确定按钮。

  9. 点击DNS选项卡,然后点击添加按钮。现在,您可以在第一个输入框中输入 8.8.8.8。准备好后点击关闭按钮;您的网络现在已配置。

刚刚发生了什么?

我们已经学会了如何通过 Linux Mint 中包含的一个简单的 GUI 应用程序连接到本地网络。尽管一些系统管理员更喜欢使用命令行界面,但使用这个图形界面既简单又直观。

在我们的示例中,我们配置了网络卡,为其分配了一个静态 IP 地址,并设置了一个网关和一个特定的服务器作为域名服务器DNS)。这种服务器功能非常重要,因为它将域名解析为 IP 地址。

尽管网络设置应用程序会自动配置子网掩码,您也可以添加自己的数据。请注意,子网掩码是根据您输入的 IP 地址计算得出的。

有些网络使用基于动态主机配置协议DHCP)的自动配置,而不是使用静态 IP 地址。在这种情况下,您可以通过从下拉菜单中选择自动配置(DHCP)来配置网络访问。

尝试一下英雄 – 更改主机名

如果您愿意,可以更改您的主机名。您需要使用配置网络时使用的同一应用程序。只需访问常规选项卡,并在主机名输入框中输入您的新主机名。

配置无线网络

如今,无线网络非常流行;公司、大学、机场和咖啡店都使用这种网络来建立互联网连接。我们将学习如何配置您的 Linux Mint 计算机以使用无线网络。

操作时间 – 如何将计算机连接到无线网络

设想我们需要将计算机连接到一个无线网络,该网络使用测试作为SSID,并使用WEP-128安全方法。此外,我们将使用与上一节配置网络时相同的 IP 地址、子网掩码和网关地址数据。

  1. 从主菜单启动控制中心工具。

  2. 其他组中选择网络连接选项。

  3. 点击无线选项卡,然后点击添加按钮。

  4. 现在您有一个新窗口,可以在其中添加配置数据。为您的连接选择一个名称,在SSID输入框中添加测试,并在准备好时点击保存...按钮,如下面的截图所示:操作时间 – 如何将计算机连接到无线网络

  5. 点击无线安全选项卡,并从安全下拉菜单中选择WEP 128 位密码短语。在密钥文本框中,输入MyKey。如果您想确保输入正确,请勾选显示密钥复选框:操作时间 – 如何将计算机连接到无线网络

  6. 现在是设置 IP 属性的时间。点击添加按钮,在IP 地址输入框中输入192.168.1.45,在子网掩码输入框中输入255.255.255.0,在网关地址输入框中输入192.168.1.125

  7. 点击保存...按钮。您的无线网络现已配置完成。

发生了什么?

Mint 为我们提供了一个简单但有效的图形工具来配置我们的无线连接。您已经学会了如何使用手动配置 IP 地址、子网掩码和网关。此外,我们的示例使用了WEP 128 位安全方法,这需要一个密钥,我们需要输入它。如果您尝试配置的网络使用不同的安全方法,您可以相应地选择。其他可用的安全方法包括WEP 40/128 位LEAP动态 WEPWPA

另一方面,与有线网络类似,您可以使用 DHCP 而不是手动配置。这取决于您的无线网络。

到目前为止,您一定已经注意到,在配置窗口中有一个标记的选项,允许您自动连接到无线网络。多亏了这个选项,您的计算机每次启动时都会连接到无线网络。

如果您的计算机有无线网卡,Mint 将默认尝试自动检测可用的无线网络。您可以选择任何一个来配置您的连接。

访问 Windows 共享文件夹

在计算机网络内部共享资源(如文件夹、文件和打印机)非常有用。通常,同一网络中的计算机可能使用不同的操作系统。由于 Windows 是最广泛使用的操作系统之一,您的网络中可能有多台计算机使用它。考虑到这一点,了解如何从 Linux 访问 Windows 共享文件夹可能会非常有趣。

行动时间 – 如何访问特定的共享文件夹

我们将访问名为windows_shared的共享文件夹,该文件夹存在于一台 Windows 7 计算机上,并且可以通过网络从您的 Linux Mint 计算机访问。以下是访问特定共享文件夹的方法:

  1. 在 Linux Mint 桌面中,您会看到一个标有名称的文件夹图标,表明这个图标代表您的家目录。通过这个图标,您可以访问Caja,即 Linux Mint 的文件管理器。例如,如果您的用户名是john,那么图标标签将是john 的家

  2. Caja 现在已打开,您可以看到一个标有网络的图标;点击它。

  3. 此时,您应该看到一个代表 Windows PC 的图标。这个图标将使用 Windows 主机名计算机的名称作为标签。点击它以访问共享文件夹。例如,在下图中,它被命名为AL-PC行动时间 – 如何访问特定的共享文件夹

  4. 现在将显示一个新的对话框窗口,询问您的用户名、密码和域。输入您的信息,准备好后点击连接按钮。

  5. 现在,windows_shared文件夹将在 Windows 管理器中可用。您现在可以双击它来访问其中的文件。行动时间 – 如何访问特定的共享文件夹

发生了什么?

多亏了 Samba,现在可以从 Linux 访问 Windows 中的共享文件夹。从技术角度来看,Samba 是对SMB/CIFS网络协议的免费重新实现。该协议作为应用层网络运行,并被 Windows 用于共享文件、打印机和其他资源。

显然,在从 Linux 访问 Windows 共享文件夹之前,您需要了解一些重要信息,例如工作组、用户名和密码。这些数据应由 Windows 系统管理员提供。

默认情况下,Linux Mint 会探索您的网络以发现哪些计算机是可访问的。当您点击 Caja 的网络按钮时,就会发生这种情况。当检测到您的 Windows 计算机并点击其图标时,您可以输入数据以访问这些共享文件夹。然后,您可以像处理本地计算机内的文件一样处理该文件夹内的文件。

请记住,默认情况下,所有共享文件夹在验证后都会显示在 Caja 上。但是,只有连接到 Windows PC 的用户才能访问具有权限的那些文件夹。

连接到服务器

互联网上的服务器通常通过使用不同的网络协议为其他服务器和计算机提供访问。FTPSSHWebDAV是访问远程服务器的常见协议,因此了解如何使用这些协议从 Linux Mint 连接到其他计算机将非常有趣。

操作时间 – 连接到 FTP 服务器

我们将连接到一个公共 FTP 服务器,该服务器提供对 Linux 内核资源的访问。它可以通过ftp.kernel.org访问,我们不需要任何用户名或密码即可访问。

  1. 通过点击主文件夹选项打开 Caja 文件管理器,该选项可通过主菜单在位置组中访问。

  2. 前往文件菜单,点击连接到服务器

  3. 将显示一个新对话框。从服务下拉菜单中选择公共 FTP。在服务器文本框中输入ftp.kernel.org,如下面的截图所示:操作时间 – 连接到 FTP 服务器

  4. 您可以在文件管理器窗口中看到通过 FTP 服务器可用的所有文件夹,如下所示:操作时间 – 连接到 FTP 服务器

发生了什么?

Caja 文件管理器帮助我们使用不同的网络协议连接到服务器。在我们的示例中,我们学习了如何连接到公共 FTP 服务器。这种类型的服务器不需要用户名和密码组合。如果需要连接到此类服务器,可以从服务下拉菜单中选择FTP(带登录)选项。一旦建立了连接,您就可以通过 Caja 访问文件和文件夹,就像它们在您的计算机上一样。这意味着您可以直接从另一个文件管理器窗口使用拖放技术复制内容。

在连接对话框中,你可以看到一个名为添加书签的选项。通过选择该选项,将在你的文件管理器中创建一个快捷方式。得益于这一功能,你可以快速访问最常用的服务器连接。

尝试英雄 – 使用安全 WebDAV 协议连接到服务器

尝试通过安全 WebDAV 协议连接到服务器。你可以按照之前连接到公共 FTP 服务器的相同步骤进行操作。我们只需要从“安全”下拉菜单中选择Secure WebDAV (HTTPS)。此外,你可以输入服务器的用户名,以及连接将建立的默认文件夹名称。

总结

在本章中,我们学到了很多关于如何执行一些基本网络操作的知识。

具体来说,我们涵盖了以下主题:

  • 连接有线和无线网络

  • 使用 FTP 和 WebDAV 协议访问远程计算机

  • 连接到 Windows 共享文件夹

既然你已经知道如何处理网络,现在是时候学习不同类型的可用文件系统和如何创建和恢复备份了。

第八章:存储和备份

本章涵盖了文件系统、存储类型以及如何创建和恢复备份的基本概念和信息。系统管理员应该对这些知识有清晰的了解,因为这些信息在用户、公司、大学和其他类型的组织中具有巨大的价值。

在本章中,我们将学习以下主题:

  • 找出 GNU/Linux 发行版使用的主要文件系统类型

  • 如何为用户分配磁盘配额

  • 如何分析磁盘使用情况

  • 如何创建和恢复备份

文件系统类型

计算机数据存储在存储设备中,并按照特定系统进行组织。操作系统应该能够存储、组织、访问和更新这些数据。为了执行上述所有操作,使用了文件系统。存储设备内的所有文件和文件夹都由文件系统组织,操作系统与之交互。存储设备可以是硬盘、外部 USB 驱动器或网络上的文件和文件夹集合。

每个文件系统都为系统管理员和用户提供了一组元数据以供使用。这些元数据包括文件中包含的数据长度、文件所有者以及文件上次修改的时间等信息。目前,你可以找到许多文件系统,每个操作系统家族都能够与其中许多文件系统配合使用。Linux 内核是操作系统的主要组件,它直接与文件系统交互。此外,Linux 发行版提供了工具和技术来与不同类型的文件系统配合使用。

文件系统和存储设备使用分区的概念,该概念标识由文件系统使用的存储设备的一部分。通常,每个存储设备都被划分为分区,每个分区都可以使用特定的文件系统进行格式化。格式化操作提供了一种在分区内部创建文件系统的机制。请记住,Mint 在安装过程中会自动在我们的硬盘上创建一些分区。

Mint 允许我们与 Linux 操作系统家族中最流行的文件系统之一进行交互。具体来说,Linux Mint 可以与 ext2ext3ext4btrfsxfsreiserfs 等分区类型配合使用。目前,ext4 是 Linux 分区的实际标准,Linux Mint 默认使用它。尽管 btrfs 是实验性的,但得益于 Mint,你可以在硬盘上进行测试。另一方面,reiserfs 因其日志功能和稳定性而非常受欢迎。一些系统管理员倾向于使用 xfs,因为它具有高性能的日志系统。

决定每台计算机和存储设备的最佳文件系统类型并非易事。通常,系统管理员倾向于为 PC 和工作站使用 ext4xfsreiserfs 在服务器和高可用性及高性能需求的设备上较为常见。

与文件系统相关,我们发现了另一个概念:存储类型。在运行 GNU/Linux 操作系统的服务器上,通常使用独立磁盘冗余阵列RAID)和逻辑卷管理LVM)等存储类型。第一种技术基本上是将多个磁盘组合成一个唯一的逻辑单元。可以应用不同级别的 RAID,流行的有 RAID 5 和 RAID 1。使用 RAID 的一些优点是数据冗余和高性能。

另一方面,LVM 是一种更方便和灵活地分配存储设备空间的方法,使用传统的分区。使用 LVM,可以通过拍摄快照来创建备份。除了这个重要功能外,LVM 还允许系统管理员在不中断设备存储提供的服务的情况下,对添加或更换磁盘进行热交换。在安装过程中,Mint 允许您使用 LVM 而不是分区。

磁盘配额

硬盘驱动器和存储设备通常有有限的存储空间,因此进行一些维护任务以防止这些设备达到最大容量是很重要的。管理存储限制的一种简单方法是使用磁盘配额;这是一种为操作系统中的每个用户或用户组分配特定大小空间的技术。

Linux 内核允许我们使用两种类型的磁盘配额:。使用第一种时,用户将在达到限制时收到警告。另一方面,硬配额不允许用户在达到限制后创建文件。

行动时间 - 为特定用户分配磁盘配额

我们将学习如何为名为arturo的用户的特定硬盘的/dev/sda3分区设置 20 MB 的限制。让我们想象一下/home分区挂载在/dev/sda3上。分配给用户的配额将是软的,因此将收到警告消息。显然,您可以选择不同的用户和分区,或者计算机可访问的其他设备。

  1. 转到菜单并启动软件管理器应用程序,然后查找并安装名为配额的应用程序。行动时间 - 为特定用户分配磁盘配额

  2. 通过修改/etc/fstab文件并在特定分区中添加usrquotagrquota值来启用文件系统的配额检查。只有 root 用户有权限修改提到的文件,因此您需要在更改之前以root身份登录。/etc/fstab文件中的行应该是以下内容:

    /dev/sda3  /home  ext4  defaults,usrquota,grpquota   1 2
    
    
  3. 编辑并更改/etc/fstab文件后,您必须重新启动计算机。

  4. 执行以下命令以检查已启用配额的分区:

    $ quotacheck -avug
    
    
  5. 让我们为我们的用户分配一个配额。为此,您需要执行下一个命令,该命令将打开一个编辑器以修改用于分配配额的特定配置文件:

    $ edquota arturo
    
    
  6. 现在,你可以通过在对应/dev/sda3分区的行中将值20480添加到列来修改打开的文件。准备好了就保存文件。现在已为arturo用户分配了磁盘配额。

刚刚发生了什么?

配额应用程序包含两个有用的命令(quotacheckedquota),用于为用户和组在硬盘上设置和检查配额。在我们的示例中,我们配置了系统,以便在特定用户试图在/home分区中使用超过 20MB 时发出警告。

计算机启动时将要挂载的分区的所有信息都可以在/etc/fstab文件中找到,该文件已被修改以激活配额检查。你可以卸载并重新挂载特定的分区,而不是重启计算机。

我们刚刚使用了 20MB 的限制来查看警告消息是如何显示的。显然,系统管理员会根据特定目的选择不同的值,因为每个场景都是不同的。

动手实践 – 安排配额检查

你可以定期检查配额是否已达到存储限制。为此,你可以使用cron工具通过quotacheck命令来实现。我们只需要创建一个文件/etc/cron.daily/quotacheck,其中包含以下行:

quotacheck -avug

多亏了cron,操作系统每天都会检查每个配置用户的配额是否已达到。

磁盘使用分析

我们已经学会了如何为用户分配配额以及如何在硬盘上保留空间。关于这一功能,了解每个分区和目录使用了多少空间是很重要的。有了这个功能,系统管理员可以根据磁盘使用情况决定如何组织分区。

行动时间 – 检查磁盘使用情况

我们将查看硬盘,了解每个分区和目录使用了多少空间。

  1. 转到主菜单,点击磁盘使用分析器菜单选项,它属于系统工具菜单组。

  2. 现在你打开了一个新窗口,它显示了有关硬盘空间和使用情况的图形信息:行动时间 – 检查磁盘使用情况

刚刚发生了什么?

Baobab是 Linux Mint 提供的用于分析磁盘使用的工具名称。它为我们提供了有关文件系统容量以及硬盘空间分布方式的图形信息。对于home文件夹中的每个目录,你可以看到文件数量、百分比空间和大小。此外,还可以选择有关特定文件夹的信息,该文件夹可以通过 Baobab 主工具栏上的文件夹图标进行选择。

关于 Baobab 显示的图形信息,我们可以选择两种类型的图表:树状图环形图。在工具栏下方,有一条简单的线告诉我们文件系统的容量以及有多少空间可用。这是一个简单但非常实用的信息。

创建备份

计算机上存储的一些信息非常重要且有价值,因此我们需要确保其安全。此外,建议进行备份,以便在某些信息丢失或损坏时,我们可以恢复备份,一切应该能正常工作。让我们学习如何在 Linux Mint 中创建备份。

行动时间 – 对特定文件夹进行备份

我们将对一个名为testbackup的文件夹进行备份,该文件夹位于你的home文件夹内,备份到/tmp目录下的一个名为backup的文件夹中。你可以在其中创建testbackup文件夹并添加一些文件。

  1. 点击菜单,然后再次点击所有应用程序选项,并在管理组中选择备份工具

  2. 将启动备份工具应用程序,你可以看到一个带有几个按钮的新窗口。点击备份文件按钮:行动时间 – 对特定文件夹进行备份

  3. 选项选择testbackup文件夹,并从/tmp文件夹中为目标下拉选项选择备份文件夹。准备好后,点击前进按钮:行动时间 – 对特定文件夹进行备份

  4. 接下来的选项允许你排除某些文件夹和目录。我们不会排除任何内容,因此你可以点击前进按钮。

  5. 检查你的源文件夹和目标文件夹。如果一切正常,然后点击应用

  6. 最终,你会看到一条消息,告知你备份操作成功。准备好后,点击关闭按钮。查看备份文件夹以确保你的文件都在那里。

刚才发生了什么?

备份工具是 Linux Mint 中包含的一个应用程序,提供了一种简单有效的方法来创建和恢复文件、文件夹和应用程序的备份。我们已经解释了一个基本操作——如何备份一个文件夹。然而,备份工具还允许你创建单个文件甚至计算机上安装的一些应用程序的备份。

高级选项由备份工具提供,允许我们选择输出格式和执行覆盖、保留权限和时间戳、跟随符号链接或确认文件和文件夹完整性的选项。我们使用了默认选项,但你也可以选择自己的偏好。

如果你访问/tmp/backup文件夹,你可以找到由备份工具创建的文件。这些文件将与testbackup文件夹内的文件完全相同。

除了选择同一硬盘内的文件夹外,你还可以使用不同的设备进行备份,例如 USB 闪存驱动器、外部 USB 硬盘或可通过网络访问的文件夹。

请记住,备份工具是通过 root 用户执行的,因此你可以备份硬盘上的任何目录。此外,在使用此工具之前,你应该进行身份验证。

动手实践 – 创建和恢复备份文件

您可以尝试创建一个tarball(使用tar工具创建)文件并恢复它。作为源,您可以使用几个文件而不是整个目录。备份工具为您提供了通过几次点击实现这一目标的机会。不要忘记在高级选项中的输出下拉选项中选择.tar.gz 文件选项。

恢复备份

一旦您备份了重要文件、文件夹或应用程序,您应该将它们存储在安全的地方。如果出现问题,您可以在硬盘上选定的文件或文件夹中恢复这些备份。尽管每个公司和系统管理员都有特定的备份和恢复策略,但我们应该学会如何执行简单的文件夹恢复。

行动时间 – 恢复备份文件夹

创建备份后,现在是恢复它的时候了。我们将把/tmp/backup文件夹恢复到您home文件夹内的testbackup

  1. 从主菜单访问备份工具

  2. 点击恢复文件按钮。

  3. 选中目录复选框,并从tmp目录中选择备份文件夹。对于目标菜单选项,您应该从home文件夹中选择testbackup。准备好后,点击前进按钮:行动时间 – 恢复备份文件夹

  4. 审查您的选项,确保您将恢复到正确的备份文件夹。

  5. 点击应用,将显示一条新消息,通知您恢复操作。您的文件应该可以在testbackup文件夹中找到。

刚刚发生了什么?

我们在home文件夹内恢复了一个备份。显然,原始备份应该存在于之前创建它的地方。通过这一操作,您可以无问题地恢复您的文件和文件夹。

关于高级选项,在恢复备份时,您只能选择要应用的覆盖类型。一些选项包括从不按大小始终校验和不匹配;其中,默认选择一个选项。

除了恢复目录外,您还可以恢复使用同一工具创建的备份文件。

动手实践 – 为应用程序创建备份

证明如何创建和恢复计算机上安装的一些应用程序的备份会很有趣。您可以使用备份工具提供的备份软件选择和恢复软件选择按钮来实现这一点。

总结

计算机存储因其包含多种设备和文件系统而显得复杂。通常,用于存储的技术很复杂,在决定使用哪种类型的存储设备和文件系统之前,对最终场景进行全面分析至关重要。

在本章中,您学习了处理存储的基本概念。此外,您还知道如何创建和恢复简单的备份。

具体来说,我们涵盖了:

  • 在 Linux Mint 和其他 GNU/Linux 发行版中使用的主要文件系统

  • 如何为用户分配磁盘配额

  • 图形化检查磁盘使用情况

  • 如何创建和进行备份

在下一章节中,你将学习到关于安全性的知识,这是系统管理员更相关的主题之一。

第九章:安全性

安全性无疑是系统管理员最重要的方面之一。在本章中,我们将学习用于保护 Linux Mint 计算机的基本机制和工具。

在本章中,我们将学习以下主题:

  • 运行 SSH 服务器

  • 安装防病毒软件

  • 安装和配置防火墙

  • 使用内核安全模块

  • 构建安全检查清单

运行 SSH 服务器

有时,您需要从您的计算机远程连接到服务器。此外,用户需要访问您的服务器或服务器。远程连接允许您直接从您的计算机在服务器上执行命令。Telnet是用于在计算机之间建立连接的最常用协议之一。然而,Telnet 不是安全协议,因此当我们需要安全连接时,需要其他协议。这就是安全外壳SSH)发挥作用的地方。多亏了 SSH,用户可以从他们的计算机安全地连接到服务器。从技术角度来看,SSH 在服务器和客户端之间创建了一个安全通道。通常,客户端和服务器是不同的机器,但也可以使用同一台机器扮演两个角色。

行动时间 – 安装和配置 SSH 服务器

我们将安装并配置openssh-server软件,将我们的计算机用作 SSH 服务器。关于配置,我们的服务器将拒绝 root 用户的访问,并且它将通过5656端口可访问。

  1. 点击菜单按钮,然后在系统组中再次点击软件管理器按钮。

  2. 软件管理器应用程序的文本输入字段中输入openssh server

  3. 选择openssh-server,然后点击安装按钮。行动时间 – 安装和配置 SSH 服务器

  4. 现在,您的计算机上已安装openssh-server

  5. 通过点击主菜单中的终端按钮启动 MATE 终端。

  6. 我们将以 root 用户身份使用vi编辑器编辑/etc/ssh/sshd_config文件,因此您应该在终端中输入以下命令:

    $ sudo vi /etc/ssh/sshd_config
    
    
  7. 输入i以在vi中进入编辑模式。查找包含PermitRootLogin的行,并将其替换为以下行:

    PermitRootLogin no
    
    
  8. 让我们继续编辑同一文件,查找包含Port的另一行,并将其替换为以下行:

    Port 5656
    
    
  9. 保存/etc/ssh/sshd_config文件;您可以点击Escape键,然后输入:wq

  10. 现在是重启 SSH 服务器的时候了,然后您的服务器将安装、配置并准备好使用。您可以通过执行以下命令来测试这一点:

    $ sudo restart ssh
    
    
  11. 您可以通过尝试连接到它并在终端中输入以下命令来测试您的 SSH 服务器:

    $ ssh localhost –p 5656
    
    
  12. 现在您可以看到一条消息,要求您授权。输入yes和您的密码。现在,您已通过 SSH 协议连接到我们的服务器。

发生了什么?

多亏了 openssh-server 软件,我们可以创建和配置一个 SSH 服务器,允许用户通过他们的计算机连接到远程服务器。Linux Mint 默认不安装上述软件,因此你需要使用软件管理器包管理器应用程序来安装它。

一旦在你的计算机上安装了 openssh-server,用户就可以直接使用 SSH 客户端连接到它。这种类型的客户端在主要的 GNU/Linux 发行版和 Mac OS X 计算机上默认安装。

尽管 openssh-server 包含一个默认配置,允许我们连接到服务器,但建议更改配置以满足我们的需求。这是系统管理员的任务。在我们的例子中,我们不允许通过 root 用户进行连接,并将默认的22端口更改为5656。这些更改为 SSH 连接提供了最低限度的安全性,以防止潜在的攻击者试图使用默认端口通过 SSH 协议连接到服务器。通过我们的配置更改,我们建立了一道第一级防线。另一方面,如果我们允许 root 用户连接到我们的 SSH 服务器,有人可能会破解连接并获得对我们服务器的 root 访问权限,这是不好的。

为了更改 SSH 服务器的配置文件,我们使用了默认安装在 Linux Mint 中的vi编辑器。这是一个模式化编辑器,通过输入:wq,我们可以保存并退出。另一方面,当你输入i时,vi进入插入模式。显然,你也可以使用其他编辑器,如Pluma来编辑配置文件。

最后,我们使用restart命令并传递ssh作为参数来重启 SSH 守护进程。我们将在下一章中更多地讨论守护进程服务。目前,我们只需要知道restart命令用于重启服务。

安装防病毒软件

众所周知,Windows 操作系统需要防病毒软件,因为病毒感染微软操作系统家族的情况非常普遍。尽管在 GNU/Linux 发行版中找到病毒更为困难,但良好的实践是在我们的服务器上安装防病毒软件。Linux 上最受欢迎的防病毒软件之一是Clam-AVwww.clamav.net),因此我们将学习如何在服务器上安装它。

行动时间 - 安装 Clam-AV 防病毒软件

我们将在我们的计算机上安装 Clam-AV 防病毒软件。

  1. 点击菜单按钮,然后在系统组中再次点击软件管理器按钮。

  2. 软件管理器主窗口的输入框中输入clamav

  3. 点击结果列表中的第一个元素。

  4. 现在你可以点击安装按钮,并在需要时输入你的密码。行动时间 - 安装 Clam-AV 防病毒软件

  5. 安装完成后,你可以从命令行使用clamscan应用程序。

  6. 为了测试我们的防病毒软件,我们将打开 MATE 终端并扫描我们的home目录。您只需要输入以下命令:

    $ clamscan
    
    
  7. clamscan的输出应该类似于以下截图:操作时间 – 安装 Clam-AV 防病毒软件

发生了什么?

我们使用了软件管理器应用程序来安装一个应用程序。在这种情况下,我们安装了 Clam-AV 防病毒软件,它包含一个名为clamscan的主要可执行文件。这个命令扫描一个目录并在我们的系统中搜索病毒。扫描完成后,我们会得到一个简单的报告,其中包含有关扫描的文件和目录以及哪些文件被感染的信息。

配置防火墙

防火墙是计算机安全中最重要的组件之一。从技术角度来看,防火墙是一种屏障,设计用来防止未经授权访问计算机中的服务和资源。软件和硬件组件都可以用来构建防火墙。我们只关注软件方面。

防火墙的配置可以非常简单,也可以非常复杂;这取决于我们想要应用的安全级别。显然,配置一个 Web 服务器和一台计算机工作站是不同的。为了在 Linux 中使用和配置防火墙,我们可以使用一个名为iptables的程序,它是一个基于系统管理员定义的规则的包过滤应用程序。Linux 内核使用不同的内核模块来应用规则,并为计算机创建一个防火墙。

尽管iptables是一个非常优秀的应用程序,但对于初学者来说并不容易。该应用程序不使用图形界面,并且需要知道如何从命令行应用规则。然而,Linux Mint 包含了一个提供简单防火墙ufw)前端的 GUI 应用程序,这是一种设计用来轻松构建防火墙的软件。我们将学习如何使用这个有用的工具来配置一个简单的防火墙。

操作时间 – 如何配置一个简单的防火墙

作为一个在 Linux Mint 中构建防火墙的简单示例,我们将配置我们的防火墙以拒绝特定 IP(192.168.1.66)访问端口22。请记住,我们之前配置了这个端口以运行 SSH 服务器。

  1. 转到主菜单并点击属于管理类别的防火墙配置按钮。

  2. 然后将显示一个新窗口;点击解锁按钮并输入您的密码。

  3. 通过在状态中选择开启选项来激活防火墙。

  4. 访问编辑菜单并点击添加规则...按钮。

  5. 点击高级选项卡,并为第一个下拉选项选择拒绝。然后在输入框中输入192.168.1.66,在端口输入框中输入22

  6. 输入框中,输入您的 IP,并在端口处再次输入22。准备好后点击添加按钮:操作时间 – 如何配置一个简单的防火墙

  7. 然后点击 关闭 按钮,您将看到您的新规则已添加到规则列表中:动手实践 – 如何配置简单防火墙

  8. 您的防火墙已配置完成,现在正在运行。

刚刚发生了什么?

Linux Mint 允许我们通过一个名为 Gufw 的应用程序来配置和运行防火墙。这个工具是 ufw(另一个用于配置防火墙的工具,比 iptables 更简单)的简单直观的用户界面。Gufw 有三个主要控件,允许我们启用或禁用防火墙,并帮助控制传入和传出流量。一个简单的列表显示了我们启用的规则,列表下方的两个按钮允许我们添加和删除规则。

请记住,ufw 的默认行为是阻止所有传入流量并允许传出流量。通常,系统管理员倾向于阻止所有内容,然后配置允许连接的应用程序、端口和协议。这种技术被称为 白名单

基本上,您可以选择三种操作,这些操作将应用于您机器的传入和传出流量:允许拒绝拒绝并通知拒绝拒绝并通知 操作之间的区别在于,前者意味着每个数据包都将被丢弃。然而,拒绝并通知 意味着服务器将向客户端发送响应,告知计算机使用防火墙拒绝访问。

我们已经使用高级选项来选择 IP 和端口,但也可以使用 预配置简单 选项卡仅允许或拒绝访问应用程序和协议。

动手实践 – 使用命令行禁用启动时的防火墙

您已经学会了如何使用 Gufw 来配置您的防火墙。除了这个工具,您还可以直接从命令行使用 ufw 应用程序。例如,您可以禁用启动时的防火墙。为此,启动 MATE 终端并输入以下命令:

$ sudo ufw disable

执行前面的命令后,您将收到一条消息,例如以下内容:

Firewall stopped and disabled on system startup

使用内核的安全模块

Linux 内核为系统管理员提供了支持访问控制策略的机制,以控制应用程序在操作系统内部可以执行的操作。目前,安全增强型 Linux (SELinux) 和 应用程序防护 (AppArmor) 是实现这一目的最流行的工具。SELinux 由美国国家安全局 (NSA) 开发,它提供了一组可以应用于不同 GNU/Linux 操作系统的 Linux 内核修改。SELinux 的设计和架构允许系统管理员创建将应用于操作系统上运行的用户和进程的不同策略。与 SELinux 相关,我们找到了 AppArmor,这是一个为 Linux 内核设计的安全模块。得益于这个模块,可以通过不同的配置文件建立一组策略来限制每个程序可以执行的操作。如果程序包含安全漏洞,AppArmor 可以检测到它,而不会影响其他软件。换句话说,AppArmor 限制了程序的能力,以应用预定义的安全配置文件。

AppArmor 和 SELinux 使用 Linux 安全模块 (LSM),这是一个支持 Linux 内核不同计算机安全模型的框架。基本上,LSM 提供了实现基于不同策略的强制访问控制的工具。

Linux Mint 包含 SELinux 和 AppArmor,但它们默认未安装。AppArmor 易于配置、部署和学习,因此我们将了解如何在服务器上安装它。

操作时间 - 安装 AppArmor

AppArmor 的学习曲线较陡峭,因此我们只学习如何安装它。

  1. 启动软件管理器

  2. 在列表中查找apparmor,选中它并点击安装按钮。操作时间 - 安装 AppArmor

  3. 安装 AppArmor 后,您可以在 MATE 终端中执行以下命令来检查其状态:

    $ sudo apparmor_status 
    
    
  4. 我们将看到类似于以下截图的内容:操作时间 - 安装 AppArmor

刚刚发生了什么?

我们只是从软件管理器应用程序安装了 AppArmor。Linux Mint 中的软件包提供了不同的可执行命令,如 apparmor_statusapparmor_parser。第一个命令为我们提供了有关已定义和启用的配置文件的信息,而 apparmor_parser 用于将配置文件加载到 Linux 内核中。

如果您有兴趣了解更多关于如何配置 AppArmor 的信息,可以查看官方文档:wiki.apparmor.net/index.php/Documentation

安全管理您的密码

系统管理员每天都要处理密码。连接服务器、访问资源和管理用户等操作都需要使用密码。将密码安全地存储在一个地方非常重要,这对于系统的安全性至关重要。如果我们能够使用一个工具来存储、读取和更新密码,日常工作将会变得更加容易。最受欢迎的用于处理密码相关任务的软件之一是KeePasskeepass.info/),这是一个设计用来安全管理密码的工具。基本上,KeePass 只使用一个用户应该记住的主密码。这个主密码锁定了一个存储其他密码的数据库。从技术角度来看,KeePass 使用了两种最安全的加密算法:AESTwofish

行动时间 – 安装和使用 KeePass

我们将学习如何安装和使用 KeePass 来存储一些密码。安装 KeePass 后,我们将为名为lucas的用户创建一个新密码,该用户可以访问一个开发服务器。

  1. 前往软件管理器应用程序,搜索keepass2,选择搜索结果中的第一个项目,然后点击安装按钮。

  2. 一旦KeePass2安装完成,您可以通过访问主菜单并点击属于附件组的KeePass2菜单选项来启动它。

  3. KeePass2主窗口的工具栏中选择文件选项,然后点击新建...菜单选项。

  4. 然后会显示一个要求输入主密码的新窗口。我们将在主密码重复密码输入框中输入相同的密码。行动时间 – 安装和使用 KeePass

  5. 准备好后点击确定,将显示一个新的对话窗口。现在,我们需要为存储密码的数据库选择一个名称。选择一个名称和数据库描述,然后点击确定按钮:行动时间 – 安装和使用 KeePass

  6. 您的新数据库已经创建,KeePass显示一个树形小部件,您可以在数据库名称下找到不同的类别。

  7. 现在,转到编辑菜单并点击添加条目...菜单选项。您会看到一个新的对话窗口。输入标题和用户名,密码将默认生成。行动时间 – 安装和使用 KeePass

  8. 点击确定按钮,将为您的密码创建一个新条目。

发生了什么?

KeePass 是一个完整的密码管理工具。您可以使用并创建多个类别来组织您的密码。默认情况下,创建新条目时会生成密码。可以更改配置并决定默认情况下密码的生成方式。您肯定已经意识到密码是被隐藏的,您只能看到星号。为了更改这一点,请点击密码输入框旁边的按钮。

每次访问 KeePass 时,都需要输入主密码。但是,当你点击一个条目时,你会看到包括之前输入的密码在内的信息。

KeePass 提供的其他有用功能包括生成随机密码的能力,尽管你不希望使用此工具来存储密码。

构建安全检查清单

当系统管理员在配置安全服务器时,使用简单的检查清单来检查一些应该检查的问题是一个非常好的实践。我们将根据本章中学到的概念构建一个这样的检查清单。具体来说,我们的检查清单将包含以下问题:

  • 仅安装和启用用户所需的服务。

  • 根据特定策略构建和运行防火墙。

  • 禁用通过 SSH 的 root 访问并更改此连接服务的默认端口。

  • 安装并配置防病毒软件,Clam-AV 是一个不错的选择。

  • 保持你的系统更新。始终为你的操作系统和应用程序安装安全更新。

  • 使用 KeePass 或其他密码管理器安全地存储、读取和写入密码。

  • 选择包含不同类型字符的安全密码。

  • 加密你的敏感数据。GNU 隐私卫士GPG)可以帮助你做到这一点。此外,Linux Mint 允许你在安装过程中加密你的home文件夹。

  • 如果你的计算机需要额外的安全保障,安装和配置网络协议分析器如Wireshark是一个好主意。此外,你可以安装网络入侵检测工具如Snort

总结

在本章中,我们讨论了安全问题,这是系统管理员最关心的问题之一。我们发现了一些工具,如 KeePass、Clam-AV、AppArmor 和Gufw

具体来说,我们涵盖了以下主题:

  • 运行 SSH 服务器

  • 安装 Clam-AV 防病毒软件

  • 安装和配置使用 Gufw 的简单防火墙

  • 探索 AppArmor 和 SELinux

  • 安装和使用 KeePass 管理密码

  • 制定安全检查清单

尽管我们已经学会了一些基本的工具来保护我们的计算机,但我们还可以使用其他工具来达到同样的目的。例如,使用工具来检测网络入侵是一个好主意。在这种类型的软件中,Snort(www.snort.org)是最受欢迎的之一。另一方面,像 Wireshark(www.wireshark.org)这样的工具可以帮助你分析网络流量,这对于检测潜在的安全风险非常有用。在了解了关于安全的基本概念和工具之后,你已经准备好学习如何监控你的系统,这将在下一章中解释。

第十章:监控您的系统

一旦计算机配置完成并且不同的服务正在运行,就该确保一切正常,并且事情继续按常规进行。本章将介绍如何监控负责服务和运行进程的系统,以及计算机资源(如内存、CPU 和网络)的使用情况。

在本章中,我们将涵盖以下主题:

  • 什么是进程和服务

  • 启动和停止服务

  • 激活服务

  • 列出正在运行的进程

  • 显示 CPU、内存和网络使用情况

进程和服务

新手 Linux 用户总是询问关于 GNU/Linux 发行版中广泛使用的两个概念:进程和服务。对于系统管理员来说,这些非常重要,因为它们描述了在我们操作系统上运行的应用程序。显然,当我们谈论如何监督计算机系统时,我们需要关注这一点。进程和服务的数量直接影响服务器的性能。系统管理员应该控制哪些应用程序正在运行,以及它们如何影响操作系统和其它资源和设备。

基本上,进程是正在执行的计算机程序或应用程序,包括其当前活动,它影响资源,如 CPU、打开的文件和内存。操作系统需要一组关于每个执行进程的信息。这种信息被称为进程描述符,包括状态、父进程、打开文件列表、内存地址和一个称为 PID 的唯一识别号码。

另一方面,我们发现与进程相关的服务。服务是无需操作系统用户直接干预即可运行的计算机程序。使用“后台”一词来指代这种执行方式非常常见。请记住,在后台运行的应用程序不会向终端发送任何输出,尽管通常使用文件来实现这一目的。在 UNIX 和基于 Linux 的操作系统中,通常使用守护进程来指代服务。我们可以认为这两个概念是等价的。Linux 内核在启动时启动一些守护进程,因此系统管理员可以对此做出决策。一个简单的约定是使用后缀“d”来识别哪些程序作为守护进程运行。例如,sshd是运行 SSH 服务器的守护进程的名称。

通常,操作系统包含管理进程和服务的工具。Linux Mint 也不例外,我们稍后将了解哪些工具可用于通过服务和进程管理运行的应用程序。

除了进程和服务,系统管理员还需要控制和管理资源,如 CPU、内存、网络和文件系统。所有这些都是系统监控的一部分,因为它们影响性能。在本章中,我们将学习有关如何监控我们的系统的基本知识,同时关注提到的资源,包括进程和服务。

启动和停止服务

系统管理员需要知道如何启动和停止特定服务。作为他们日常工作的一部分,系统管理员检查正在运行的服务并启动新的服务。有时,服务应该被停止;例如,当不再需要某个服务时,我们可以停止它。此外,可能需要重新启动。所有这些任务都可以通过一个名为 initctl 的应用程序来完成。让我们看看如何使用它。

行动时间 – 停止和启动 SSH 守护进程

我们将学习如何停止和启动我们的 SSH 服务。请记住,我们在 第九章《安全》中学习了如何安装 SSH。安装此应用程序后,我们的 SSH 服务将默认运行,因此我们将开始学习如何停止它。

  1. 像往常一样启动 MATE 终端。

  2. 在 shell 中输入以下命令:

    $ sudo initctl stop ssh
    
    
  3. 我们的 SSH 守护进程已停止,您将收到一条输出消息,例如以下内容:

    ssh stop/waiting
    
    
  4. 现在,我们将重新启动我们的 SSH 守护进程。只需输入以下命令:

    $ sudo initctl start ssh
    
    
  5. 一旦 SSH 服务开始运行,您将看到一条消息,例如以下内容:

    ssh start/running, process 2436
    
    
  6. 您可以通过执行以下命令来了解 SSH 服务的当前状态:

    $ sudo initctl status ssh
    
    

刚刚发生了什么?

Linux Mint 包含一个名为 initctl 的工具,它为我们提供了对 init 守护进程的控制。这个守护进程是一个特殊的进程,在 Linux 内核启动过程中启动,并且它是其余服务和进程的父进程。通常,init 的 PID 为 1,而 Linux Mint 实现了一个特定的事件驱动型守护进程,称为 Upstart

initctl 应用程序接受许多作为参数的命令;其中两个是您之前学过的 startstop。作为第三个参数,我们可以传递将受操作影响的服务的名称,因此 stop ssh 分别表示操作和服务名称。

在我们的示例中,我们使用 list 操作检查了 SSH 服务的当前状态。此命令返回一个简单的消息,告诉我们服务是启动还是关闭。此外,还可以使用 restart 操作,它按顺序停止和启动特定的服务器。

重要的是要知道,我们需要以 root 用户身份运行 initctl,否则我们无法启动、停止或重新启动服务。这是因为只有 root 用户才有权访问这些类型的操作。如果任何用户都可以这样做,那就没有意义了,因为服务对系统的安全和完整性至关重要。

尝试一下 – 检查所有服务的当前状态

有时系统管理员需要了解操作系统中所有运行和停止的服务的当前状态。为了做到这一点,我们可以使用initctl工具传递一个名为list的参数。命令如下:

$ sudo initctl list

我们将得到如下截图所示的响应:

动手实践 - 检查所有服务当前状态

激活服务

之前我们学习了如何通过命令行启动和停止服务。然而,Linux Mint 还包括一个简单的 GUI 应用程序,允许我们通过简单的按钮点击来选择我们想要在系统启动时激活或停用的服务。让我们看看如何通过服务设置应用程序激活服务。

行动时间 - 激活 Samba

为了与 Windows 系统共享文件和目录,我们可以使用Samba协议。假设我们在 Linux Mint 上安装了一组工具和一个守护进程来完成这项工作。我们将学习如何激活 Samba 服务。

  1. 点击菜单按钮,然后再次点击所有应用程序按钮。

  2. 点击管理组中的服务菜单选项。

  3. 属于服务设置应用程序的新窗口显示。

  4. 查找samba选项并点击它:行动时间 - 激活 Samba

  5. 选择samba选项后,您必须输入密码。然后点击关闭按钮。下次启动系统时,Samba 服务将自动启动。

刚刚发生了什么?

通常,将许多服务配置为在启动时自动启动非常有用。通过应用此配置,系统管理员可以节省时间,并确保服务将自动启动。

尽管可以通过命令行配置服务,但 Linux Mint 提供了一个简单直观的工具来完成这项工作。正如你所学到的,这个工具是服务设置,你可以轻松地从主菜单访问它。

列出运行的进程

系统管理员应该监督的最重要的事情之一是每台机器操作系统上当前运行的进程列表。请记住,每个运行的进程都在使用某些资源,如 CPU、内存和文件。这意味着控制进程很重要,因为它们直接影响系统的性能和安全性。

Linux Mint 为我们提供了一个特定的工具来监控进程、CPU、内存、网络和我们的机器文件系统。我们将学习如何使用这个工具来监控我们的系统,并了解如何列出运行的进程。

行动时间 - 列出我们机器上运行的进程

之前我们谈到了一个监控我们系统的工具。嗯,它的名字是系统监视器,默认安装在 Linux Mint 中。让我们学习如何访问这个工具以及如何列出运行的进程。

  1. 点击菜单按钮,然后再次点击系统监视器按钮:行动时间 – 列出我们机器上运行的进程

  2. 随后会显示一个新窗口。点击进程标签。

  3. 现在,您可以看到正在运行的进程以及有关它们的其他信息,例如 CPU 和内存使用情况:行动时间 – 列出我们机器上运行的进程

刚刚发生了什么?

多亏了系统监视器工具,您可以看到哪些进程正在运行,并了解它们的当前状态以及每个进程的 CPU 和内存使用情况。除了这类信息外,系统监视器还显示基于 CPU 使用率的计算机平均负载。如您所见,系统监视器显示了过去 1 分钟、5 分钟和 15 分钟的平均负载信息。这些值帮助系统管理员控制机器的当前状态,并可以应用阈值来决定何时应采取某些操作。请记住,我们的目标是帮助我们的机器运行进程而不使系统崩溃。

系统监视器为我们提供了菜单选项,以显示有关运行进程的不同视图。具体来说,我们可以显示所有进程(默认视图)、活动进程和我的进程(默认情况下为 root 用户)。此外,还可以更改显示信息的顺序,因此您可以显示例如按内存消耗排序的所有进程。

编辑菜单为我们提供了对运行进程应用不同操作的访问权限。您可以停止、杀死和更改每个进程的优先级。为了执行这些操作,首先需要从列表中选择一个特定进程。然后,您可以通过访问上述编辑菜单中的选项来执行每个操作。

系统监视器提供的另一个有趣功能是能够找出每个进程打开的文件。您只需选择一个进程,然后点击编辑菜单中的打开文件菜单选项。请记住,当窗口打开时,此信息可能会自动更改,因为每个进程在执行过程中都可能打开和关闭文件。

显示 CPU、内存和网络使用情况

除了进程和服务之外,照顾我们机器的资源也非常重要,因为应用程序需要使用这些资源。CPU、内存和网络是我们计算机使用的最重要的资源,因此系统管理员应始终关注它们。为了使生活更轻松,Linux Mint 通过系统监视器应用程序提供有关这些资源实时使用情况的信息。我们将学习如何显示这些资源的当前使用情况。

行动时间 – 实时显示资源信息

让我们了解如何获取实时使用的主要计算机资源的基本信息。

  1. 点击菜单按钮,然后再次点击系统监视器按钮。

  2. 点击资源选项卡,您可以访问有关 CPU、内存和网络使用情况的所有信息,如下所示:实时显示资源信息

发生了什么?

当您点击系统监视器资源选项卡时,会显示一组图表。第一个图表提供按时间划分的 CPU 使用百分比信息。此外,图表下方显示当前的 CPU 百分比。

关于内存,我们可以找到与主内存和交换内存使用相关的信息。显示了与总内存相关的百分比值。图表中的紫色线代表主内存,绿色线用于交换内存。两条线都在图表内显示,以便您可以轻松比较两者。

网络信息分为接收和发送的数据包;使用不同的颜色来表示它们。您可以看到您的计算机发送和接收的总数据包的字节数。此外,您还可以获取每秒发送或接收的数据包数量。

正如您所意识到的,所有资源信息都是基于历史记录显示的。这意味着每个图表都是基于时间的,并且在某种意义上是实时的,因为信息是实时显示的。

尝试一下 - 获取文件系统使用情况的信息

除了内存、进程、CPU 和网络使用情况外,您还可以获取有关文件系统使用情况的信息。为了执行此操作,您只需点击文件系统选项卡,系统监视器会为每个文件系统显示有关挂载目录、总空间、可用空间和已用空间百分比的信息。

总结

在本章中,我们学习了系统监控的基础知识,这对于系统管理员来说是一个重要的领域。我们介绍了进程和服务,然后学习了如何管理服务以及如何监控计算机中最有价值的资源:内存、CPU、硬盘和网络。

具体来说,我们涵盖了:

  • 基本概念,如进程和服务

  • 如何处理服务

  • 查找正在运行的进程并能够停止它们

  • 发现图表显示 CPU、内存和网络的使用情况如何影响我们的计算机

重要的是要记住,本章只是系统监控的基本介绍。这是一个广泛的领域,良好的理解和实践需要经验,并且取决于我们想要监控的系统的复杂性。

此时,我们知道如何配置和监控我们的计算机;在下一章中,我们将讨论在 Linux Mint 服务器或工作站运行时可能发生的常见问题的解决方法。

第十一章:故障排除

系统管理员迟早会面临影响计算机的问题。有时这些问题与硬件有关,有时与软件有关。了解我们可以使用哪些工具来识别问题并尝试解决它们非常重要。在本章中,我们将学习可以帮助我们确定网络、硬件、内核、进程和文件系统发生了什么的基本命令和工具。

在本章中,我们将学习以下主题:

  • 硬件

  • 检查日志文件

  • 内核

  • 网络

  • 进程和文件系统

硬件

很多时候用户会发现与硬件相关的小问题,系统管理员可以迅速解决。然而,可能会出现难以解决或难以检测的问题。此外,许多设备或资源可能会引发不止一个问题。

内存和 CPU 是我们计算机非常重要的硬件组件。我们需要照顾它们,因为高负载可能会阻塞操作系统,因此我们的计算机会停止工作。此外,PCI 和 USB 设备可能会停止正常工作,因此当我们检测到硬件问题时应该检查它们。

操作时间 - 检查内存、CPU、USB 和 PCI 设备

在 Linux Mint 中,我们可以找到可以帮助我们了解硬件发生了什么的工具和命令。让我们发现一些检查内存、CPU、USB 和 PCI 设备的命令。

  1. 我们的首要目标将是获取有关我们计算机上安装的所有 USB 设备的信息。像往常一样打开 MATE 终端,并输入以下命令:

    $ lsusb
    
    
  2. 现在轮到 PCI 设备了,因此我们将执行下一个命令:

    $ lspci
    
    
  3. 前一个命令的输出将向您显示类似于以下屏幕截图的内容:操作时间 - 检查内存、CPU、USB 和 PCI 设备

  4. 通过执行以下命令,可以获得我们硬件的完整详细列表:

    $ sudo lshw
    
    
  5. 为了获取内存信息,我们将执行以下命令:

    $ cat /etc/meminfo
    
    
  6. 作为输出,我们将得到类似于以下内容的几行:

    MemTotal:      824188 kB
    MemFree:       285016 kB
    Buffers:        64228 kB
    
    
  7. 关于我们的 CPU,我们可以执行以下命令以获取有关我们机器上安装的处理器的信息:

    $ cat /etc/cpuinfo
    
    

刚刚发生了什么?

为了获取有关我们 PCI 和 USB 设备的完整列表和大量信息,我们可以分别执行lspcilusb命令。这些命令帮助我们了解设备是否被我们的计算机识别。请记住,有些设备可能无法被操作系统检测到,在这种情况下我们需要解决问题。

另一方面,/proc/cpu是一个包含计算机上安装的 CPU 信息的文件。cat命令已被用于显示所提及文件的内容。关于/proc/cpu文件,我们发现/proc/meminfo文件,其中包含我们计算机上使用的内存数据。所提及文件提供的一些信息包括总内存大小以及可用内存量。

lshw命令意味着“列出硬件”,它向我们展示了计算机上安装的所有硬件的详细列表。不要忘记以 root 用户身份执行lshw命令。

检查日志文件

Linux Mint 使用一组文件来记录操作系统中发生的不同活动。这类信息包括有关资源(如文件或网络)如何使用的数据。所有这些文件都位于/var/log/目录中。只有 root 用户可以更改这些文件,但其他用户可以阅读。最重要的日志文件之一是/var/log/syslog,这是一个通用日志,不同的应用程序在其中写入有关其活动的数据。除了这个通用日志文件,我们还可以找到许多其他文件,如Xorg.0.logdmesgkern.logdpkg.log。通常,特定应用程序如 MySQL 和 Apache,会在/var/log/目录中使用自己的日志文件。检查提到的日志目录以了解计算机上发生的情况是一个好习惯。

行动时间 – 列出 syslog 文件的最后五行

我们将使用tail命令检查我们的syslog文件的最后五行。

  1. 像往常一样打开 MATE 终端。

  2. 执行以下命令:

    $ tail -5 /var/log/syslog
    
    
  3. 作为输出,你将得到一些行,告诉你关于保存在syslog文件中的最后操作的信息。

刚刚发生了什么?

我们使用了一个名为tail的命令来读取我们syslog文件的最后几行。这个命令以相反的顺序读取文件,并且可以接收一个数字作为参数。这个数字用于显示文件的特定行数。显然,你可以使用你喜欢的编辑器来阅读syslog文件,但使用tail更容易,因为这个命令的输出直接发送到你的终端。

内核

Linux 内核是我们 Linux Mint 操作系统的最重要组件,因此我们需要照顾它,并检查它是否正常工作。Linux 内核使用模块,这些是实现和扩展内核功能的组件,可以在不重启的情况下按需加载或卸载到内核中。

模块的使用有很多优点;其中之一是我们可以通过只加载所需的模块来节省内存。另一个明显的优点是可以在不重启计算机的情况下动态加载模块。这节省了大量时间,而且我们不需要停止服务。由于模块的重要性,系统管理员应该检查内核和模块状态。我们可以做到这一点,多亏了我们将要学习的命令。

行动时间 – 使用 lsmod、modprobe 和 dmesg 命令

系统管理员可以使用一些命令来获取有关内核的信息,其中一些命令是lsmodmodprobedmesg。让我们探索如何使用这些命令。

  1. 启动 MATE 终端应用程序。

  2. 执行以下命令:

    $ lsmod
    
    
  3. 前一个命令的输出将显示有关已加载内核模块的信息。

  4. 我们将执行以下命令以获取内核中可以加载的所有模块的列表:

    $ modprobe -l
    
    
  5. 然后是执行dmesg命令的时候了,这将启动大量消息,因此我们将使用它来控制输出。在终端中输入以下命令:

    $ dmesg | more
    
    

刚刚发生了什么?

为了了解 Linux 内核加载的每个模块的状态,我们可以执行lsmod命令。从技术角度来看,这个命令只是格式化了/proc/modules文件的内容。

系统管理员需要知道如何在 Linux 内核中加载和卸载模块。modprobe命令允许我们执行这些操作。它接收作为参数的模块名称,该模块将被加载或卸载。通过传递-l参数,我们可以找出哪些模块可供加载。

最后,dmesg命令对于获取与内核操作相关的信息非常有用。例如,如果我们将 USB 设备插入计算机,内核将创建一个日志消息,可以使用dmesg命令读取。通过使用more命令,您可以更轻松地阅读行。当然,您已经意识到我们使用了管道将dmesg的输出发送到more的输入。

网络

如今,网络是计算机使用的最有价值的资源之一。很难想象一个没有互联网或局域网连接的公司。有时系统管理员需要处理与网络相关的问题,因此了解可以使用哪些工具来检测和解决常见问题非常有趣。

当然,您一定听说过ping,这是一个向计算机和设备(如打印机)发送信息以获取响应并确保它们正常工作的命令。这个命令对于检查网络连接非常有用,如果ping没有得到响应,则无法建立连接,并且设备或计算机在网络通信方面存在故障。与ping相关,我们找到了route,这是一个显示我们计算机 IP 路由表的命令。此外,route允许我们更改该表。无法在我们路由表之外建立连接,因此当连接失败时检查它很重要。

另一个获取有关我们网络接口信息的实用命令是ifconfig。例如,使用ifconfig我们可以找出我们的服务器每个网络接口使用的 IP。此外,ifconfig允许我们通过命令行配置网络接口。

Linux Mint 还包括netstat,这是一个提供有关网络连接、路由表、接口统计、伪装连接和多播成员信息的命令。我们将在后面了解更多关于netstat命令的信息。

行动时间 – 检查谁在监听哪个端口

我们将学习如何使用netstat命令来找出哪些应用程序正在监听哪些端口。

  1. 像往常一样打开 MATE 终端。

  2. 输入并执行以下命令:

    $ netstat -tln
    
    

刚刚发生了什么?

尽管执行 netstat 只是为了找出哪些程序正在监听哪些端口,但这个命令也可以用来获取有关网络连接和使用的更多信息。如果你不带任何参数执行 netstat,你将获得关于计算机上所有打开的套接字的信息。基本上,netstat 可以用来检查和监控计算机上的所有网络活动。你可以通过 maninfo 命令获取更多关于 netstat 命令的信息。

进程和文件系统

进程和文件系统会导致许多计算机问题。请记住,进程是由驻留在文件系统中的程序创建的,因此它们之间有着密切的联系。如果计算机出现问题,查看正在运行的进程以及与这些进程相关的文件系统的状态是一个好主意。

fuser 命令非常有用,因为它提供了一个列表,显示了哪些文件被用于哪些进程。基本上,我们只需要通过传递特定进程的名称作为参数来执行这个命令。

Linux Mint 和其他 GNU/Linux 发行版包含 strace,这是一个可以用来发现特定进程使用的系统调用和库的工具。你可以输入 strace 后跟你想要跟踪的命令或应用程序。

通常,系统管理员使用 top 命令,该命令提供有关运行进程的完整信息,包括有关 CPU 和内存消耗的数据。另一个处理进程的有用工具是 ps。我们将学习如何使用该命令查找特定进程。

当系统管理员需要快速查看特定计算机上附着的文件系统时,他们使用 df 命令,该命令提供有关文件系统磁盘空间使用情况的信息。通过传递 -h 参数,我们将获得一个列表,其中包括大小、可用和已用空间、使用百分比以及每个文件系统挂载的位置。许多问题发生在文件系统没有空间或未挂载时,因此使用 df 来检测这类问题是一个好主意。

行动时间 – 查找特定进程

你将学习如何使用 ps 命令来查找计算机上运行的特定进程的信息。在我们的例子中,我们将查找 SSH 服务器守护进程进程。

  1. 启动 MATE 终端。

  2. 在你的 shell 中输入以下命令:

    $ ps -ef | fgrep -i sshd
    
    
  3. 执行上一条命令后,我们将得到以下响应:

    root       768     1  0       09:06    ?            00:00:00  /usr/sbin/sshd -D
    arturo   16017 10434  0 16:07 pts/3    00:00:00   fgrep -i sshd
    
    

发生了什么?

正如你所观察到的,我们通过管道连接符将 psfgrep 命令一起使用。fgrep 命令寻找特定的模式,在我们的例子中,sshd 作为那个模式。ef 参数表示我们正在查看所有运行的进程,使用 ps 命令的默认值格式化输出。使用管道,我们可以将 ps 命令的输出重定向到 fgrep

你可能会好奇,如果我们只有一个sshd进程在运行,为什么会有两行输出。答案很容易解释:sshd字符串是管道命令fgrep的另一个名称,因此它的输出也会显示出来。

ps的每一行输出为我们提供了关于进程所有者、运行进程的路径、PID(进程 ID)、关联的终端以及启动时间的信息。请记住,我们为sshd进程得到一个问号,因为它是一个不与任何终端关联的守护进程。

如果你需要终止一个进程或获取更多关于它的信息,你可以使用 Linux Mint 内置的系统监视器工具。关于这个工具的更多信息可以在第十章,监控中找到。

总结

在本章中,你已经学习了哪些工具和命令可以帮助系统管理员检测和解决与硬件、网络、内核、文件系统和进程相关的常见问题。尽管每个问题都是独特的,但本章中描述的工具对于检查不同的资源和设备是否正常工作非常有用。

具体来说,我们涵盖了:

  • 检查硬件组件,如内存、CPU、USB 和 PCI 设备

  • 检查日志文件

  • 学习如何列出内核中加载的模块

  • 检查网络连接和找出哪些进程在哪些端口上监听的有用工具

  • 处理运行中的进程

如果你需要寻找特定问题的帮助,以下资源可能非常有用:

至此,你已经学习了 Linux Mint 系统管理的基础知识。在本书中,我们解释了如何处理用户账户,如何安装和配置软件,网络和安全的基础知识,如何创建和恢复备份,以及最后一章专门介绍了系统监控。最后,我们完成了学习工具和命令的过程,这些可以帮助我们面对日常的常见问题。

标签:系统管理,Linux,用户,命令,使用,Mint,我们
From: https://www.cnblogs.com/apachecn/p/18196630

相关文章

  • Linux-安全实战秘籍-全-
    Linux安全实战秘籍(全)原文:zh.annas-archive.org/md5/9B7E99EE96EAD6CC77971D4699E9954A译者:飞龙协议:CCBY-NC-SA4.0前言在设置Linux系统时,安全性应该是所有阶段的重要组成部分。对Linux基础知识的良好了解对于在机器上实施良好的安全策略至关重要。Linux作为发行的......
  • Linux-Shell-编程训练营-全-
    LinuxShell编程训练营(全)原文:zh.annas-archive.org/md5/65C572CE82539328A9B0D1458096FD51译者:飞龙协议:CCBY-NC-SA4.0前言在LinuxShellScriptingBootcamp中,您将首先学习脚本创建的基础知识。您将学习如何验证参数,以及如何检查文件的存在。接着,您将熟悉Linux系统......
  • Linux-基础知识-全-
    Linux基础知识(全)原文:zh.annas-archive.org/md5/29980B7659BC4BE41209BC2F2B7B6D02译者:飞龙协议:CCBY-NC-SA4.0前言在这本书中,目标是建立一个扎实的基础,学习Linux命令行的所有基本要素,让你入门。它的设计强调只学习实际的核心技能和基本的Linux知识,这在开始学习这个美......
  • Linux-系统编程实用手册-二-
    Linux系统编程实用手册(二)原文:zh.annas-archive.org/md5/9713B9F84CB12A4F8624F3E68B0D4320译者:飞龙协议:CCBY-NC-SA4.0第十八章:高级文件I/O在附录A,文件I/O基础中,我们介绍了应用程序开发人员如何利用可用的glibc库API以及执行文件I/O(打开、读取、写入和关闭)的典......
  • openGauss Linux下配置数据源
    Linux下配置数据源将openGauss提供的ODBCDRIVER(psqlodbcw.so)配置到数据源中便可使用。配置数据源需要配置“odbc.ini”和“odbcinst.ini”两个文件(在编译安装unixODBC过程中生成且默认放在“/usr/local/etc”目录下),并在服务器端进行配置。操作步骤获取unixODBC源码包。获取......
  • ArchLinux-环境配置操作手册-全-
    ArchLinux环境配置操作手册(全)原文:zh.annas-archive.org/md5/537398CD561E23B9C0417DF43FA5C99F译者:飞龙协议:CCBY-NC-SA4.0前言ArchLinux是一种独立开发的通用GNU/Linux发行版,针对i686/x86-64系统进行了优化。该发行版足够灵活,适合任何角色/需求。它的设计侧重于简......
  • linux常用操作
    1.vi/vim查找字符串命令模式下,输入:/字符串比如搜索user,输入/user按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串查看下一个匹配,按下n(小写n)跳转到上一个匹配,按下N(大写N)搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?命令模式下,输入:nohlse......
  • util-linux升级为最新版本v2.40(修复CVE-2024-28085)
    下载util-linux最新源码代码仓库下载util-linux-2.40.1.tar.gz解压tar-zxvfutil-linux-2.40.1.tar.gzcdutil-linux-2.40.1执行autogen.shsudo./autogen.sh配置sudo./configure如果提示configure:error:liblastlog2selected,butrequiredsqlite3libraryn......
  • Linux系统 输入vim 提示command not found
    让我想起了我面试的时候,面试官说你了解Linux系统吗?我说我不......他说好的,请问你平时怎么编辑文件呢。我说vim,进入编辑模式之后按照文档里面......他说如果没有vim呢?我说那就用自带的吧?他说自带的叫什么呢?我:......他:......他突然说:你平时抽烟吗?我:......whatcanisay......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线动态填充 word 文件
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。在实际的Word文档开发中,经常需要自动填充数据到Word模板中,以生成动态的Word文档。例如,我们可以根据数据库表中已保存的个人信息,设计好一个简历模板docx文件,......