预习第一天上课笔记(2016年12月31日)

预习第一天上课笔记(2016年12月31日)


(一):桌面共享

  • 使用vncviewer进行远程连接,vncviewer为客户端软件,服务端使用vncviewer
  • vnc一共有三个常用的实现远程桌面连接的软件:realvnc,tightvnc和UItarvnc

(二):详细讲解马哥质料目录的使用方法

  • 但是好像我们的资料里面没有这些目录

(三):老师推荐的PPT制作文档

  • www.slideshare.net(但是好像被墙了),Twitter

(四):linux运维课程体系大纲

  • linux入门
  • linux系统管理
  • linux服务及安全管理
    • httpd,lamp,lnmp
    • cache: memcached,varnish
    • DB:mysql(mariadb)
  • linux cluster
    • LB cluster:nginx, lvs
    • HA cluster: Keepalived
  • linux ops:ansible
  • linux monitoring: zabbix
  • http:
  • tomcat,lnmt,lamt,session replication cluster
  • 分布式储存系统:
    • MogileFS ,GlusterFS
    • LB Cluster: haproxy
    • HA Cluster :Corosync + pacemaker psc/crmsh
    • Mysql:HA Cluster 、MHA、备份和恢复、MySQL Replication、Read-Write splitting
    • NoSQL: redis,mongodb,Hbase
    • 运维工具:puppet(自动化运维工具)【saltstack】cobbler
    • 虚拟化:
    • linux操作系统原理 ;虚拟化技术原理;
    • kvm虚拟化的实现应用讲解;xen虚拟化
    • 虚拟化网络:SDN
    • OpenStack (云计算运栈)
  • Docker: 虚拟化容器云的实现
  • ELK Stack : ElasticSearch,Logstash,Kibana
  • 大数据:Hadoop V2 (分布式集群)—分布式并行存储分析平台
    • HBase,Hive
    • Storm,Spark
  • 系统优化:
    • Python语言实现自动化,中间件

(五):RedHat

  • 认证考试
    – RHCSA:红帽认证助理工程师
    – RHCE:红帽工程师
    – RHCA:红帽架构师

(六)学习阶段

  • 教室学习:4个月;
  • 工作学习:8个月,不断看笔记;

(七)IT技术领域

  • 研发:硬件:接口:
    • CPU(计算器和控制器),内存,输入,输出;
    • 机器语言:二进制命令,二进制数据
  • 软件:
    • 低级语言:汇编语言,汇编器
      • 用于写驱动程序
    • 高级语言:
      • 系统级:C , C++;
        • 操作系统,对性能有较高的要求的服务类程序
      • 应用级:Java,Python,ruby
        • 用于写应用程序
  • 应用:
    • linux运维:linux生态圈的各种应用程序的应用;
      • shell脚本编程:让运维工作实现自动化;
      • Python:专业变成语言
        • ansible,openstack
  • DevOps:
    • Development;
    • Operations;

(八)IT技术领域

  • ENIARC: 具有五大部件
    • CPU:运算器,控制器,寄存器(内部存储器,用于寄存数据),缓存(用于缓存数据);
    • 存储器:内存(RAM–random access memory);
    • Input:下指令,提供数据等;
    • Output:输出数据加工后的结果
  • 思考:计算机如何从存储器中取得数据
    • 程序:
      • 指令+数据
      • 算法+数据结构
    • 过程式编程语言:
      • 顺序执行:依次
  • OS的接口有两类:
    • GUI:graphics user interface;
      • GNone:gtk(C 语言研发)
      • KDE : C++开发, QT
      • FACE
    • CLI:command line interface;
      • bash
      • zsh
      • sh
      • csh
  • 操作系统的功能
    • 驱动程序
    • 进程管理
    • 安全
    • 网络功能
    • 内存管理
    • 文件系统
    • ……………
  • API: Application Program Interface(程序员面对的编程接口)
    • POSIX:可移植操作系统
  • ABI: Application Program Interface(程序应用者面对的运行程序的接口)
  • GNU
  • 源码:编译成为二进制格式

(九)linux的放行版本(有数百中之多)

  • Debian
    • ubuntu
      • mint
    • knopix
  • Slackware
    • s.u.se
      • opensuse
  • RedHat:
    • RedHat 9.0
      • RedHat Enterprise Linux: RHEL
        • CentOS : Community Enterprise OS
      • Fedora Core: 6个月发行一个版本
  • Gentoo
  • Archlinux
  • 软件程序:版本号
    • major.minor.release
    • linux: 0.99,2.2,2.4,2.6,3.0,4.0
      • www.kernel.org
        -GNU
      • vi
      • gcc
      • ……
  • 发行版也有自己的版本号:
    • RHEL: 5.x 6.x 7.x
      • Fedora : 23
    • Debian: 8.x
    • Opensuse: 13.x
  • 常见的CPU架构
    • x86
    • x64
    • m68k
    • arm(移动端设备使用)
    • ultrasparc solaris
    • power(IBM生产,非常强大) aix
    • MIPS
    • alpha(惠普)hp-ux
    • ……………………..
  • 开源协定
    • GPL
    • BSD
    • Apache : ASF
  • 双线授权
    • community:遵循开源协定
    • Enterprise:商业授权,企业版本
  • 程序管理
    • 程序的组成部分
      • 二进制程序
      • 配置文件
      • 库文件
      • 帮助文件
    • 程序包管理器
      • 程序的组成文件打包成一个或有限几个文件
      • 安装
      • 卸载
      • 查询
    • Debian: dpkg, apt-get
    • RedHat: rpm , yum, —>dnf
    • S.u.S.E: rpm, zypper
    • ArchLinux: port
    • Gentoo:
    • kali:
    • LFS: Linux From Scratch —–> 这个太美,但是很难

(十)安装linux

  • 虚拟机:linux
  • 计算机:CPU,内存,IO

    • VMware
    • virtualbox
  • ISO镜像:

    • 硬盘分区:留出一些空间,实在不行,安装完成之后,可以新增一块硬盘
    • 终端:terminal:
      • GUI:
        • GNome
        • KDE
      • CLI:
        • bash, zsh, sh, csh, ksh

(十一)远程连接:

  • ssh协议:secure shell
    • ss -tnl
      • 查看系统监听于TCP协议的22号端口
    • ifconfig
      • 查看本机的IP地址
    • ip addr list
      • 也能查看本机的IP地址
    • iptables -L -n
      • 查看本机的防火墙
    • iptables -F
      • 临时关闭防火墙
    • systemctl disable firewalld.service(centos 7)
      • 禁用防火墙
    • systemctl stop firewalld.service (centos 7)
      • 永久关闭防火墙
    • service iptables stop(centos 6)
      • 关闭防火墙
    • chkconfig iptables off (centos 6)
      • 开机自启动关闭防火墙
    • echo $SHELL
      • 查看接口程序
    • systemctl poweroff
      • 关机
    • systemctl reboot
      • 重启
    • file /bin/ls
      • 查看文件的类型

(十二)终端设备

  • 多任务、多用户
  • 物理终端,控制台:console
  • 虚拟终端:6个 虚拟终端称为tty
    • Ctrl+Alt+F[1-6]
  • 图形终端
    • centos 6
      • Ctrl+Alt+F7
    • centos 7
      • 在哪个虚拟终端启动,即位于哪个虚拟终端
  • 串行终端 :ttyS
  • 伪终端 : pty
  • linux的哲学思想
    • 一切皆文件
      • 表现之一:硬件设备也通过文件表示,通信管道
        • 物理终端:/devconsole
        • 虚拟终端:/dev/tty#[1,6]
        • 串行终端:/dev/ttyS#
        • 伪终端:/dev/pty
    • 由众多功能单一的程序组成,组合小程序完成复杂的任务:一个程序只做一件事,并且做好
    • 尽量避免和用户交互:易于以编程的方式实现自动化任务
    • 使用文本文件保存配置信息
    • 思考:文件是什么?有众多的文件如何有效组织
      • 基于层级方式管理文件的方式叫做:文件系统
      • 目录:路径映射
      • 文件:存储空间存储的一段流式数据,可以对数据做到按名存取
      • 文件系统 :/dev/pts/2 —->路径映射方式,文件系统是层级结构
    • 注意:在启动设备之后,在其上关联一个用户接口程序,既可以实现与用户交互
    • 查看终端设备
      • tty
    • 查看接口程序
      • echo $SHELL
    • 启动GUI
      • 在某一虚拟终端接口运行命令:startx &
  • CLI 接口:
    • 命令行接口:
      • prompt
        • root
        • 主机名
        • ~ 当前所在目录
        • # 命令提示符root
        • $ 普通用户的提示符
        • 建议使用非管理员账号登入

(十二)系统结构

  • 系统最底层是硬件
  • 硬件上面是kernel
  • kernel上面是librarys
  • librarys上面是应用程序,其中最特别的是shell(命令解释程序),其实现了用户可以和系统打交道的平台

(十三)回顾

  • 开源协定
    • GPL, LGPL, BSD, Apache
  • 程序的组成部分
    • 二进制程序文件
    • 库文件
    • 配置文件
    • 帮助文件
    • 二进制文件、库文件、可执行文件只能通过十六进制查看器查看
      • 库文件:不能被独立执行,只能被调用时执行
    • 配置文件、帮助文件:可以查看其内容的文件
      推荐看的书:《穿越计算机的迷雾》、《量子物理史话》
  • linux基础知识
    • 发起一条命令实质是:请求内核将某个二进制程序运行为一个进程
      • 程序—->进程
      • 静态—->动态(有生命周期)
        • 命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件
        • 大多数程序文件都存放在:/bin /sbin(管理员才能执行), /usr/bin, /usr/sbin, usr/local/bin, /usr/local/sbin(第三方软件)
        • 普通命令:/bin, /usr/bin, /usr/local/bin
        • 管理员命令: /sbin, /usr/sbin, /usr/local/sbin
        • 共享库: /lib , /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/llib64
        • 注意: 并非所有的命令都有一个可执行文件
        • 32位的库:/lib,/usr/lib,/usr/local/lib
        • 64位的库:/lib64,/usr/lib64,/usr/local/lib64
  • 命令必须遵循特定规范: ELF格式
  • 命令一共可以分为两类
    • 由shell程序自带的命令:内置命令(builtin)
    • 独立的可执行程序文件,文件名即为命令名:外部命令(也就是有对应的二进制文件的命令)
  • shell程序是一个独特的程序,负责解析用户提供的命令;
    • 环境变量
      • PATH:从哪找命令对应的二进制文件
      • 查找次序为:从左向右
  • 注意:shell自带的命令是无法再到对应的二进制文件的,因为shell自带的就有
  • 那么如何知道哪些是内部命令哪些是外部命令呢?
    • type COMMAND
  • OPTIONS
    • 指定命令运行的特性,运行的效果,不同的选项有不同结构
    • 选项有两种表现形式:
      • 短选项: -C ,例如 -l, -d
        • 多个短选项可以合并在一起
      • 长选项: –word –human-readable
        • 长选项不能合并
    • 注意:有些选项可以带参数,称为选项参数
  • ARGUMENTS
    • 命令的作用对象
    • 不同的参数以空格分开
  • 如何获取命令的使用帮助
    • 内部命令
      • help COMMAND
    • 外部命令
      • COMMAND –help(简要帮助)
      • man COMMAND(手册在/usr/share/man/)
  • 使用手册:压缩格式的文件,有章节之分
    • /usr/share/man
    • 1:用户命令
    • 2:系统调用
    • 3:C库调用
    • 4:设备文件及特殊文件
    • 5:文件格式(配置文件格式)
    • 6:游戏使用帮助
    • 7:杂项
    • 8:管理工具及守护进程
    • 通过whatis 命令来查看是命令位于哪一个章节
    • 注意:其执行的过程是查询数据库进行的
    • 手动跟新数据库 makewhatis
  • man命令打开手册之后的使用方法
    • 空格键:向文件尾部翻一屏
    • b: 向文件首部翻一屏

(十四)常用命令

  • cd相关的环境变量
  • $PWD:当前工作目录
  • $PWD:上一次的工作目录

  • echo 命令

    • -n 不进行换行
    • -e 让转义字符生效
    • 字符串(string)可以使用引号,单引号和双引号都可以
      • 单引号:强引用 ,变量不被替换
      • 双引号:弱引用,变量会被替换
        这里写图片描述
    • 但是一般来说,变量的引用的正规符号为:${SHELL}
  • date 命令(系统时钟)

    • linux启动以后从硬件启动日期和时间信息,读取完成以后,就不再与硬件相关联了
    • 显示系统日期时间:date [OPTION]… [+FORMAT]
      • FORMAT为格式符
    • 设定时间日期:date [MMDDhhmm[[CC]YY][.SS]]
  • clock(hwclock)命令(硬件时钟)
    • 显示或设定硬件时钟
    • -s –hctosys:以硬件为准,将系统的时间设置为和硬件一样
    • -w –systohc:以系统为准,将硬件的时间设置为和系统一样
  • cal 命令
    • 显示日历
    • cal + 月份或年份

你可能感兴趣的:(linux自动化运维)