《UNIX/Linux 系统管理技术手册(第四版)》——第1章 从何处入手 1.1 系统管理员的基本任务

简介:

本节书摘来自异步社区《UNIX/Linux 系统管理技术手册(第四版)》一书中的第1章,第1.1节,作者:【美】Evi Nemeth , Garth Snyder , Trent R.Hein , Ben Whaley著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 从何处入手

UNIX/Linux 系统管理技术手册(第四版)
screenshot

现如今,有关UNIX和Linux的知识太多太多,由手册、博客、期刊、图书以及其他参考资料构成了浩如烟海的知识库,因此,我们在策划本书内容的时候,就从上述的知识库中遴选出沧海一粟,力求专门满足系统管理员的需求。

首先,本书是一本入门培训指南。书中探讨了主要的管理性系统,先区分它们彼此间的不同之处,然后又阐述它们如何协同工作。在很多情况下,同一概念有若干种不同的实现,系统管理员必须要在其中做出自己的选择,我们则介绍每种实现的优缺点。

其次,本书是一本快速参考手册。书中总结了很多知识,在各种常见的UNIX和Linux系统上,如果系统管理员要履行日常职责,就需要掌握它们。例如,ps命令,它能够给出正在运行的进程的状态。在Linux系统上,这条命令支持80多个命令行参数。但只要用极少的命令行参数组合,就能满足系统管理员99%的需求;具体请参见本书5.7节的内容。

最后,本书集中介绍对企业级服务器和网络的系统管理。换言之,就是对重大系统的管理。配置一个单机桌面系统很简单;但要保持一个虚拟化网络平稳运行,就会困难得多,因为要面临负载高峰、硬盘故障和恶意攻击等问题。我们介绍了技术和经验方法,它们能帮助网络从灾难中恢复过来。我们还帮助读者选择解决方案,方案会随着系统规模、复杂度以及异构性的增大而扩展。

我们不是说要绝对客观地实现这些目标,但是我们认为,透过字里行间的意思,我们已经相当清楚地讲出了我们自己的偏好。在系统管理领域里,存在这样一个有趣的现象:“该由什么构成最合适的策略和步骤?”对于这一问题,理性的人们可能会有相当不同的观点。我们把我们的主观意见作为原始数据提供给读者。对于我们的建议,读者必须自己决定能接受多少,并在多大程度上用于自己的环境。

1.1 系统管理员的基本任务

UNIX/Linux 系统管理技术手册(第四版)
在维基百科上,对“系统管理员”一词的解释中,有一段很不错的讨论,探讨了通常认为的系统管理工作应该包括的任务。对于系统管理和软件开发之间的界限,这个名词解释网页现在划分得很清楚,但是根据我们的经验,在编写脚本程序上,专业的系统管理员花了很多自己的时间。读者可参考第2章来了解更多有关脚本编程的知识。虽说这并不会让系统管理员本身变成开发人员,但确实意味着系统管理员同样需要具备分析和结构设计的能力。

下面各小节简要介绍了要求系统管理员履行的一些主要任务。这些职责未必是由一个人来执行的,在许多地方,这项工作会分配给几个人。不过,确实至少要有一个人懂得全部工作,并确保每项任务都能正确完成。

1.1.1 账号管理
系统管理员负责为新用户增设账号,将不再活动的用户账号删除,还要处理在账号存在期间所有与该账号有关的事务(例如,忘记口令)。增删用户的处理过程可以自动进行,但在增设新用户之前,仍然必须做出某些管理上的决定(把用户的主目录放在什么位置、在哪些机器上创建账号等)。参考第7章了解有关添加新用户的更多知识。

当某个用户不应该再访问系统时,必须禁用该用户的账号。该账号拥有的所有文件必须在备份后予以清除,以使系统不会随着时间的增长而积累不想要的信息。

1.1.2 增删硬件
购买了新硬件或把硬件从一台机器移到另外一台机器上时,必须配置系统,使之识别并使用该硬件。硬件支持的任务可能很简单,例如添加打印机,也可能是更复杂的任务,例如添加磁盘阵列。参考第8章、第13章和第26章了解有关这些专题的更多知识。

现如今,虚拟化技术已经运用到企业级计算环境中来了,硬件的配置也比以前更复杂。设备可能要安装在虚拟化层次结构中的多个层面,系统管理员需要制定规范的策略,让硬件能够安全和公平地被共享。

1.1.3 执行备份
执行备份可能是系统管理员最重要的工作了,这也是经常被忽视,或者不经心去做的工作。备份工作耗时且单调,但又绝对必要。备份可以自动进行,且能授权给下属去做,但系统管理员仍然要确保备份工作在按计划正确进行(备份介质确实可以恢复出原文件来)。参考第10章来了解有关备份的更多知识。

1.1.4 安装和更新软件
在获得新软件以后,必须安装并测试它,而且经常要在几种类型的操作系统和硬件下进行安装和测试。一旦软件能够正常工作,就必须通知用户可以用这个软件,还要告诉用户这个软件的位置。在补丁和安全升级发布出来的同时,也必须平稳地将它们融入到本地环境里。参考第12章来了解有关软件管理的更多知识。

应该把本地软件和管理脚本正确地打包和管理,使之适用于本地系统自身采取的升级机制。随着该软件向前发展,新的发布版本应该先安排测试,然后再部署到整个站点上去。

1.1.5 监视系统
大型的部署环境需要时刻进行监视。除非事态严重,否则不要指望用户向系统管理员报告问题。比起花时间写说明报告问题,绕过问题通常要快得多,所以用户往往怎么省事怎么来。

定期做检查,确保电子邮件和Web服务正确运行;查看日志文件,掌握故障出现的早期迹象;确保本地网络都连接正确;监视系统资源(例如磁盘空间)的可用性。所有这些工作都很有可能自动执行,各种各样现成的监视系统能够帮助系统管理员完成这项任务。

1.1.6 故障诊断
系统发生故障在所难免。充当技工来诊断故障,在必要时请来专家排除故障等,都成了管理员的工作职责。找出问题往往比修复难上十倍。

1.1.7 维护本地文档
系统为适合单位的需要而逐渐改造,随着改造的进行,该系统便开始变得和文档当初所描述的那个基本系统不一样。既然系统管理员负责做这些定制工作,那么写文档讲清楚变化也是管理员的职责。这项职责包括把电缆的走线位置、电缆连接方式等信息写入文档,保留所有硬件的维护记录,记录备份的状态,编写本地处理过程和策略的文档等。参考32.5节来了解有关文档的建议。

1.1.8 时刻警惕系统安全
系统管理员必须实施某种安全策略,并且做定期检查,确保系统安全没有受到侵害。在安全要求低的系统上,这项工作任务可能仅仅包括对非授权访问进行粗略的检查。在安全要求高的系统上,这可能包括仔细布置由陷阱和审计程序构建的监视网。有关安全主题的更多知识,请参考第22章。

1.1.9 救火
尽管在系统管理员工作的规定范围之内,很少会包括帮助用户解决各种问题,但对于大多数系统管理员而言,这通常占据了他们日常工作的很大一部分。系统管理员往往遭到形形色色问题的狂轰滥炸,问题从“我的程序昨天正常工作了,今天却不干活了!您改变了什么?”,到“我把咖啡洒在键盘上了!我应该把水倒到键盘上洗掉咖啡么?”,什么都有。

在大多数情况下,系统管理员对这些事情的响应,要比他可能具备的任何实际技术技能,更能够让别人感觉到他作为一个系统管理员的价值所在。要么对此愤愤不平,要么就欣然接受这样的事实:深更半夜花5个小时调试问题,和妥善处理一张故障工单相比,在绩效评定上都一样。

相关文章
|
2月前
|
缓存 监控 安全
Linux技术基础(3)——系统管理
实验包括echo命令,用于输出字符串或变量值,例如显示变量`name`的值;date命令,展示和设置时间日期,如 `%Y-%m-%d %H:%M:%S` 格式;wget用于下载文件;ps命令查看进程状态,如`ps -ef | grep sshd`;top命令动态监控系统性能;pidof查找服务进程PID;kill和killall终止进程;ifconfig查看网络状态;uname获取系统信息;uptime显示系统负载;free查看内存使用;who显示登录用户信息;last查看登录历史;history列出命令历史。实验提供了丰富的命令示例和截图教程。
|
14天前
|
Cloud Native Linux 开发者
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
|
11天前
|
前端开发 Linux iOS开发
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
【4月更文挑战第30天】Flutter扩展至桌面应用开发,允许开发者用同一代码库构建Windows、macOS和Linux应用,提高效率并保持平台一致性。创建桌面应用需指定目标平台,如`flutter create -t windows my_desktop_app`。开发中注意UI适配、性能优化、系统交互及测试部署。UI适配利用布局组件和`MediaQuery`,性能优化借助`PerformanceLogging`、`Isolate`和`compute`。
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
|
11天前
|
消息中间件 缓存 监控
Linux 常用命令汇总(八):系统管理 & 性能监视
Linux 常用命令汇总(八):系统管理 & 性能监视
|
11天前
|
Linux Shell 虚拟化
【Linux学习】Linux 的虚拟化和容器化技术
【Linux学习】Linux 的虚拟化和容器化技术
|
12天前
|
存储 监控 Linux
【专栏】在 Linux 中,了解已安装驱动器是系统管理的关键
【4月更文挑战第28天】在 Linux 中,了解已安装驱动器是系统管理的关键。本文介绍了三种方法:1) 使用 `lsblk` 命令显示设备名、大小和类型;2) `fdisk -l` 命令提供详细分区信息;3) `gnome-disks` 等系统管理工具展示驱动器信息。此外,还讨论了驱动器类型识别、挂载点概念及其应用。通过这些方法,用户能有效地监控和管理 Linux 系统中的驱动器。
|
12天前
|
安全 Linux 数据安全/隐私保护
【专栏】在 Linux 系统中,掌握查找文件所有者的方法对于系统管理和安全审计至关重要
【4月更文挑战第28天】在 Linux 系统中,掌握查找文件所有者的方法对于系统管理和安全审计至关重要。本文介绍了基本和高级技巧:使用`ls -l`和`stat`命令查看文件详细信息,通过文件路径、通配符或结合`find`、`grep`命令进行查找。实际案例包括查找特定、多个及隐藏文件的所有者。注意权限、文件系统类型和系统环境可能影响查找。了解这些方法能提升 Linux 系统管理效率。
|
13天前
|
监控 Linux 开发者
【专栏】在Linux系统管理中,终止不响应或资源消耗大的进程至关重要
【4月更文挑战第28天】在Linux系统管理中,终止不响应或资源消耗大的进程至关重要。本文介绍了如何查找、终止和监控进程。使用`ps`和`grep`组合查找特定进程,或通过`pgrep`获取PID。使用`kill`命令(默认发送TERM信号)终止进程,如需强制终止,可使用`kill -9`发送`SIGKILL`信号。监控进程可借助`ps`、`top`、`htop`及`watch`命令。理解这些技能将有助于更有效地管理Linux进程。
|
13天前
|
Linux 数据库 开发者
【专栏】在Linux系统管理中,熟练使用命令行工具查找文件至关重要:如何按名称和 Grep 内容查找文件?
【4月更文挑战第28天】在Linux系统管理中,熟练使用命令行工具查找文件至关重要。本文介绍了如何使用`find`和`locate`按名称查找文件,以及结合`grep`按内容搜索。`find`能基于多种属性搜索,包括文件系统层次,而`locate`依赖索引数据库,速度更快。`grep`则用于在文件中搜索特定文本,支持正则表达式和多种选项。通过组合`find`/`locate`和`grep`,可实现更复杂的搜索任务,提升工作效率。
|
13天前
|
运维 监控 Unix
【专栏】Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。
【4月更文挑战第28天】本文概述了Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。面试官会询问Linux与Unix的关系、内核功能、文件系统类型、权限位、用户组概念、链接类型、输入输出、进程和环境变量等。此外,还会涉及软件安装、服务配置、日志监控、网络管理、防火墙配置、LVM、RAID、用户管理、备份策略等实践技能。故障排查和脚本编程能力也是重点,包括系统故障分析、脚本在系统管理中的应用、磁盘空间管理、服务故障诊断及性能优化。准备面试的求职者应注重理论与实践经验的结合,持续学习以提升专业能力。