2.1、系统的分类
上一章我讲过计算机的组成由,cpu、内存、硬盘、主板、电源、输入输出设备。咱们有没有想过我们人类想控制这些硬件又用什么去控制呢。
答案是:操作系统
操作系统分类:
-
windows(常见)
-
Windows 7 (家用办公台式机)
-
windows 8 (因为某些原因微软淘汰了win8)
-
windows 10 (新款品牌(除了苹果本,除非双系统)笔记本)
-
Windows service (微软服务器系统名)
-
-
Linux(企业常见)
-
Red Hat Linux(收费的,可以把处理不了的系统错误,交给Red Hat官方处理)
-
CentOS (社区版,免费版,跟Red Hat Linux基本差不多,就是把收费软件包去掉重新打包上传。互联网企业的选择)
-
Ubuntu (图形化界面好,比较适合个人开发)
-
Debian
-
Fedora
-
Kali Linux
-
-
mac(苹果电脑系统)
这里主要讲CentOS7版本,如果涉及6的也会演示一下。
2.2.1、Red Hat Linux系统的由来
全称GNU/Linux,是一套免费使用和自由传播的操作系统,其内核由[林纳斯·本纳第克特·托瓦兹]于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于和Unix的多用户、[多任务]、支持和多[CPU]的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持[32位])和[64位]硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的[debian]、[archlinux],和基于商业开发的[Red Hat Enterprise Linux]、[SUSE]、[oracle linux]等
2.2.2、CentOS系统的由来
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。
CentOS 是RHEL Red Hat Enterprise Linux源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。
CentOS在2014初,宣布加入Red Hat
CentOS 加入红帽后不变的是:
-
CentOS 继续不收费
-
保持赞助内容驱动的网络中心不变
-
Bug、Issue 和紧急事件处理策略不变
-
Red Hat Enterprise Linux 和 CentOS 防火墙也依然存在
变化的是:
-
我们是为红帽工作,不是为 RHEL
-
红帽提供构建系统和初始内容分发资源的赞助
-
一些开发的资源包括源码的获取将更加容易
-
避免了原来和红帽上一些法律的问题
2.2.3、GNU
1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的 Cygnus Solutions。 到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs。GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。以及大部分UNIX系统 GNU操作系统的内核Linux GNU操作系统的内核Linux 的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。 1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,已经发布Beta版本。) 许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。 GNU 包含3个协议条款, GPL:GNU通用公共许可证(GNU General Public License) LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library General Public License (GNU 库通用公共许可证); GFDL : GNU自由文档许可证(GNU Free Documentation License )的缩写形式。 这里指的自由,并不是价格免费,这和价格无关而是使用软件对所有的用户来说是自由的。GPL Linux内核的缔造者Linus Torvalds Linux内核的缔造者Linus Torvalds 通过如下途径实现这一目标: 1.它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。 2.如果用户的软件使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL 软件,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码。 3.GPL 并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。 由于GPL很难被商业软件所应用,它要求调用它的库的代码也得GPL,全部开放,并且一同发布,不能直接连接。所以后来GNU推出了LGPL许可证 在GPL与LGPL许可证保护下发布源代码的结果很相似,对旧代码所做的任何修改对于想知道这些代码的人必须是公开的,唯一真正的不同之处在于私人版权代码是否可以与开放源代码相互连接,LGPL允许实体连接私人代码到开放源代码,并可以在任何形式下发布这些合成的二进制代码。只要这些代码是动态连接的就没有限制。(使用动态链接时,即使是程序在运行中调用函数库中的函数时,应用程序本身和函数库也是不同的实体)
2.2.4、GPL(GNU通用公共许可证)
大多数软件许可证决意剥夺你共享和修改软件的自由。相比之下,GNU通用公共许可证试图保证你共享和修改软件的自由。——保证自由软件对所有用户是自由的。GPL适用于大多数自由软件基金会的软件,以及由使用这些软件而承担义务的作者所开发的软件。(自由软件基金会的其他一些软件受GNU库通用许可证的保护)。你也可以将它用到你的程序中。当我们谈到自由软件(free software)时,我们指的是自由而不是价格。 为了保护你的权利,我们需要作出规定:禁止任何人不承认你的权利,或者要求你放弃这些权利。如果你修改了自由软件或者发布了软件的副本,这些规定就转化为你的责任。 例如,如果你发布这样一个程序的副本,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;并且将这些条款给他们看,使他们知道他们有这样的权利。 我们采取两项措施来保护你的权利。 (1)给软件以版权保护。 (2)给你提供许可证。它给你复制,发布和修改这些软件的法律许可。
同样,为了保护每个作者和我们自己,我们需要清楚地让每个人明白,自由软件没有担保(no warranty)。如果由于其他某个人修改了软件,并继续加以传播。我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引入的任何问题,不应损害原作者的声誉。 最后,任何自由软件不断受到软件专利的威胁。我们希望避免这样的风险,自由软件的再发布者以个人名义获得专利许可证。事实上,将软件变为私有。为防止这一点,我们必须明确:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。 下面是有关复制,发布和修改的确切的条款和条件。
2.2、虚拟机介绍
2.2.1、虚拟机的分类
-
硬件虚拟机:
-
直接在服务器上搭建的虚拟机
-
VMware vSphere Hypervisor
-
-
-
软件虚拟机:
-
需要服务器先有系统然后再系统中安装虚拟机
-
Linux:
-
KVM
-
-
windows:
-
VMware pro
-
-
-
2.2.2、虚拟机安装
百度下载虚拟机软件(VMware pro 15),然后下载完成后下一步下一步直至安装完成。
2.2.2.1、虚拟机优化设置
2.3、在虚拟机中安装CentOS7系统
2.3.1、CentOS7系统下载地址
http://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso
2.3.2、创建虚拟机
-
在虚拟机中点创建新的虚拟机
-
选自定义,因为自定义可以选择老版本的VMware
-
点击下一步
-
选稍后安装操作系统,点击下一步
-
选择客户机操作系统
-
CentOS7
-
CentOS6
-
-
命名最好有意义
-
CentOS7
-
-
选择处理器数量
-
选内存大小,(CentOS7建议2G以上,CentOS6建议1G以上)
-
网络类型
-
桥接网络
-
获取物理电脑的IP段,链接物理电脑的路由器
-
-
网络地址转换
-
当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT(Network Address Translation,网络地址转换)方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。
-
-
仅主机网络
-
单独一台主机,无法访问网络资源
-
-
-
选择I/O
-
选择磁盘类型
-
选择磁盘
-
指定磁盘容量
-
Linux磁盘命名
-
IDE
-
hd开头,第一块盘hda 第二块盘hdb。。。。
-
hd分区,第一块盘第一个分区 hda1 ,第一块盘第二个分区 hda2........
-
-
SAS/SATA/SSD
-
sd开头,第一块盘sda 第二块盘sdb。。。。
-
sd分区,第一块盘第一个分区sda1 ,第一块盘第二个分区 sda2........
-
-
-
-
指定此盘文件位置
-
CentOS7
-
CentOS6
-
-
自定义硬件
-
加载镜像文件
-
完成
2.3.3、安装Centos7系统
-
设置系统语言
-
设置系统安装包
-
设置硬盘分区
-
用标准化分区,不要去使用LVM动态卷分区,因为会降低高并发性能
-
企业分区模式:
-
正常服务器:
-
/boot/ 1G-2G 存放系统引导文件
-
swap(虚拟交换分区) 内存小于8G给1.5倍,内存大于8G给8G
-
/ 给所有
-
-
数据存储服务器(含数据库):
-
/boot/ 1G-2G 存放系统引导文件
-
swap(虚拟交换分区) 内存小于8G给1.5倍,内存大于8G给8G
-
/ 100G
-
/data 给所有
-
-
门户网站服务器:
-
/boot/ 1G-2G 存放系统引导文件
-
swap(虚拟交换分区) 内存小于8G给1.5倍,内存大于8G给8G
-
/ 100G
-
剩余的留着别的部门申请使用后在分区
-
-
-
2.3.4、安装CentOS6系统
2.4、Xshell连接CentOS系统
2.4.1、下载安装Xshell
下载安装下一步即可
2.4.2、优化Xshell设置
-
打开软件选择文件
-
然后选择属性
-
选择终端修改终端类型和滚动缓冲区
-
选中外观修改字体和游标
-
选择日志目录修改日志目录文件存放位置
-
选择下载和上传默认本地文件夹
-
点确定
-
配置链接服务器,点新建下拉框选文件夹
-
在这里新建
2.4.3、Xshell链接排错
Connecting to 10.0.0.200:22...
Canceled.
Type `help' to learn how to use Xshell prompt
-
先查看IP能否被PING通
[C:\~]$ ping 10.0.0.200
正在 Ping 10.0.0.200 具有 32 字节的数据:
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.200 的回复: 字节=32 时间<1ms TTL=64
10.0.0.200 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms -
通的情况下查看服务状态
[root@localhost ~]# ps -ef | grep ssh
root 1437 1 0 14:41 ? 00:00:00 /usr/sbin/sshd -D
root 1947 1437 0 14:43 ? 00:00:00 sshd: root@pts/0
root 1967 1951 0 14:45 pts/0 00:00:00 grep --color=auto ssh
#查看端口
[root@localhost ~]# ss -lantp | grep 22
LISTEN 0 128 *:22 *:* users:(("sshd",pid=1437,fd=3))
ESTAB 0 0 10.0.0.200:22 10.0.0.1:56504 users:(("sshd",pid=1947,fd=3))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1437,fd=4))
-
重启服务
[root@localhost ~]# systemctl restart sshd
2.5、CentOS系统优化
-
安装wget
yum install wget -y
-
更新yum源文件
-
Centos7
[root@oldboyedu ~]# mv /etc/yum.repos.d/* /opt/
[root@oldboyedu ~]# ll /etc/yum.repos.d/
总用量 0
[root@localhost ~]# curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# ll /etc/yum.repos.d/
total 8
-rw-r--r--. 1 root root 2523 Apr 2 14:58 CentOS-Base.repo
-rw-r--r--. 1 root root 664 Apr 2 14:58 epel.repo
-
Centos6
[root@oldboyedu ~]# mv /etc/yum.repos.d/* /opt/
[root@oldboyedu ~]# ll /etc/yum.repos.d/
总用量 0
[root@oldboyedu ~]# curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@oldboyedu ~]# curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@oldboyedu ~]# ll /etc/yum.repos.d/
总用量 8
-rw-r--r--. 1 root root 2523 4月 2 23:01 CentOS-Base.repo
-rw-r--r--. 1 root root 664 4月 2 23:01 epel.repo
-
-
CentOS6和CentOS7都要安装的企业运维常用基础工具包
[root@localhost ~]# yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
-
CentOS7要安装的企业运维常用基础工具包
[root@localhost ~]# yum install psmisc net-tools bash-completion vim-enhanced -y
-
查看组包是否缺少组件
[root@localhost ~]# yum grouplist
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Cinnamon Desktop
MATE Desktop
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Cinnamon
Compatibility Libraries
Console Internet Tools
Development Tools
Educational Software
Electronic Lab
Fedora Packager
General Purpose Desktop
Graphical Administration Tools
Haskell
LXQt Desktop
Legacy UNIX Compatibility
MATE
Milkymist
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
TurboGears application framework
Xfce
Done
2.6、虚拟机保存原始镜像