本笔记由51码儿(www.51mar.com)提供


1.1学习之初 预习和复习的重要性(预习:大致看看命令等,有印象。复习:随时浏览) 当日事当日毕(只能做到当周事当周毕,保证给自己的理由,不能越堆越多) 记笔记(清晰) 利用好资源(VIP群,一起学习,借鉴别人分享的解决问题的方法,QQ找老师,视频下方区域可提交问题,圈子里有工作介绍) 3年有效期(有更新可继续学习)


1.2约定 系统CentOS 7.3(目前工作需要,安装的CentOS 7) 虚拟软件VMware workstation 10 (本机12版本) 终端puTTY+Xshell(puTTY开多窗口麻烦,不如Xshell,Xshell个人版免费) 记笔记:记录学习历程 印象笔记(不能公开)app.yinxiang.com 51CTO博客(网络资源,公开分享,工作加分)blog.51cto.com Keeppass密码工具(官方提供同步更新,有手机端)keeppass.info 百度网盘(有手机端) pan.baidu.com r.aminglinux.com会更新软件变动 Centos7.aminglinux.com课程代码及命令


1.3认识Linux Andriod手机操作系统属于Linux操作系统。 Unix(mac os)收费。 大学老师开发教学系统Minix(类Unix)。 1991 Linus Torvalds参考Minix,开发Linux 内核,很多人在此基础上进行二次开发。 GNU(GNU’s not unix)/gpl与Linux,开源,免费。 Debian(1993)—Ubuntu(2004) Slackware(1993)—SUSE(1994) RedHat(1994)—CentOS(2003源于RHEL) RedHat—RedFlag(1999) RedHat— Fedora(过渡,RHEL试用版) RHEL(2002商业版)


1.4创建虚拟机 创建虚拟机,相当于安装一台电脑。镜像(可后面选择)-Linux-CentOS64-名称-位置(大的分区)-单个或多个文件-自定义硬件-网络NAT模式==>一台电脑。


1.5安装CentOS7 选择好镜像文件,开启虚拟机。 三个选项:安装、测试、排查问题,根据情况选择安装。 安装前多分配CPU可加快安装速度,安装完成后可重新调整。 各选项根据情况选择。根据需要,本机选择了工作站。 安装位置可自定义,可加密(每次登录系统或进入分区文件都需要输入密码)。 手动分区:标准分区、Btrfs、LVM(虚拟磁盘,可实现扩容和缩容)、LVM简单配置 标准分区:挂载点(目录) /boot swap(交换分区,不能当硬盘使用,分配内存的2倍,内存超过4G时最高分8G足够。) / 接受格式化磁盘数据的更改,开始安装。 设置好ROOT密码,可创建用户。如果密码太简单,需要点击两次完成。 完成后重新启动即可进入操作系统。


1.6配置ip(上) ls 列出当前目录下的文件 Ctrl+Alt释放鼠标。 通过远程ip用远程终端连接更方便。 有的校园网有限制,用NAT模式也不能上网。 dhclient 自动获取ip ip add 可查看ip地址 菜单栏-编辑-虚拟网络编辑器-可更改子网ip 网关:相当于路由器。 重启服务器后,ip地址要变化,需要设置固定ip,才能使用远程连接。 Tab自动补全路劲。


1.7配置ip(下) *vi *编辑文件 vim vi的升级版 vi /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称可能不一样Tab自动补全命令)

BOOTPROTO=static (固定IP) dhcp(自动获取)
UNBOOT=yes (启动服务) no(关闭服务)
IPADDR=IP地址
NETMASK=255.255.255.0
GATEWAY=网关地址
DNS1=119.29.29.29(DNS获得的DNS IP)

参考Friends系列课程-基础网络。 Ctrl+L清屏 systemctl restart+服务名称 重启服务 systemctl restart network.service 重启网络服务


1.8网络问题排查 网络连接:桥接、NAT、仅主机、自定义。 重新获取IP:一个服务只能运行一次,若需要重新运行,需要先退出服务。 dhclient -r 杀死该服务后可重新运行dhclient Windows中查看桥接的网络的网段: cmd 打开命令界面 ipconfig查看网段等信息(属于net-tools包,yum install -y net-toolsyum install+安装包,安装相应的安装包 ping+地址ping baidu.com) 找故障:ping网关、ping外网,挨着排查 route -n查看网关


1.9使用putty远程连接Linux 虚拟机快照,相当于备份,如果后面出问题,可恢复快照。快照很少,不会占用太多磁盘空间。 远程连接:puTTY+Xshell puTTY官网下载整个包putty.zip(chiarc.greenend.org.uk) Xshell功能更强大,个人免费使用 Port端口默认22 Translation中需要选择UTF-8字符编码,支持中文 puTTY右键粘贴


1.10使用xshell连接linux 新建会话,SSH协议,端口22,可在连接-用户身份验证中设置预登陆信息(用户+密码),保持活动连接中可设置时间间隔,选择UTF-8字符编码。 工具-选项-键盘和鼠标中设置快捷键、右键粘贴等操作。 菜单栏可设置各栏目隐藏显示,可设置多窗口排列方式等。


1.11puTTY密钥认证 钥匙+锁<=>私钥+公钥 puTTYGEN,generate过程中需要移动鼠标,私钥需要保存好。 mkdir /root/.ssh chmod 700 /root/.ssh vi /root/.ssh/authorizedkeys 将公钥复制保存进authorized_keys文件中,保存。 getenforce 查看selinux状态 setenforce 0 关闭防火墙selinux(0:Permissive; 1:Enforcing) exit<=>Ctrl+D 打开puTTY窗口,选中相应服务器,选择SSH-Auth,选择私钥文件,save保存! 重新进入该服务器地址后,输入用户名后提示输入密钥密码,而不是用户密码了。 设置了密钥认证后,密码也可以登录,可以设置禁止密码登录。


1.12Xshell密钥认证 Linux机器上操作跟创建puTTY密钥认证一致。 Xshell窗口中,选择菜单栏-工具,其中有几个密钥管理选项。选择新建用户密钥生成向导。 类型:RSA,密钥长度:2048。 设置密钥名称、密码。 将公钥复制到authorized_keys文件中,保存。同时可将公钥复制保存为文件,方便以后需要。 打开-选中相应服务器名称-连接-用户身份验证, 方法:public key 用户名:根据自己情况输入 用户密钥:选择相应文件(会自动加载生成的文件) 密码:之前设定的密码 确定后连接到该服务器,就能直接登录进入Linux系统了(使用的是密钥认证)。


1.13单用户模式 忘记root密码时,可使用单用户模式,更改root 密码 重启: reboot init 6 shutdown -r now 关机: init 0 poweroff 电源-重新启动客户机,按e键进入 grab启动工具,找到: linux16 /~/行,从ro位置开始改rw,并跟着后面添加* init=/sysroot/bin/sh*,sysroot是原系统所在路径。然后根据提示,按Ctrl+X启动。相当于安全模式。 此时并没有进入到系统。 ls /sysroot/boot/ 由于磁盘未挂载,该目录未空。 ls /sysroot/root/.ssh/authorizedkeyscat /sysroot/root/.ssh/authorizedkeys, *chroot /sysroot/ *切换到原来的系统环境下。此时 cat /root/.ssh/authorizedkeys,该文件目录跟前面是有区别的,切换系统后,更改root密码。 passwd root 更改完密码后,需要 touch /.antorelabel 然后再重启,用新的root密码登录系统。


1.14救援模式 运行级别:init 0~6 共7个级别 0:关机 1:单用户模式(启动进入grab进行配置,不需要进行用户认证。要编辑grab,前提是知道grab密码,或grab没有加密。) 3:无图形操作界面 5:图形操作界面 6:reboot重启 ls -l /usr/lib/systemd/system/runleveltarget查看运行级别。 如果忘记grab密码时,可选择光盘模式。 启动时进入BIOS固件模式,进入Boot 使用+-号将CD-ROM Drive调整为第一选项,F10保存退出。 进入光驱启动界面,选择Troubleshooting模式,再进入Rescue a CentOS Linux system模式。 根据提示:

1)Continue
2)Read-only mount
3)Skip to shell
4)Quit(Reboot)

选择1(输入1回车)继续,根据提示按return回车得到一个shell命令行,跟单用户模式很像。 ls -l /mnt/sysimage/root/.ssh/anthorizedkeys查看是否存在该文件(密钥登录时候所创建的),同时可用cat查看该文件内容。 cat /mnt/sysimage/root/.ssh/anthorizedkeys *chroot /mnt/sysimage/ *可以发现前缀由ssh变为了bash,此时可以更改root密码 passwd root更改密码后,需要更改BIOS,将Boot设置恢复至原来的模式,或者也可以将光盘断电:虚拟机中设置取消启动时连接。然后重新启动。此时需要使用新的root密码进行登录验证。 单用户模式或者救援模式之后,重启系统,若卡在了界面:

Warning:Skipping the following R/O filesystems:
/sys/fs/cgroup

再进行重启即可,一般三次左右,就能正常启动了(原因尚未清楚)。 单用户、光盘模式中,除了修改root密码外,当系统由于改错了配置文件而无法启动时,可进入单用户或光盘模式,将改错的文件修复,再重启。 将光盘(或系统U盘)模式称为救援模式。


1.15克隆虚拟机 关机不应该直接关闭电源,而应该使用命令行init 0 重装比较耗费时间,克隆比较快捷。 管理-克隆-创建链接克隆/创建完整克隆,其中创建完整克隆是复制整个虚拟机所有文件,耗时间,占空间。一般选择创建链接克隆即可。 克隆完成,登录。需要更改IP地址,否则若两台虚拟机同时登录,IP地址一样。 vim /etc/sysconfig/network-scripts/ifcfg-ens33 更改IPADDR(static模式中可更改/dhcp模式下由于自动获取,没有IPADDR设置选项,),删除UUID(若不删除,两台机器UUID一样,不可行)。 重启网络服务 systemctl restart network.service 开启另外一台机器。 hostname 查看主机名 hostnamectl set-hostname +主机名 更改主机名 主机名配置文件/etc/hostname,可cat查看该文件,获得相应主机名。 cat /etc/hostname 克隆机的密钥跟随原机器,并能在puTTY和Xshell上直接使用。


1.16Linux机器相互登录 工作中经常会用到两台虚拟机的互联。 ssh -p port username@ip(如ssh -p 22 root@192.168.63.130) 如果没有写用户名,默认为当前系统登录的用户;如果没有写端口,默认端口为22。 ssh ip(如ssh 192.168.63.130whoami查看当前登录用户 w 查看系统负载 ssh-keygen可生成密钥对,用于linux上的密钥登录。 第一步:存储密钥对,可指定路径,指定名字。默认可按回车,表示密码为空。 第二步:将公钥id_rsa.pub内容复制到另一台机器/root/.ssh/authorized_keys中保存。就可以用ssh进行密钥认证登录了。