• 第一课预习


    第一课预习

    1.1 学习之初

    • 定位:明确目标

    • 目标职位:运维

    • 发展城市

    • 何时学完? 4个月

    • 工作机会

    • 目标薪资

    • 预习和复习

    • 当日事当日毕

    • 记好笔记,好记性不如烂笔头

    • 利用好资源

    • 建立自己的圈子

    1.2约定

    实验环境搭建

    环境:Centos7.4+Vmware Worksation12+Xshell

    阿里云镜像站:https://opsx.alibaba.com/mirror

    Centos历史镜像:http://vault.centos.org/

    共享资源站:r.aminglinux.com

    Centos7.aminglinux.com

    1.3 认识Linux

    谭邦宁:minix(微内核)

    Linux实际只是一个内核(宏内核 Linus Torvalds 1991 传记:只是为了好玩),由Linux内核+Gnu软件构成了Linux发行套件

    内核官网:https://www.kernel.org/

    GNU(gnu is no unix 递归)

    GPL许可 Linux内核已迁移到GPLv2

    Linux的几大派系

    1. Debian系----ubuntu(deb包管理方式)

    2. Redhat系----fedora, Centos(rpm包管理方式)

    3. Slackwar系----suse

    1.4安装虚拟机

    软件选择:vmware or virtualbox or kvm (windows下推荐vmware。比virtualbox稳定,方便)

    虚拟机安装过程(略)注意点:

    • 选择Centos64位

    fjvwy.png

    • 内存大于等于1GB(经测试对安装没有影响,512M也是可以图形安装)

    • 网络模式(桥接或NAT均可)

    fjPGX.png

    1.5 安装centos7(测试环境)

    分区 /boot 200M
    Swap 不超过8G, 小于8G内存的2倍
    剩余:/

    最小化安装(把开发工具装上)

    自定义分区

    1.6/1.7 配置IP

    1. 图形化方式修改: nmtui

    fjaEl.png

    fjc7J.png

    fjCYB.png

    1. 修改配置文件
    	[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32           
    	vim /etc/sysconfig/network-scripts/ifcfg-ens32
    	TYPE="Ethernet"
    	PROXY_METHOD="none"
    	BROWSER_ONLY="no"
    	BOOTPROTO="none"
    	DEFROUTE="yes"
    	IPV4_FAILURE_FATAL="no"
    	IPV6INIT="yes"
    	IPV6_AUTOCONF="yes"
    	IPV6_DEFROUTE="yes"
    	IPV6_FAILURE_FATAL="no"
    	IPV6_ADDR_GEN_MODE="stable-privacy"
    	NAME="ens32"
    	UUID="f78a6b73-f367-498a-b3ee-47f6b29ceab4"
    	DEVICE="ens32"
    	ONBOOT="yes"
    	IPADDR="192.168.1.211"
    	PREFIX="24"
    	GATEWAY="192.168.1.1"
    	DNS1="8.8.8.8"
    	DNS2="223.5.5.5"
    "/etc/sysconfig/network-scripts/ifcfg-ens32" 21L, 419C 
    

    修改后wq保存退出,重启网络服务

    [root@bogon ~]# systemctl restart network.service
    

    终端快捷键(emac编辑模式set -o | grep emac查看是emac模式)

    	CTRL-C      中断(有时是delete或者del)
    	CTRL-Z      暂停(放入后台执行)
    	CTRL-I      清屏,相当于clear
    	CTRL-D      退出终端
    	CTRL-S      锁定终端
    	CTRL-Q      解锁终端
    	CTRL-B      左移光标
    	CTRL-F      右移光标
    	CTRL-P      查看上一条命令(或上移光标)
    	CTRL-N      看下一条命令(或下移光标)
    	CTRL-A      移动光标至行首
    	CTRL-E      移动光标至行尾
    	CTRL-W      删除前一个词
    	CTRL-U      删除从光标至行首的内容
    	CTRL-K      删除光标至行尾的内容
    	CTRL-Y      粘贴已删除的文本(例如ctrl-u删除的内容)
    	CTRL-H      删除字符
    	M-b         向左移动一个单词(先按esc键,再按b键)
    	M-f         向右移动一个单词(先按esc键,再按f键)
        tab         命令补全,没事多按tab键
    

    systemctl(控制systemd系统和管理服务)命令

    基础用法

    1. 列出服务列表
    [root@bogon ~]# systemctl list-units --type=service
      UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
      abrt-ccpp.service                  loaded active exited  Install ABRT coredump hook
      abrt-oops.service                  loaded active running ABRT kernel log watcher
      abrtd.service                      loaded active running ABRT Automated Bug Reporting Tool
      auditd.service                     loaded active running Security Auditing Service
      chronyd.service                    loaded active running NTP client/server
      crond.service                      loaded active running Command Scheduler
    ……
    
    1. 启动服务(以网络服务为例)
      [root@bogon ~]# systemctl restart network.service

    2. 停止服务
      [root@bogon ~]# systemctl stop network.service

    3. 重启服务
      [root@bogon ~]# systemctl restart network.service

    4. 默认启动级别
      [root@bogon ~]# systemctl get-default
      multi-user.target

    其他有需要参考man 1 systemd

    有用链接:
    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-services

    1.8 网络问题排查(习惯网桥模式)

    常用的排除命令: ping、ifconfig、ip addr, route -n(查看默认网关)

    1.9 使用PuTTY远程连接Linux

    putty下载(下载完整绿色包)
    https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

    • 调缓冲区大小到最大值(2147483647)

    fjEy6.png

    • 调语言utf-8

    fjL8p.png

    • 调日志记录

    fjUH3.png

    调整完以后记得保存session

    1.10 使用xshell连接Linux

    fjKuK.png

    fj1tG.png

    fjAwn.png

    fj6GE.png

    fjILQ.png

    1.11 PuTTY密钥认证

    1. 生成密钥对

    fjlYa.png

    2.保存生成的公钥和私钥

    fj8Pz.png

    3.在Linux服务器上新建.ssh目录和authorized文件(以root用户例)

    	/root/.ssh/    权限700
    	/root/.ssh/authorized_keys   权限600
    	将公钥内容复制到authorized_keys文件,保存
    

    4.关闭seliux

    [root@bogon ~]# sed -i  's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config 
    

    5.配置putty使用证书登录

    fjS8S.png

    6.验证

    fjiHh.png

    1.12 xshell密钥认证

    • 进入用户密钥生成向导

    fj2tN.png

    • 生成密钥对

    fjR3u.png

    fjgM9.png

    • 在Linux服务器上新建.ssh目录和authorized文件(以root用户例)
      /root/.ssh/ 权限700
      /root/.ssh/authorized_keys 权限600
      将公钥内容复制到authorized_keys文件,保存

    • 关闭selinux
      [root@bogon ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config

    • 配置xshell使用证书

    fjnLA.png

    • 登录验证无问题

    1.13 单用户模式

    fGXMy.png

    将红色圆圈部分修改为:rw init=/sysroot/bin/sh , 然后执行ctrl+x 启动

    fGzRl.png

    fGQS6.png

    fGjJ3.png

    fGG6K.png

    fGO5G.png

    exit退出chroot, reboot重启

    1.14 救援模式

    修改为光盘启动模式

    fGbMn.png

    fGpeE.png

    fGsgQ.png

    fGPIH.png

    fGc5N.png

    fGCU9.png

    fGEgA.png

    改完密码以后,执行exit退出chroot,然后重启重新进入系统。

    1.15 克隆虚拟机

    建议快照后克隆链接

    fGtJR.png

    克隆虚拟机可能存在网卡不能起启动的问题。(参考网上解决方案即可)

    1.16 Linux机器相互登录

    1. 生成密钥对(ssh-keygen) fGkOi.png

    2. 后续步骤与putty/xshell和xshell的密钥登录一致,参考1.11或1.12

      简述如下

      在需要访问的Linux服务器上(以root用户登录为例)新建.ssh目录和authorized文件

      /root/.ssh/ 权限700

      /root/.ssh/authorized_keys 权限600

      将公钥内容复制到authorized_keys文件,保存

    3. 关闭selinux

    1. 通过ssh username@ip_addr 方式连接

    注意:如果需要使用密钥登录,需要登录的每个用户都需要单独做公钥上传动作。比如你想使用xxx用户名登录,就需要在该用户家目录下建立.ssh目录和authorized_keys。上传公钥。

  • 相关阅读:
    学习自建调试体系(二)
    寻找未导出函数的函数地址
    Http
    git忽略.gitignore
    Flask-sqlacodegen
    liunx速查
    BBS论坛项目
    vim操作
    部署
    python3 环境搭建
  • 原文地址:https://www.cnblogs.com/minn/p/9012450.html
Copyright © 2020-2023  润新知