1.1学习之初
账号3年有效期
1.2约定
系统:CentOS7.3
虚拟机:VMware workstation 10
终端: PuTTy + Xshell
笔记:印象笔记
博客:51CTO /CSDN
密码保管:Keepass
软件安装包:r.aminglinux.com
课程代码:centos7.aminglinux.com
1.3 认识Linux
Q:核与操作系统的区别?
A:内核就是计算机学科意义上的操作系统:直接与硬件交互,提供CPU时间片管理、中断、内存管理、IO管理等等;一般意义上的操作系统包含的东西要更多一些。至少要有用户交互的基本程序,比如一个命令行界面和基本的指令(文件遍历、进程管理等等),或者图形界面的桌面和文件浏览器。
1970年是为Unix元年;
1991年 Linus Torvalds 参考Minix开发了Linux(仅仅是内核);
GNU(GNU‘s not unix)/gpl与Linux
Linux的发行版:
Debian(1993)->Ubuntu(2004)
Slackware(1993)->SUSE(1994)
RedHat(1994)->CentOS(2003)
RedHat->RedFlag(1999)
RedHat Fedora RHEL(2002)
参考: https://www.jianshu.com/p/a6a594a00b5b三个人对计算机的发明功不可没,居功至伟。阿兰·图灵(Alan Mathison Turing)、阿塔那索夫(John Vincent Atanasoff)、和冯·诺依曼(John von Neumann)。图灵从理论上证明了计算机的可行性;阿塔那索夫实践了图灵的理论;冯·诺依曼奠定了现代计算机的体系结构。
1.4 创建虚拟机
安装VMware 10->创建一个虚拟机->稍后安装操作系统->Linux(CentOS 64位)->磁盘选择20G->将虚拟磁盘存储为单个文件->1G 内存->1核处理器->选择NAT模式。
NAT模式--相当用户物理机为路由,虚拟机的IP不受物理机网络的变化影响 ;
桥接模式--相当于与物理机并行比如 手机和电脑 ;
仅主机模式-- 虚拟机用网线和pc连接,直连;
1.5安装CentOS 7.3
编辑虚拟机设置--使用ISO镜像文件-选择ISO文件--开启此虚拟机->选择Install CentOS->中文(简体)->安装位置(我要配置分区)--完成--手动分区(选择标准分区)--+号添加挂载点;
存储选项-自定义--选择标准分区--选择我要分区;
分区大小如下:添加挂载点
/boot 启动空间 200MB
/swap RAM 2G,交换分区 一般为内存的2倍,内存大于4G分8G即可
/ 根目录 剩下所有
Root 密码: root 8.....
然后重启输入账号密码即可。
1.6 配置IP(上)
1.7 配置IP下)
远程终端工具连接服务器,TCP IP通信使用了NAT,却怎么也配置不上网络,思考是否当前为校园网 ,校园网不允许NAT模式 。
(1) < dhclient> 自动获取IP ,会改变IP
< ip addr> 添加网卡,可能是 nes33
选择 虚拟机 编辑->虚拟网络编辑器可以配置IP网关,如图配置成192.168.188.0段。
(2) vi /etc/sysconfig/network-scripts/ifcfg-ens33 手动配置固定配置网卡和IP
(试试使用table键补全命令信息)
输入:
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.188.128
NETMASK=255.255.255.0
GATEWAY=192.168.188.2
DNS1=119.29.29.29
Esc--->shift+ : ---->wq 保存并退出
(3)systemctl restart network.service //重启服务
--------------------------------------------------------------------------------------
配置桥接模式:
VMware 右下角有一个图标-点开设置,更改为桥接模式,保存退出。
然后需要<dhclient -r > 杀死当前网络服务,
再使用<dhclient> 自动获取IP;
使用 <ifcofig > ==< ip addr >查看当前网段变为了与windows相同的网段,说明桥接模式成功;
ping下 若网络不通, 提示如下错误,说明网络有错误NAT和桥接都是无法连接的,打开看下网络适配器是否处于连接状态。
1.8 排错网络
(1) 打开编辑里面的虚拟网络编辑器-删掉VMnet8,重新添加VMnet8,配置子网IP为192.168.188.0 和NAT模式;
重新执行<dhclient -r > <dhclient> <ifconfig >,然后ping一下,能ping通后, ctrl+C 退出ping接收数据;
若还不通使用 <route - n > 查看是否有配置的网关, 若提示配置不存在则再配置ens33, .
再ping 一下自己的 主机IP 看是否通 。
<yum install -y net-tools> 安装含有ifconfig的yum包
(2)在虚拟机上右键-快照可以保存当前配置,并在出问题是可以恢复,它占的空间很小。
1.9 使用PuTTy远程连接linux
(1) putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
下载 putty.zip (a .ZIP archive of all the above) 32-bit:
Lines of scrollback 最多向上滚动2000行
选择字体和字号
传输需要设置成UTF-8,可以显示中文;
双击打开putty后,输入要连接的iP和端口号,默认端口号为22,输入名字点击load-->save即可,点击Open 打开PuTTy,输入配置的管理员名字root和密码登录即可。
支持双击复制,右击粘贴。 ctrl+d 直接关闭。
1.9 使用xshell远程连接linux
(1)xshell
选择家庭版不然会收费。
安装完毕>>配置 linux IP 和端口号22 登陆linux账号、密码,连接即可,可以复制粘贴。
可以在工具-->选项-->键盘和鼠标设置复制粘贴的操作。
1.10 使用puTTy认证密钥
(1)打开PUTTYGEN.exe ,点击generte,-获取密钥,--设置密码私钥 123456,生成密钥对--公私钥对保存一下。
(2)创建私钥文件
在linux配置如下:
< mkdir /root/.ssh>---创建目录
<chmod 700 /root/.ssh >--更改权限
< vi /root/.ssh/authorized_keys>--创建文件,编辑公钥文件保存退出。
粘贴公钥文件authorized_keys---注意 先按下 i,不然会少一个s
<setenforce 0 >--暂时 关闭防火墙
(3) 在puTTy中配置私钥
putty中添加 私钥文件所在位置->点session--save(必须否则下次还要添加)-- --登陆putty--输入用户root-输入设置的私钥密码123456,便可以登陆linux。
登陆效果如下:
密钥的好处,可以禁止密码只用密钥更安全。
1.11 使用Xshell认证密钥
(1) Xshell--获取密钥,--设置密码 123456
Xshell--工具--新建用户生成密钥--打开会话--RSA--2048--填入账号aming01--密码123456--复制出公钥--并保存一下公钥文件;
(2)创建私钥文件
< vi /root/.ssh/authorized_keys>--编辑公钥文件保存退出。
代表注释掉不生效。
(3)配置 密钥登陆
打开--选择用户名-选择属性-选择密钥认证并输入设置的密码123456-重新登陆即可。
1.13 单用户模式 rescue
忘掉了Linux的用户密码有两种方式修改root密码:1,单用户模式(必须在本物理 机);2,光盘救援模式。
重启linux的命令 (<reboot >或 <init 6 > 或<shutdown -r now > )
(1)单用户模式
必须在物理本机上,所以在Vmware中客户机上右键-电源重新启动客户机且知道grup密码或grup没有密码。
在重启时,按上下键选择上面那个,再按下"e"编辑,进入grup界面(相当于windows的bootloader),
按下方向键找到 linux16 ,然后在下方ro后面更改为rw init=/sysroot/bin/sh (在启动时增加可以输入命令的程序,这些在执行完一次后下次重启就恢复了),然后按下 ctrl+x重启。
现在处于安全模式下,实际 /sysroot/下的bin文件才是正在系统的bin文件。输入<cat /sysroot/root/.ssh/authorized_keys> 查看密钥文件,这个时候需要切换到sysroot的文件系统中,输入 <chroot /sysroot/>,然后就可以使用<cat /root/.ssh/authorized_keys>查看密钥文件了,说明已经切换到了真正的系统下,然后输入<passwd root >修改密码,必须在最后输入<touch /.autorelabel>,一定要运行,最后直接右键-电源-重新启动客户机即可。
1.14 救援模式
运行级别从0-6,共七个级别, 0-- 关机 1--单用户模式 2.3.4--多用户模式 5--图形模式 6--reboot,正常进入一般是3级别。
<ls -l /usr/lib/systemd/system/runlevel*target > 查看等级
(1)使用救援模式,需要先关机,设置加载光驱。
(2)右键 --电源->启动时进入BIOS,右键到boot,通过+/-号将 CD-ROM Drive 挪到第一个,按下F10,保存并退出。
选择 Troubleshooting,再选择第二项 rescue a CentOS Linux system。
再选择1,然后输入enter,此时也要切换到真正的root去,输入<chroot /mnt/sysimage> ,然后在修改密码,再设置启动时不要链接光驱,这样即使它在第一位启动时也不会挂载光驱了,然后重启即可。
当不小心改了系统的配置文件无法启动时,便可以进入troubleshooting进入系统修改文件。
1.15 克隆虚拟机
克隆,拷贝一台机器。
虚拟机-->管理-->克隆-->创建链接克隆--->完成
克隆完毕IP地址是一样的需要更改一下IP, 启动Aming-Linux02--更改IP为129< vi /etc/sysconfig/network-srcipts/ifcfg-ens33 > -->删掉UUID一行(否则会一样有冲突)-->然后重启服务<systmctl restart network.service>
<hostname> == <cat /etc/hostname > 查看主机名字
<hostnamectl set-hostname aming-01 > 修改主机名字
退出再重新进入后,主机名生效。
在Xshell中注册跟之前注册aming-01一样的方式。
1.16 linux机器互相登陆
(1)设置互登
Aming-01 :192.168.188.128
Aming-02 :192.168.188.129
<ssh 192.168.188.129 >--连接 登陆另一台机器IP 默认端口22
=具体指令<ssh -p 22 root@192.168.188.129>,若端口号部位22需指定端口号。
<w> 查看挂载的终端
<who am i> 查看当前登陆用户名
ctrl + d 退出互登
(2)互登使用密钥认证
在aming-01上 <ssh-keygen > 生成公钥、私钥对(id_rsa 私钥 / id_rsa.pub 公钥)
查看 公钥,将公钥复制到aming-02
在aming-02上编辑公钥文件< vi /root/.ssh/authorized_keys>,
输入从aming-01拷贝的公钥,并临时关闭selinux 防火墙。
回到aming-01,重新链接aming-02,不在需要输入密码直接密钥认证登陆成功。