第1章 linux系统介绍与环境搭建准备
1.1 Linux简介
1.1.1 什么是操作系统
如果被问到什么是操作系统,可能很多初学者都会一脸茫然。虽然我们都知道平时一直在用的Windows XP、Windows 7、Windows8其实就是操作系统,却无法准确给出操作系统的定义,或者向提问者解释清楚什么是操作系统。
操作系统,英文名称为Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行及用户操作必备的基础环境支撑,是计算机系统的核心。
操作系统的作用是管理和控制计算机系统中的硬件和软件资源,它除了直接管理计算机系统的各种硬件资源(如CPU、内存、磁盘等)以外,还会对系统资源供需的优先顺序进行管理。此外,操作系统还可以控制设备的输入、输出及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源进行管理(例如各类应用软件的安装、运行环境设置等)。
综上所述,可以给操作系统一个基本的定义:操作系统是计算机系统中必不可少的基础系统软件,它的作用是管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用这些资源为使用者提供一个功能强大、使用方便的操作环境。它在计算机系统(硬件)与使用者之间起到接口的作用。
1.1.2 什么是Linux
与大家熟知的windows操作系统软件一样,Linux也是一个操作系统软件。但是与Windouws不同的是,Linux是一套开放源代码程序的,并可以自由传播的类UNIX操作系统软件(UNIX系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intelx86系列CPU架构计算机的。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统。
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是由世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类UNIX操作系统兼容产品。在过去的20年里,Linux系统主要被应用于服务器端、嵌入式开发和个人PC桌面3大领域,其中服务器端领域是重中之重。
我们熟知的大型、超大型互联网企业(百度、新浪、淘宝等)都使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是linux。
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
1.1.3 Linux vs Windows
目前国内Linux更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下
比较 | Windows | Linux |
界面 | 界面统一,外壳程序固定所有Windows程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux的终端机是从UNIX传承下来,基本命令和操作方法也几乎一致。 |
驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的Windows下的驱动,也会比较头痛。 | 由志愿者开发,由Linux核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
第2章 学习环境搭建
VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用程序的最佳解决方案。VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的 IT开发人员和系统管理员而言, VMware在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。
2.1 安装VMware-workstation
下载VMware Workstation,下载完成后,我们找到程序,双击进行安装,勾选“我接受本服务条款”然后点击“下一步”。
接下来是安装路径的选择,可以默认安装,但是不建议,一般都会自己定义一下安装路径,把软件安装到C盘以为的硬盘,并且命名。
在用户体验设置中,我们通常都会把产品更新,和帮助完善的选项去除,不然每次自动检测都会影响电脑运行速度。
最后是安装快捷方式,这两个快捷方式我们都是默认勾选的,方便大家寻找程序并且运行程序,然后点击下一步进行标准安装即可。
现在虚拟机的安装已经完成,打开虚拟机输入许可证密钥
2.2 配置VMvare workstates
2.3 创建虚拟机
2.3.1 配置类型(自定义)
2.3.2 虚拟机版本
2.3.3 选择如何安装操作系统
2.3.4 选择操作系统类型
2.3.5 虚拟机命名及安装位置
2.3.6 设置CPU
2.3.7 设置内存
2.3.8 选择网络类型
2.3.9 选择磁盘类型
2.3.10 创建磁盘
2.3.11 创建虚拟机完成
2.3.12 虚拟机中添加系统镜像
第3章 企业级操作系统安装
3.1 安装虚拟机遇到的问题
3.2 开启虚拟化
ThinkPad
HP
3.3 开始安装系统
CentOS的引导方式 | 解释说明 |
install or upgrade an existing system | 全新安装或者 |
install system with basic video driver | 安装带有基本视频驱动的系统 |
Rescue from local drive | 启动救援模式 |
Boot from local drive | 通过本地硬盘启动 |
Memory test | 内存测试
|
3.4 提示对安装光盘介质进行检测(选择Skip跳过)
提示:安装centos系统过程中,F12 是 Next
3.5 选择安装过程中的语言
3.6 选择键盘
3.7 选择基本存储设备
3.8 设置主机名
3.9 配置网络
3.10 选择时区
3.11 设置root密码
3.12 自定义磁盘分区
3.13 第一个分区
3.14 第二个分区
3.15 第三个分区
3.16 格式化磁盘
3.17 选择安装包组(最小化安装)
3.18 安装过程
3.19 安装完成重启
3.20 Centos7安装
CentOS7的安装基本上同6一致,安装过程中需要注意如下问题
为了统一环境,保证实验的通用性,将网卡名称设置为eth*,不使用CentOS 7默认的网卡命名规则。所以需要在安装的时候,增加内核参数。
1)光标选择“Install CentOS 7”
2)点击Tab,打开kernel启动选项后,增加net.ifnames=0 biosdevname=0,如下图所示。
第4章 CentOS连接管理及优化
4.1 配置远程连接
4.1.1 1、配置IP地址
网卡配置文件地址:
/etc/sysconfig/network-scripts/if-eth0
4.1.2 2、启用SSH服务
Systemctl start sshd
4.1.3 3、关闭防火墙
Systemctl stop firewalld
4.1.4 4、安装xshell
4.1.5 5、配置xshell连接服务器
4.2 SSH服务
4.2.1 一、配置文件
服务器配置文件 /etc/ssh/sshd_config
日志文件 /var/log/secure
4.2.2 二、配置文件详解
Port 22 #默认端口
ListenAddress IP #监听服务器端的IP,ss -ntl 查看22端口绑定的iP地址
LoginGraceTime 2m #登录时不输入密码时超时时间
HostKey #HostKey本地服务端的公钥路径
UseDNS no #禁止将IP逆向解析为主机名,然后比对正向解析的结果,防止客户端欺骗
PermitRootLogin yes #是否允许root使用SSH远程登录
MaxAuthTries 6 #密码错误的次数6/2=3(MAN帮助中写明要除2)次后断开连接
MaxSessions 10 #最大的会话连接数(连接未登录的会话最大值,默认拒绝旧的连接未登录的会话)
#
StrictModes yes #检查用户家目录中ssh相关的配置文件是否正确
PubkeyAuthentication yes #是否使用基于key验证登录
AuthorizedKeysFile .ssh/authorized_keys #key验证登录的客户端公钥路径
PasswordAuthentication yes #是否允许使用密码登录
PermitEmptyPasswords no #用户使用空口令登录
GatewayPorts no #启用网关功能,开启后可以将建立的SSH隧道(端口转发)共享出去
#
ClientAliveCountMax 3 #探测3次客户端是否为空闲会话,↓3*10分钟后断开连接
ClientAliveInterval 10 #空闲会话时长,每10分钟探测一次
MaxStartups 10:30:100 #start:rate:full;当连接但为进行认证的用户超过10个,drop30%(rate/full)的连接
当连接但未登录的连接达到100个后,新建立的连接将被拒绝
Banner /path/file #认证前输出的登录提示信息,指定文件路径
GSSAPIAuthentication no #
#
AllowUsers username #白名单,如果白名单有用户只有白名单的用户可以登陆
DenyUsers #黑名单,被拒绝的用户,如果即允许又拒绝则拒绝生效
AllowGroups #组白名单
DenyGroups #组黑名单
4.2.3 优化加速
服务器端修改配置文件中一下两项进行修改
vim /etc/ssh/sshd_conf
UseDNS no
GSSAPIAuthentication no
UseDNS 会对客户端进行DNS反向解析,然后在比对正向解析的结果查看是否一致。
GSSAPIAuthentication大多数情况下使用密码验证或者秘钥验证所以关闭GSSAPI验证即可
4.2.4 安全配置
1、更改默认端口
2、禁止root用户登录
4.3 操作系统简单优化
4.3.1 设置主机名解析:
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.11 node1
10.0.0.12 node2
10.0.0.13 node2
4.3.2 安装EPEL仓库和常用命令
[root@node1 ~]#http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
[root@node1 ~]# yum install -y net-tools vim lrzsz tree screen lsof wget ntpdate
3、关闭NetworkManager和防火墙
[root@node1 ~]# systemctl disable firewalld
[root@node1 ~]# systemctl stop NetworkManager
4.3.3 关闭SELinux
[root@node1 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled #修改为disabled
4.3.4 设置时间:
[root@node1 ~]# crontab -l
*/5 * * * * /usr/sbin/ntpdate time1.aliyun.com
4.3.5 更改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime