运维知识
1.Linux 介绍
和 Windows 不同,Linux 是一系列基于 Linux 内核(Kernel)操作系统的总称。这些系统称为 Linux 发行版。注意 Linux 以外,类 Unix 系统还有 MAC、FreeBSD(国产的银河麒麟基于 FreeBSD)、Solaris 等,他们并不是基于 Linux 内核,不算是 Linux 系统。
由于 Linux 内核本身是一个开源项目,开源社区根据不同的场景需求,维护了上百种发行版,不同发行版之间有一些细微差异。另外个别发行版属于商业版,根据厂商的不同,可能需要商业授权。
1.1 Linux 的主要发行版
- Debian 系列
- Debian:https://www.debian.org/index.zh-cn.html
- UOS: 国产的统信操作系统:https://www.chinauos.com/
- Deepin: 深度发布的国产操作系统:https://www.deepin.org/index/zh
- Ubuntu 系列: 从 Debian 系分支出来的系列
- Ubuntu:https://cn.ubuntu.com/
- 优麒麟:https://ubuntukylin.com/
- Redhat 系列
- Redhat 企业版(RHEL):https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
- Fedora: RedHat 官方最上游版本(也就是 RHEL 的试错版),升级策略比较激进,不太建议服务器用:https://getfedora.org/
- CentOS: 社区对 RHEL 的重新构建,可以看成 RHEL 的下游版本,可以作为生产环境使用,但目前有停止维护的隐患:https://www.centos.org/
- CentOS 8 已于 2021 年停止维护,作为长久支持版的 CentOS 7 也将在 2024 年停止维护
- 后续以后发布版为 CentOS Stream,其定位不再是 RHEL 的下游,而是处于其上游(简单说就是 RHEL 的试错版本)
- CentOS Stream 将来的定位是间于 RHEL 与 Fedora 之间,两个试错版保证 RHEL 的稳定性
- Oracle 企业版 Linux(OEL):Oracle 对 RHEL 的分支,其对其进行了一些优化(有些内核参数已经自带调优),并支持对 Linux 内核的在线更新等特性:https://www.oracle.com/cn/linux/
- 麒麟: 国产操作系统:https://www.kylinos.cn/scheme/server.html
- 其他: OpenSUSE、OpenEuler(国产操作系统)、Arch Linux、Alpine Linux(容器镜像常用)等
1.2 选择 Linux 原因
优点:
- 性能更好,系统稳定性更高
- 选择合适的发行版是免费的
- 更安全?
- 其实也有 Linux 的病毒,也有针对 Linux 服务器的漏洞攻击,只是相对 Windows 较少罢了
- 安全的问题关键是:严格权限控制和用户划分;尽量避免超级用户来操作;保持软件升级;操作前明确操作的意义;备份;
- 系统外的大量基础服务(OpenSSH、OpenSSL 等)仍然可能出现远程执行、提权的问题,保持软件更新很重要,如果不能做到,至少网络上把它限制在可信环境内使用
缺点:
- 如果使用的软件只有 Windows 版(比如公司现在用的 VPN),无法使用
- Linux 桌面版可以考虑用 Wine 来启动 windows 程序,但稳定性和兼容性没有保证
- 程序不兼容导致大部分针对 Windows 的病毒都跑不动,所以看起来更安全
- 大多数时候命令行操作,一些操作没有那么多后悔环节,比如
rm -rf
文件或目录删了就是删了
1.3 Linux 的学习
- 掌握命令: Linux 命令速查
- 不要依赖图形界面(X-Window),多用,常用命令多使用就熟练了
- 入门学习: 鸟哥的 Linux 私房菜
- 深入学习: Unix / Linux 系统管理技术手册、Linux 内核分析等
- Linux 运维脚本语言: Linux Shell
2.Centos 安装
这里以 CentOS 为例,其他的 Linux 大致相同,根据需要选择合适的发行版
作为软件厂商,大多数时候都轮不到我们来安装操作系统,而是由用户的信息部门或虚拟化厂商提供。但我们仍然要熟悉 Linux 系统的安装过程,主要是了解应该向对方提交的系统需求应该包含哪些要点。
2.1 选择 CentOS 安装镜
- DVD 版:通常安装包,个别不常用附加软件需要在线下载安装
- EveryThing 版: 完整安装包
- Minimal: 最小安装包,只包含必要程序,可以进行最小安装,但其他的附加软件都需要在线下载安装
- NetInstall: 网络安装包,只包含安装引导程序,所有软件包括 Linux 内核都在线下载安装
2.2 CentOS 安装程序
- 通过光盘镜像引导进行安装(比如虚拟光驱,U 盘启动等方式)
- 看到 CentOS 的启动界面后,选择安装