目录
目录
0.0 第一次课内容
1.1 学习之初
1.2 约定
1.3 认识Linux
1.4 创建虚拟机
1.5 安装CentOS7
1.6 配置ip(上)
1.7 配置ip(下)
1.8 网络问题排查
1.9&1.11 使用putty远程连接Linux&putty密钥认证
1.10&1.12 使用xshell连接linux&xshell密钥认证
1.13 单用户模式
1.14 救援模式
1.15 克隆虚拟机
1.16 Linux机器相互登录
#### 纪律
1. 直播课不允许无放迟到、早退,有事请假,签到由大家目行截图,并发到有道云笔记中,最后把有道云笔记链接发到专贴。截图需要分4部分课前5分钟内、下课前5分钟内、中途休息时以及随机不定时截图,要求把上课时问和系统时问都截上
2. 任务包括:课前预习、课后笔记两部分
3. 预习任务需要在课前完成、笔记任务需要在下次上课当天12点前完成。例如,周二周四、周六有课,周四的课程预习内容二的课结束时就发出来,周二课程的笔记需要在周四中午12点前发出来,周四课程的预习任务要在周四上课前完成
4. QQ和微信消息都不回复的同学,会打电话,电话也不接超过3次的,跟下个班级
5. 每阶段考核分数少于或等于总分60%的了跟下个班级
#### 考核细节
1. 不签到或者不按时回帖0分,请假的给2分,少截图或者截图不合格的,每张截图2分
2. 不能按时完成预习的,根据预习内容多少给分,满分10分,按百分比算,4舍5入
3. 没有按时回帖笔记的0分,回帖笔记的,根据笔记内容质量给分,满分10分
4. 每同测验,满分10分,4舍5入
#### 字习方法:
1. 课前预习的视烦是课程主要內容,需要认真完成,第一遍香视频的时候只记录笔记,尽可能地详细,第二遍根据笔记实操,近一步补充完善笔记
2. 直插课笔记也要做,越详细越好,可以乱,但要全,讲究课再整理
3. 课上有问题及时打断我,及时问
4. 周末两天要利用起来,复习笔记+预习下周的课程
5. 遇到问题,优先选择在群里沟通,群里解决不了的再向辅导老师或者阿铭老师寻求帮助
#### 介绍
1. 运维是什么?
- 小企业大企业区别
- 产品经理(设计产品)
- 研发(前端、后台、客户端(os/ android))
- 运维(服务器:购买服务器、网络设备、安装操作系统Lnux、搭建环境、调整配置、IDC机房、机柜、带宽、阿里云、域名(备案)、80、ssl证书、测试)
购买服务器与IDC机房
https://www.zhihu.com/people/linge135822/posts
扩展验证(EV)SSL证书,Https协议加密访问网站,CA中心申请
https://www.sheca.com/
2. 运维人员要做哪些事情?
- 从一个初创公司做一个互联网产品说起
3. 运维的就业前景、趋势如何?
- 背景
- 当前的现状
- 以后可能的趋势
运维开发Python、持续集成和持续交付jenkins、自动化DevOps
4. 结台你自己的情况,考虑一下你的运维生涯如何发晨?
- 给自己定位与目标
1. 学这个课程的目的是**5个月后找到13K的工作**
2. 学完之后要做**运维工程师**
3. 学完之后要在**上海发展**
4. 一年后**18K**,两年后多少**25K**
- 学习方法
1. 预习和复习的重要性:[猿课网]( "猿课网")
2. 当日事当日毕:excel-网址及命令汇总记录
3. 记笔记:https://my.oschina.net
4. 利用好资源 提问QQ vip群等
- 课程的价值:3年有效期
- 必备软件
1. 系统:CentOS7.3系统
2. 虚拟软件:VMware workstation 10
3. 终端:puTTY+Xshell
- 学习工具
1. 印象笔记 app.yingxiang.com (有道云笔记)
2. 51CTO博客 blog.51cto.com、[my.oschina.net](https://my.oschina.net "my.oschina.net")
3. keepass [keepass.info]()
4. 百度网盘 pan.baidu.com
- 备注-下载宝库
1. 部分软件更新下载:[r.aminglinux.com]()
2. 课程用到代码及命令:[centos7.aminglinux.com]( "centos7.aminglinux.com")
- 操作系统
1. windows (市场占有率高,据说可达90%)
2. os 苹果系统 (核心Unix)
3. linux (模仿Unix)
- Linux的起源
linux的前身是Unix,Unix因为价格非常昂贵,绝大多数人买不起,在这样的背景下,1983年,计算机牛人Richard Stallman发起了一个著名的GNU计划,一个完全自由的操作系统,且加入GNU计划的所有软件能够自由使用,自由发布,软件发布需发布它的源代码,这个代码也可以方便其他人自由使用,也可以创新更改,但必须将更改后的代码发布出来,这套规定就是GPL协议。
- Linux的发展
Debian (1993) ->Ubuntu (2004)
Slackware (1993) ->Suse (1994)
RedHat (1994) ->Centos (2003)
RedHat ->RedFlag (1999)
RedHat ->Redhat Fedora RHEL (2002)
- 创建虚拟机
1. 先安装VMware
2. 创建新的虚拟机 →自定义→稍后安装操作系统 →linux 版本 centos64→起名字 位置较大的磁盘→磁盘大小20G 单个文件 →内存至少1G →完成
- 安装CentOS7
1. 编辑虚拟机设置→CD/DVD(选择下载好的centos7镜像) →网卡模式(NAT模式)→确定
2. 开启此虚拟机 →选择(install CentOS Linux 7 )确定→中文/简体中文 →软件安装(保持默认最小安装) →安装位置(我要配置分区/标准分区) →/boot 200M →swap 2048M(内存大于4G时就分8G) → / 剩余的大小→完成 →接受 →开始安装 →创建ROOT密码。
- 知识点
网卡模式
分区
1. /boot 200Mb
2. swap 内存2倍
3. / 其他
如何删除虚拟机?
- 知识点
虚拟机网络链接模式
1. 桥连
直接将虚拟网卡桥接到一个物理网卡上面。需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。
2. NAT
让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。不用进行任何手工配置就能直接访问互联网。
3. 主机
真实环境和虚拟环境隔离开,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义。
- 知识点
**标准分区**
Btrvfs
LVM:磁盘虚拟化 方便扩容和缩容
LVM简单
以后学习https://blog.csdn.net/wuyongpeng0912/article/details/60477123
- 安装CentOS7
- 命令
ls #显示当前目录文件,因为~就是登陆用户的主目录/home/user,在这里是/root/
ls /tmp #显示tmp下的文件
ls /boot #显示boot下的文件
ls / #显示根目录下的文件
dhclient #-r为释放ip,在这里为自动获取ip
ip add #应该为ip addr,显示ip地址,其他用法见扩展
ls /etc/sysconfig/network-scripts/ifcfg-ens33 #显示网卡配置文件
#记忆方法:/etc/系统参数/网络-解释/接口参数-网卡名称,if是interface:接口
其中第一块IO网卡上为主机的回环地址,用于和自己通信。第二块ens33网卡上为dhclient命令执行后主机自动获取的IP地址。
- 设置静态IP
由于自动获取IP在虚拟主机重启后会发生变化,为了远程连接虚拟机,我们需要将虚拟机的IP固定死。(设置静态IP)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network.service #重启网络服务,记忆:system conrtol
ifconfig #interface config:接口配置,与ip addr用法类似,现在更多使用ip
ping www.baidu.com #ping -c 10 www.baidu.com:ping 10次 coun
文件ifcfg-ens33,设置静态IP需要修改:
BOOTPROTO=dhcp 将dhcp修改成static
ONBOOT=no 将no修改成yes 指明在系统启动时是否激活网卡,添加下面代码
IPADDR=192.168.224.129 #网卡ens33,命令ip addr获取的
NETMASK=255.255.255.0 #掩码地址
GATEWAY=192.168.0.1 #网关地址,通过虚拟机设置看
DNS1=114.114.114.114 #DNS解析服务商(DNS服务评估)
- 补充
vi 编辑使用方法
1. 使用vi filename命令进入文件
2. 编辑单击i
3. 退出单击Esc并保存输入‘:wq’ ,不保存输入‘:q!’
4. 查看文件内容cat filename
处理问题时必定不能盲目,将所有解决办法都试上一遍。这生产环境中,解决出现的问题是最优先的事情,当然前提是这问题会影响用户的使用或即将影响到的。
处理每个问题必然可按具体问题进行分类,根据每一类按对应的解决思路来执行。
但像处理一个网络问题的时候,上至系统防火墙的配置、下至硬件故障。如果处理一个问题都按固定流程来进行的话,那必然效率将非常低下。下为处理网络故障的一般流程。
1、网络硬件问题检查。 (机率较低)
2、检查网卡能否正常工作。 (较高、主要表现为人为配置错误)
3、检查局域网之间联机是否正常。(非常高)
4、检查DNS是否设定正确。 (较低)
5、服务是否正常打开。 (低)
6、检查访问权限是否打开。 (较高)
假如从1至6是标准的处理网络问题的流程,这样的处理方式效率低下。处理问题可以有整体的流程,但是实际操作中可先对出现机率更高的步骤进行检查、或采取2分法缩小产生问题的范围,虽然上述较的两个方法不一定对所有问题都试用,但对于大多数的网络问题来说处理效率有者显著的提升。
个人总结的情况如下。
1、lsmod | grep ip 查看相关的网卡模块是否已加载
2、ifconfig -a 能使用该命令查找到对应网卡配置信息,则说明网卡驱动程序正常
3、使用ping命令、依次ping自己、ping局域网主机、ping网关
ping自己异常,问题:服务异常、网卡配置未生效
ping局域网主机异常,问题:配置文件有误、网卡配置未生效、网线损坏
ping网关异常,问题:配置文件有误、网卡配置未生效
4、当前3步还不能正常上外网的话。所有route查看默认路由表。
处理方法:删除不必要的路由信息,并保证默认路由是从对应网关地址出去的。
5、临时停止iptables服务、SELinux服务、NetworkManager服务
6、如能上网但访问域名有异常时,那将需要检查/etc/hosts、/etc/resolv.conf两个配置
7、假如以上6步检查完毕之后,还发现不能上网。有如下可能。
7.1、主机MAC地址被路由器禁止上网
7.2、外网服务异常。如宽带账号欠费、光纤被挖断等物理攻击。
作者:天夭夭 链接:https://www.jianshu.com/p/36eaea218c0c
- PuTTY链接:
打开安装好的Putty
设置主机地址,ssh链接
输入用户名及密码,连接成功
- PuTTY密钥认证:
Putty gen点击Generate 生成密钥
点击Save private key保存私钥
mkdir /root/.ssh #根目录下新建一个.ssh的隐藏目录
ls -a /root/
vi /root/.ssh/authorized_keys #编辑时自动创建,复制公钥到此文件
chmod 700 /root/.ssh/ #给目录设置权限
chmod 600 /root/.ssh/authorized_keys #给文件设置权限
setenforce 0 #临时关闭,下次重启会开启
getenforce #获取selinux的状态,“Permissive”表示临时关闭成功
vi /etc/selinux/config #找到SELINUX=ENFORCING,改成SELINUX=disabled,永久关闭
systemctl stop firewalld #暂时关闭firewalld
重新打开一个PUTTY 选择刚定义好的名字 , 点击load
加载进来后返回session ,save一下,点击open,打开
打开后输入用户root 后提示变了,再输入密钥的密码,putty密钥登录完成
mkdir /root/.ssh
vi /root/.ssh/authorized_keys
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
背景知识:救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode 不推荐使用,取消)
在单用户模式,电脑为开机进入runlevel 1,本机档案系统已经被挂载,不过您的网路尚未启动,您可以使用一个系统维护的 shell。单机使用者模式与救援模式不同,它会试着自动挂载档案系统,如果您的档案系统无法被成功挂载,请勿使用单机使用者模式。而且如果系统上的执行层级 1 的设定已经毁损,您也无法使用单机使用者模式。
救援模式能让使用者由光碟(或其它开机方法)启动基本的 Red Hat Enterprise Linux 环境;而不是藉由系统硬盘来启动。在正常操作中,Red Hat Enterprise Linux 系统会使用硬盘里的档案来进行所有工作 — 执行程式、储存档案等等。然而,在某些情况下,Red Hat Enterprise Linux 会无法完整存取系统的硬盘。透过使用救援模式,即使您无法由某个硬盘执行 Red Hat Enterprise Linux,您依然能够存取储存在该硬盘上的档案。总之,救援模式就是从其他介质启动(能够自己选择挂载的分区),从而获得一个runlevel(如果按照流程,会进入level1的单用户模式)。
- 命令
init 6 #重启,reboot或shutdown -r ,nowReboots the system.
init 0 #关机,poweroff ,Shuts down the system.
1 表示单用户模式
2 表示多用户模式
3 表示切换到命令行模式 服务一般处于这种模式
4 表示未被使用的模式
5 表示切换到桌面模式
- 单用户模式:密码忘记情况下
1. 主机重启,按方向键↑,选择CentOS Linux (3.10.0-514.e17.X86 64) 7 (Core),按e键编辑
2. 找到ro更改为rw,空格后添加:init =sysroot/bin/sh,#ro为readonly
3. 键盘Ctrl + X 进入内存操作系统,输入:chroot /sysroot/
4. 乱码则切换语言为英语,输入:LANG
5. 更改root权限密码
6. 最后一步,逐条输入:(很重要:无法进入系统,就是没启动这条)
touch /.autorelabel → exit → reboot
7. 上一步或右键点击:主机名——电源——重新启动客户机
1. 确保开机启动时连接镜像文件,如果是真机服务器,就需要:U盘或光盘镜像启动进入BIOS
不同主板进入bios按键不同,一般是F12或Esc
2. 光标:移动到Boot(开机启动项)
3. 减号移动:光标选中行,按-号移动到下一行,把第一行,设定为:CD-ROM Drive(光盘启动)
4. 光驱启动页面:选择第三项:Troubleshooting —— 回车
5. 选择第二项:Rescue a CentOs Linux system —— 回车
6. 在命令行输入:1——回车,continue
7. 回车键,进入Sh-4.2#模式下
8. 输入:chroot /mnt/sysimage/,进入原操作系统模式
9. 输入:passwd root,按照提示更改密码
10. 输入:exit或init 0,关机
11. 重启进入步骤2、3将开机启动顺序还原
12. 开机——登录更改的root密码
1.1 步骤:
a. 创建链接克隆
b. 更改链接克隆的IP
c. 更改hostname
1.2 使用命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 编辑网卡信息,更改ip,注释掉UUID
systemctl restart network.service # 重启服务,然后新建session重新登陆
hostnamectl set-hostname panyu-002 #更改hostname
cat /etc/hostname #显示为panyu-002
ssh login_name@ip_addr #输入密码即可登录
exit # 退出登录
1. Linux机器之间以密码方式互相登录
运行命令#ssh [ip address],标准命令:#ssh [username][@ip], 如果没有写用户名,则默认为系统当前登录的用户
命令#w查看系统负载,可查看到连接到该主机的客户端,如图为其它Linux连接前后
命令#whoami查看当前登陆的用户[username],ssh服务默认端口号为22,如果ssh端口不是默认的,则运行命令
#ssh- pportnumber[username][@ip]
2. Linux机器之间以密钥方式相互登录
host2上运行命令#ssh-keygen生成密钥对,按默认路径保存公、私密钥,私钥默认保存路径:/root/.ssh/id_rsa,公钥默认保存路径:/root/.ssh/id_rsa.pub,此处也可为密钥设置密码,也可不设置
host2上查看公钥:#cat /root/.ssh/id_rsa.pub,复制公钥内容后再添加到host1的/root/.ssh/authorized_keys;
host1检查selinux开启状态,若开启则先关闭selinux,临时关闭运行命令:
host2运行#ssh -p 22 [username]@ip即可以密钥方式登录host1,如下图