系统部署 系统安装过程Linux 安装过程 加载 boot loader 加载启动安装菜单 加载内核和 initrd 文件 加载根系统 运行 anaconda 的安装向导 isolinux 目录下安装相关文件# 将光盘挂载到/mnt/sro目录下 [root@centos8 mnt]$mount /dev/sr0 /mnt/sr0/ mount: /mnt/sr0: WARNING: device wri 2020-12-09 运维 > 运维自动化 > 系统部署 #PXE
ulimit 控制 shell 程序的资源 ulimit [-SHacdefilmnpqrstuvx] [limit] 配置文件ulimit 命令,立即生效,但无法保存,永久保存需要修改配置文件: /etc/security/limits.conf /etc/security/limits.d/*.conf # 配置文件格式:每行一个定义 <domain> <type> <item> 2020-12-09 运维 > 基础 > 加密和安全 #ulimit
OpenSSL命令 openssl command [ command_opts ] [ command_args ] 两种运行模式:交互模式、批处理模式 直接输入 openssl 回车进入交互模式,输入带命令选项的 openssl 进入批处理模式。 OpenSSL 整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL 协议库以及应用程序。OpenSSL 的目录结构自然也是围绕这三个功能部分进行规划的。 2020-12-09 运维 > 基础 > 加密和安全 #OpenSSL
OpenSSH服务 说明:ssh 客户端(后面简称 ssh)、ssh 服务端(后面简称 sshd) SSH 认证过程 Client 10.0.0.8 ssh 远程连接 Server 10.0.0.7: [root@centos8 ~]$ssh 10.0.0.7 The authenticity of host '10.0.0.7 (10.0.0.7)' can't be established. ECDSA key 2020-12-09 运维 > 基础 > 加密和安全 #OpenSSH
DSA 同余定理两个不同的整数 a、b,被一个整数 m 相除时,得到相同的余数,那么我就可以称 a、b 对 m 同余。 换言之,(a-b)/m 得到一个整数,因为 a、b 相减时把余数抵消掉了。 a、b 对 m 同余,记做 a≡b(mod m) 例如:4≡7(mod 3) 欧拉函数 (其中 p1, p2……pn 为 x 的所有质因数,x 是不为 0 的整数) 欧拉函数表示小于或等于 n 的正整 2020-12-09 运维 > 基础 > 加密和安全 #DSA
DH (Diffie-Hellman) RSA 既可以用于密钥交换,又可以用于数字签名;ECC 这边就分得比较清楚了:ECDHE 用于密钥交换,ECDSA 用于数字签名。 ECDHE 密钥交换使用的是 DH(Diffie-Hellman)算法。 Deffie-Hellman(简称 DH) 密钥交换是最早的密钥交换算法之一,它使得通信的双方能在非安全的信道中安全的交换密钥,用于加密后续的通信消息。 Whitfield Diffie 和 M 2020-12-09 运维 > 基础 > 加密和安全 #DH
加密和安全 安全机制加密算法 对称加密 非对称(公钥)加密 单向加密 认证协议 对称加密将原始数据分割成固定大小的块,逐个进行加密;加密和解密使用同一个密钥。 优点:效率高。 缺点:因为加密和解密使用同一个密钥,所以需要通信的一方生成密钥并发送给对方,才能进行通信。万一密钥被截获,那别人就即可以给你发送加密信息,也可以破解你的加密信息。 常见的对称加算法:DES、3DES、AES、Blowfish,Twof 2020-12-09 运维 > 基础 > 加密和安全 #加密和安全
进程和线程的pid 程序创建进程,一个进程至少创建一个线程,程序的运行最终是靠线程来完成的。 有人说在 Linux 中,进程和线程是一样的,这种说法是不对的,线程和进程都有自己的 id 初步理解各种 id pid: 进程 id lwp: 线程 id,light weight process (thread) ID,也叫 spid 或 tid 使用 ps 等工具查询的时候,线程的的 PID 是线程所在进程 id,S 2020-12-09 运维 > 基础 > 进程和计划任务 #进程
进程相关命令 pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat,kill, pkill, job, bg, fg, nohup pstree进程树,来自 psmisc 软件包(fuser 和 killall 也来自 psmisc ) connecting.asciidoc pstree [OPTION] [ PID | USER ] 2020-12-09 运维 > 基础 > 进程和计划任务 #进程
进程、系统性能和计划任务 进程和内存管理什么是进程?process:程序是静态文件,程序启动后会载入到内存中,运行中的程序就是进程,进程是一个指令合集,是资源分配的单位。 第一个进程是 init,centos7 以后为 systemd 进程都在/proc/目录下,例如有不明进程 724 占用 CPU 过高,可以cat /dev/null > /proc/724/exe先清空进程,然后再排查问题,不直接 kill 是怕 2020-12-09 运维 > 基础 > 进程和计划任务 #进程
nmcli 通常的 linux 发行版对于网络的配置方法一般会同时支持 network.service 和 NetworkManager.service(简称 NM)。默认情况下,这 2 个服务都有开启,而且功能上是平行的,可以通过任意一个来配置网络,正常的情况下通过 NM 来配置网络后它会自动把配置同步到 network.service 的配置中。 nmcli 是 NetworkManager 的命令行工具 2020-12-09 运维 > 基础 > 网络 #网络 #nmcli
路由器 路由器交换机主要用于组建局域网,路由主要功能是将由交换机组好的局域网相互连接起来,或者接入 Internet 交换机能做的,路由器都能做 同一网段的 ip 可以直接通信,不同网段的 ip 需要通过路由器进行通信 路由器是属于网络互联设备,每一个端口连接的都是不同的网络 。在隔绝广播域方面,路由器做了以下工作: 对外端口:① 路由器接收到广播,直接拒绝;② 路由器接收到单播,先校验 MAC 地址,如 2020-12-09 运维 > 基础 > 网络 #网络
磁盘存储和文件系统 磁盘结构一切皆文件:open(),read(),write(),close() 设备文件:关联至驱动程序,进而能够与对应的硬件设备进行通信 设备号码: 主设备号:major number, 标识设备类型 次设备号:minor number, 标识同一类型下的不同设备 设备类型: 块设备:block,存取设备单位“块”,磁盘等 字符设备:char,存取设备单位“字符”,键盘等 机械硬盘的结 2020-12-09 运维 > 基础 > 磁盘 #磁盘管理 #文件系统
软件管理 软件运行环境POSIXPOSIX:Portable Operating System Interface 可移植操作系统接口,定义了操作系统应该为应用程序提供的接口标准,是 IEEE 为要在各种 UNIX 操作系统上运行的软件而定义的一系列 API 标准的总称。Linux 和 windows 都要实现基本的 posix 标准,程序就在源代码级别可移植了 C 语言程序的实现过程源代码->预处理 2020-12-09 运维 > 基础 > 软件 #软件管理
文件查找locate和find locatefind 去硬盘搜索,locate 是去数据库搜索,系统预建的文件索引数据库:/var/lib/mlocate/mlocate.db执行updatedb更新数据库,这个命令构建索引的过程需要遍历整个根文件系统,很消耗 io 资源,所以在服务器比较繁忙的时候不要执行 locate [OPTION]... [PATTERN]... -i 2020-12-09 运维 > 基础 > tar和find #locate #find
打包压缩 压缩和解压缩除了 zip,所有的压缩都是压缩文件,不能打包目录。 .Z压缩 compress compress file 解压缩 uncompress uncompress file.Z .gz压缩 gzip gzip file 解压缩 gunzip gunzip file.gz .bz2压缩 bzip2 bzip2 file 解压 bunzip2 bunzip2 file.bz2 . 2020-12-09 运维 > 基础 > tar和find #tar
test 判断某需求是否满足,一般做条件判断,搭配 if 和三元表达式使用。若真,则状态码$?返回0若假,则状态码$?返回 1 test 命令也可以简写为[] test expression # 或 [ expression ] 在 test 中使用变量建议使用双引号包裹test 和[]都是命令,一个命令本质上对应一个程序或者一个函数。即使是一个程序,它也有入口函数,所以也可以将一个程序等效为一个函数,这 2020-12-09 运维 > 基础 > shell脚本编程 #shell #test
pushd和popd 在 shell 脚本中,相比 cd 和 cd -,使用 pushd 和 popd 更高端大气上档次 pushd : push (in) directory,将目录压栈,最后一个压入的目录位于栈顶 popd : pop (out) directory,将目录栈逐个弹出 目录栈的栈顶永远存放的是当前目录。如果当前目录发生变化,那么目录栈的栈顶元素肯定也变了;反过来,如果栈顶元素发生变化,那么当前目 2020-12-09 运维 > 基础 > shell脚本编程
shell脚本编程 基本用法脚本调试脚本错误分为三种: 语法错误,导致后续命令不继续执行,使用 bash -n 检查错误 命令错误,默认后续命令继续执行,使用 bash -x 检查错误 逻辑错误,只能使用 bash -x 检查 变量shell 脚本中的所有变量值都是字符串,其中的数字也是字符串 shell 中变量命名规则- 只能使用数字、字母及下划线,且不能以数字开头 - 区分大小写 - 变量、等号、值中间不能出 2020-12-09 运维 > 基础 > shell脚本编程 #shell