课程体系:
Linux入门
Linux系统管理
Linux服务及安全管理:
httpd,lamp,lnmp
cache:memcached,varnish
DB:mysql(mariadb)
Linux cluster:
LB cluster:Nginx,LVS
HA cluster:keepalived
Linux ops:ansible
monitoring:zabbix
http:
Tomcat,lnmt,lamt,session replication cluster
分布式存储系统:
mogileFS,clusterFS
LB cluster:haproxy
HA cluster:Corosync+pacemaker,RHCS,pcs/crmsh
MySQL:HA cluster,MHA,备份和恢复、MySQL replication,read-write splitting
nosql:Redis,MongoDB,hbase
运维工具:puppet,[saltstack]
虚拟化:
linux操作系统原理:虚拟化技术原理
kvm虚拟化应用详情:xen虚拟化
虚拟化网络:SDN
docker:容器云
ELK stack:elasticsearch,logstash,kibana
大数据:Hadoop v2,并行存储及分析平台
hbase,hive
storm,spark
系统优化:
Python编程:
Redhat:
认证考试:
RHCSA
RHCE
RECA
IT技术领域:
研发:
硬件:
CPU,内存,输入,输出
机器语言:二进制指令、二进制数据
软件:
低级语言:汇编语言,汇编器(写驱动)
高级语言:
系统级:C,C++,编译器
操作系统,对性能较高的服务类程序
应用级:Java,Python,ruby
应用程序:ansible,puppet
应用:
Linux运维:Linux生态圈中的各应用程序的应用
shell脚本编程:让某些应用工作自动完成
Python:专业编程语言
ansible,OpenStack
DevOps:
development
operations
ENIARC:
CPU:运算器、控制器、寄存器、缓存
存储器:内存、RAM(random access memory)
input:下指令,提供数据等
output:输出数据加工后的结果
程序:指令+数据
算法+数据结构
存储知识:
内存的最小存储单元是字节 Bytes
32字长,即32位的CPU只能识别2^32Bytes内存地址,即4GB内存
操作系统的功能
驱动程序
进程管理
安全
网络功能
内存管理
文件系统
开发接口标准
API:application program interface (程序员面对的编程接口)
ABI:application binary interface(程序应用者面对运行程序的接口)
POSIX: Portable Operating System Interface(IEEE在操作系统上定义的一系列API标准)
库函数和系统调用
用户和内核空间
为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级别,从0到3,数字越小,访问级别越高
0代表内核态,在该特权级别下,所有内存上的数据都是可见的,可访问的3代表用户态,在这个特权级下,程序只能访问一部分的内存区域,只能执行一些限定的指令
范例:
str = "abc" // 用户空间 x = x + 100 // 用户空间 file.write(str) // 切换到内核空间 y = x + 200 // 切换回用户空间
Linux哲学思想
一切都是一个文件(包括硬件)小型,单一用途的程序链接程序,共同完成复杂的任务避免令人困惑的用户界面配置数据存储在文本中
Linux各种版本
CentOS 各版本介绍
https://zh.wikipedia.org/wiki/CentOSRHEL各版本介绍
https://zh.wikipedia.org/wiki/Red_Hat_Enterprise_LinuxUbuntu 各版本介绍
https://zh.wikipedia.org/wiki/Ubuntu
https://blog.csdn.net/songfulu/article/details/85310273
获取Linux发行版:
CentOS
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
https://mirrors.tuna.tsinghua.edu.cn/centos/
Ubuntu
http://cdimage.ubuntu.com/releases/ Server版
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/
http://releases.ubuntu.com/ Desktop版
http://mirrors.aliyun.com/ubuntu-releases/
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
下载对应版本的iso文件
安装前可通过isos目录-系统版本目录内的shaXXsum.txt对挂载的文件完整性进行验证,挂载iso文件后运行命令:shaXXsum /dev/sr0
以上文件名及命令中的XX为数字,具体同shaXXsum.txt文件
6d44331cc4f6c506c7bbe9feb8468fad6c51a88ca1393ca6b8b486ea04bec3c1 CentOS-7-x86_64-DVD-1810.iso
[root@centos7 ~]# sha256sum /dev/sr0 6d44331cc4f6c506c7bbe9feb8468fad6c51a88ca1393ca6b8b486ea04bec3c1 /dev/sr0
分区:
主分区+扩展分区 不超过4个
/dev/sda1-4
扩展分区可划分逻辑分区,不限制数量
/dev/sda5… (逻辑分区编号)
分区规划:
/ 根据实际需求设置
/boot 1G
swap 一般为内存的2倍,最大不超过8G
[root@centos7 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 5G 0 part / ├─sda3 8:3 0 3G 0 part /data ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 4G 0 part [SWAP] sr0 11:0 1 4.3G 0 rom /run/media/root/CentOS 7 x86_64
系统安装过程中可使用Ctrl+alt+Fn来切换tty终端方式(例如图形化安装界面时Ctrl+alt+F2可切换到字符界面,命令行输入chvt #也可切换终端)
安装过程中查看内存的方法:cat /proc/meminfo (安装过程中free无法使用)
安装过程前在VMware设置NAT的DHCP网段为10.0.0.100-254,仿真生产环境通常使用的10网段
扩展:解决因误修改了配置文件导致的系统更无法启动问题
启动界面按“E”,在显示的内核长数据行后加“空格 rd.break”,Ctrl+x 执行
进入后:
可通过mount查看根位置,一般为/sysroot/
此时系统内的文件均为只读状态,可使用如下命令修改:
mount -o rw,remount /sysroot
之后可修复文件
2.2 实验环境设置 2.2.1 关闭SELinux
永久:修改/etc/selinux/config文件中的SELINUX=disabled
临时:getenforce (执行后提示disabled)
[root@localhost ~]#cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. # SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted2.2.2 关闭防火墙
永久关闭: systemctl disable firewalld
暂时关闭: systemctl stop firewalld
[root@localhost ~]#systemctl disable firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.2.2.3 开机连接网络
修改/etc/sysconfig/network-scripts/下的网络文件中ONBOOT为yes:
[root@localhost ~]#cat /etc/sysconfig/network-scripts/ifcfg-ens160 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp 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=ens160 UUID=d8cde2cf-007b-4c94-a5f4-57d81a61942c DEVICE=ens160 ONBOOT=yes



