自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萧碧宰治的博客

时间,不在于你拥有多少,而在于你怎样去使用。

  • 博客(88)
  • 收藏
  • 关注

原创 Python------Record the days of learning python--two

字符串相关函数注意: 以下的str不是模块名称,而是一个字符串变量!capitalize() 首字母大写格式: str.capitalize() 返回值:首字母大写的字符串,仅把整个字符串的第一个字符大写upper() 将所有英文字符变为大写格式:str.upper() 返回值:返回所有英文字符大写的字符串lower() 将所有英文字符变为小写格式:str.lower() 返回值:返回所有英文字符小写的字符串swapcase() 大小写互相转换格式:str.swapcas

2021-12-20 15:09:33 181

原创 Python------Record the days of learning python--one

目 录一、基础知识①输出②数据类型一、基础知识①输出目的:就是将我们所写的代码已界面话的方式呈现出来格式:print(“你要输出的东西”)import time #睡眠0.5秒为了方便把结果显示出来time.sleep(0.5)print("Hello World")不换行,加入end=""表示print结束时不再加\n而换成空。import timetime.sleep(0.5)print("今天,",end="")print("春光明媚,并且",end="")print("

2021-11-02 22:15:05 191

原创 Kubernetes------K8S之Pod详解

目 录一、Pod基础概念①pod的详解②pause容器使得Pod中的所有容器可以共享两种资源:网络和存储。③通常把Pod分为两类一、Pod基础概念Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提

2021-08-21 13:48:36 335

原创 Kubernetes------K8S之kubectl的各种操作(二)【声明式管理】

目 录一、声明式资源管理①声明式管理方法②基本操作综合② 走进 .yaml 文件(1)写一个 deployment 的 .yaml 文件(2)写一个 service 的 .yaml 文件(3)详解K8S中的port1 port2 targetPort3 nodePort4 containerPort一、声明式资源管理①声明式管理方法适合于对资源的修改操作声明式资源管理方法依赖于资源配置清单文件对资源进行管理资源配置清单文件有两种格式: yaml(人性化,易读),json(易于api接口解析)对

2021-08-18 19:07:51 398

原创 Kubernetes------K8S之kubectl的各种操作(一)【陈述式管理】

目 录一、陈述式资源管理①陈述式资源管理方法②kubectl 的命令大全③对资源的增、删、查操作比较方便,但对改的操作就不容易了④基本信息查看二、项目实际操作①创建kubectl create命令②发布kubectl expose命令③更新kubectl set一、陈述式资源管理①陈述式资源管理方法kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用apiserver 的接口kubectl是官方的CLI命令行工具,用于与 apiserver进行通信,将用户在命令行输入的命令,组织并

2021-08-17 19:12:07 190

原创 福音Jenkins持续集成的出现!

目 录一、持续集成介绍① 什么是持续集成②总体的流程③持续集成的组成要素和好处二、Jenkins介绍一、持续集成介绍① 什么是持续集成持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。通过持续集成, 团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归功于

2021-08-16 15:51:04 88

原创 Kubernetes------K8S的二进制部署(三)【实现高可用】

目 录一、master02 节点部署二、Kubernetes负载均衡部署①配置nginx的官方在线yum源,配置本地nginx的yum源②部署keepalived服务三、部署Dashboard UI①Dashboard 介绍②在master01 节点上进行如下操作1、规定kubernetes-dashboard-minimal该角色的权限:例如其中具备获取更新删除等不同的权限2、证书和密钥创建3、配置文件,对于集群dashboard设置的创建4、创建容器需要的控制器以及服务账户5、将服务提供出去一、mas

2021-08-13 18:19:27 319

原创 Kubernetes------K8S的二进制部署(二)

目 录一、Kubernetes二进制部署之master组件部署①master组件介绍②master组件部署之api-server③master组件部署之启动服务④master组件部署总图解二、Kubernetes二进制部署之master和node混合操作部署①在master节点操作②在node1节点操作③在master节点上操作④在node1节点操作⑤在master节点上操作⑥在node1节点操作⑦在node2节点上操作⑧在master节点上操作一、Kubernetes二进制部署之master组件部署①

2021-08-12 18:15:33 213

原创 Kubernetes------K8S的二进制部署(一)

目 录一、Kubernetes二进制部署之etcd集群部署①组件etcd概念②在master节点上部署etcd③在node节点上部署etcd④查看etcd集群⑤操作总图解二、Kubernetes二进制部署之docker集群部署三、Kubernetes二进制部署之flannel集群部署①组件flannel概念②在master节点上部署flannel③在node节点上部署flannel④查看flannel网络⑤操作总图解一、Kubernetes二进制部署之etcd集群部署环境准备:k8s集群master0

2021-08-11 22:48:04 214

原创 Kubernetes------深入剖析基础概念

目 录K8s 的目标是让部署容器化应用简单高效。K8s提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。Kubernetes集群架构与组件核心组件Kube-apiserverKube-scheduleretcdNode组件KubeletKube-Proxy.docker或rocketKubernetes核心概念PodPod控制器LabelLabel选择器(Label selector)serviceIngressNameNamespaceK8s 的目标是让部署容器化应用简单高效。K8s

2021-08-10 21:26:02 341

原创 Kubernetes------k8s的基础概念

目 录Kubernetes简介介绍需要前置知识K8S概念和特性部署发展历程K8S概述K8S概述K8S功能自动装箱自我修复(自愈能力)水平扩展服务发现滚动更新版本回退密钥和配置管理存储编排批处理架构细节K8S核心概念PodVolumeControllerDeploymentServiceLabelNamespaceAPI完整流程Kubernetes简介介绍K8S主要讲的就是Kubernetes,首先Kubernetes首字母为K,末尾为s,中间一共有8个字母,所以简称K8s需要前置知识Linux操

2021-08-10 17:30:20 137

原创 Ansible-playbook(剧本)

目 录一、Playbook剧本的概念①编写一个剧本的测试案例②定义、引用变量案例③指定远程主机sudo切换用户案例④when条件判断案例⑤迭代案例二、Templates 模块①先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量②修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量③编写 playbook三、tags 模块四、Roles 模块①roles 内各目录含义解释②在一个 playbook 中使用 roles 的步骤:(1)创建以 roles 命名的目录(2)创建全

2021-08-09 16:35:15 306

原创 Kubernetes------k8s集群的安装部署(kubeadm方式搭建)

目 录一、使用kubeadm方式搭建K8S集群①Kubeadm方式搭建K8S集群②安装要求二、话不多说直接部署①在所有主机上进行部署(2)设置主机的前期基本操作(所有主机)(2)各个主机之间的免密操作(仅在master上做一次即可所有主机免密登陆)(3)配置镜像源(所有主机)(4)安装常用工具、主机时间和系统时间同步(所有主机)(5)系统内核的升级(所有主机)(6)安装docker(所有主机)(7)安装kubelet(所有主机)②在master节点上进行部署(1)初始化master节点(master节点)(

2021-08-07 15:54:38 328

原创 Ansible

目 录一、Ansible的基础概念①Ansible存在的意义二、部署Ansible环境①按如下步骤进行部署②Ansible命令行模块(1)command模块(2)shell 模块(3) cron模块(4)user模块(5) group模块(6)copy模块一、Ansible的基础概念Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Putbet和saltstack能实现的功能,Ansible基本上都可以实现。①Ansibl

2021-08-06 21:11:21 618

原创 Docker------docker consul(容器服务的发现)

目 录一、Docker consul的容器服务和发现①服务注册与发现的含义②什么是consul二、服务部署①部署consul服务(1)查看集群信息(2)通过http api获取集群信息②部署registrator服务器(1)安装Gliderlabs/Registrator③部署consul-template服务器(1)准备template nginx模板文件(2)编译安装nginx(3)配置nginx(4)配置并启动template(5)访问 template-nginx注:添加consul多节点一、Do

2021-08-03 18:19:34 392

原创 Docker-----docker的仓库的搭建

目 录一、搭建本地私有仓库①首先下载registry镜像②在daemon.json文件中添加私有镜像仓库地址③运行registry容器④为镜像打标签⑤上传到私有仓库⑥测试二、Docker--harbor私有仓库部署与管理①Harbor简介②Harbor的特性③Harbor的构成④部署Docker-Compose服务⑤部署Harbor服务(1)下载或上传Harbor安装程序(2)修改harbor安装的配置文件(3)启动 Harbor三、维护管理Harbor①通过Harbor web创建项目②创建Harbor用

2021-08-02 18:55:22 525

原创 Docker------编写数据卷(镜像的操作)

目 录一、Docker的数据管理1、数据卷2、数据卷容器二、容器互联(使用centos镜像)三、docker镜像的创建1、基于已有镜像创建① 首先启动一个镜像,在容器里做修改② 然后将修改后的容器提交为新的镜像,需要使用该容器的ID号创建新镜像2、基于本地模板创建① 通过导入操作系统模板文件生成新的镜像,下载地址http://openvz.org/Download/template/precreated② 使用wget命令导入为本地镜像③ 导入成功后可查看本地镜像信息3、基于Dockerfile创建① 联

2021-08-01 16:22:35 257

原创 Docker------网络

目 录前言一、Docker 网络1、Docker 网络实现原理2、Docker 的网络模式3、网络模式详解① host模式② container模式③ none模式④ Bridge模式⑤ 自定义网络⑥ 端口映射二、资源控制1、CPU 资源控制2.对内存使用的限制3.对磁盘IO配额控制(blkio)的限制前言安装Docker时,它会自动创建三个网络:bridge、 none 、hostdocker network ls #查看docker网络一、Docker 网络1、Docker 网络实

2021-07-31 09:44:59 168 1

原创 Docker------docker compose

目 录一、docker compose的概论①Docker-compose 简介②compose 部署1.Docker Compose 环境安装2.YAML 文件格式及编写注意事项3.Docker Compose配置常用字段4.Docker Compose 常用命令5.Docker Compose 文件结构一、docker compose的概论docker compose 给容器做单机编排的docker swarm docker集群管理调度工具,可以多台主机构建成一个docker集群,用户可以通过ap

2021-07-30 20:22:36 160

原创 Docker------初探docker的奇妙

目 录一、说Docker①docker概念②Docker核心概念二、安装Docker①将旧的版本移除②设置 Docker 的存储库并从中安装,以便于安装和升级任务。这是推荐的方法。③启动docker④验证docker是否正常运行⑤查看docker⑥建立缓存加速文件⑦卸载三、Docker 镜像操作①搜索镜像②获取镜像③镜像获取后的一系列操作④镜像的上传(GitHub)四、Docker 容器操作一、说DockerDocker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。D

2021-07-23 19:01:30 718 1

原创 ZooKeeper集群和Fafka集群

目 录一、Zookeeper 概述①Zookeeper定义(1)zookeeper 工作机制(2)Zookeeper特点(3)zookeeper数据结构(4)zookeeper选举机制二、部署Zookeeper集群1.安装zookeeper2.配置zookeeper启动脚本一、Zookeeper 概述①Zookeeper定义Zookeeper是一个开源的分布的,为分布式框架提供协调服务的Apache项目。(1)zookeeper 工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式

2021-07-23 15:45:54 675

原创 ELK 日志分析系统(ElasticSearch、Logstash、Kiabana)

目 录一、ELK 概述①ELK简介②为什么要使用 ELK③完整日志系统基本特征④ELK 的工作原理:环境准备二、ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)①配置环境②部署 Elasticsearch 软件(1)安装elasticsearch—rpm包(2)加载系统服务(3)修改elasticsearch主配置文件(4)创建数据存放路径并授权(5)启动elasticsearch是否成功开启(6)查看节点信息③安装 Elasticsearch-head 插件(1)编译安装

2021-07-19 18:58:48 220

原创 GFS分布式文件系统

目 录一、GlusterFS 概述① GlusterFS简介② GlusterFS特点③ GlusterFS术语④ 模块化堆栈式架构⑤ GlusterFS的工作流程⑥ 弹性HASH算法⑦ GlusterFs的卷类型一、GlusterFS 概述① GlusterFS简介1 GlusterFS 是一个开源的分布式文件系统。2 由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。3 没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。传统的分布式文件系统大多

2021-07-18 10:14:13 203

原创 Rsync远程同步

目 录一、rsync远程同步简介①rsync远程同步部署1)配置rsync源服务器二、rsync+inotify用来监控①发起端配置rsync+inotify1.修改rsync源服务器配置文件2.调整inotify 内核参数3.安装inotify-tools4.在另外一个终端编写触发式同步脚本一、rsync远程同步简介rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非

2021-07-15 16:47:03 127

原创 对Redis中主从复制、哨兵模式和集群进行部署

目 录前言一、Redis主从复制的部署①作用②过程③搭建redis主从复制1)安装Redis2)修改Redis配置文件(Master节点操作)3)修改Redis 配置文件(两个Slave节点操作)4)验证主从效果二、Redis哨兵模式部署①原理②组成③搭建Redis哨兵模式1)修改Redis 哨兵模式的配置文件(所有节点操作)2)启动哨兵模式3)故障模拟三、Redis群集模式①作用②Redis集群的主从复制模型③搭建redis集群1)配置3主3从2)开启群集功能3)启动redis节点3)启动集群前言??

2021-07-14 19:49:10 60

转载 Redis的5大数据类型(String、List、Hash、Set、Sorted Set)

Redis数据类型一、String① append② set③ strlen④ incr、decr、incrby、decrby⑤ getset⑥ setex⑦ setnx⑧ mset、mget、msetnx二、List① lpush、lpushx、lrange② lpop、llen③ lrem、lset、lindex、ltrim④ linsert⑤ rpush、rpushx⑥ rpop、rpoplpush三、Hash① hset、hget、hdel、hexists、hlen、hsetnx② hincrby

2021-07-12 13:46:46 342

原创 非关系型数据库-----Redis-2

目录一、Redis持久化二、RDB持久化1.触发条件①手动触发②自动触发2.执行流程3.启动时加载三、AOF持久化1.开启AOF2.执行流程四、RDB和AOF的优缺点五、Redis性能管理一、Redis持久化持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文

2021-07-09 12:21:20 85

原创 非关系型数据库-----Redis

目录一.关系数据库与非关系型数据库(1)关系型数据库(2)非关系型数据库(3)关系型数据库和非关系型数据库区别1.数据存储方式不同2.扩展方式不同3.对事务性的支持不同(4)、非关系型数据库产生背景二、Redis简介Redis介绍Redis具有以下几个优点三、服务部署(1)Redis安装部署(2)Redis命令工具(3)redis-cli命令行工具(远程登陆)(4)redi s-benchmark 测试工具一.关系数据库与非关系型数据库(1)关系型数据库关系型数据库是一个结构化的数据库,创建在关系模

2021-07-08 10:22:59 195

原创 Squid代理服务器应用

目 录一、缓存代理①代理的工作机制②代理的基本类型一、缓存代理作为应用层的代理服务软件,Squid主要提供缓存加速、应用层过滤控制的功能。①代理的工作机制当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存。如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容反馈给客户机。如果缓存中没有客户机要访问的页面,则由代理服务器向Internet 发送访问请求,获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机,HTTP代理的缓存加速对象主要是文字、图像等静态Web元

2021-07-07 09:16:38 79

原创 MySQL-MHA高可用配置及故障切换

目录一、MHA(含义、组成、特点)==**含义(什么是MHA)**====**组成(MHA组成)**====**特点(MHA特点)**==二、MySQL MHA搭建①搭建思路1.MHA架构2.故障模拟②主要实验配置1.Master、Slave1、Slave2 节点上安装 mysql5.72.修改 Master、Slave1、Slave2 节点的主机名3.修改 Master、Slave1、Slave2 节点的 Mysql主配置文件/etc/my.cnf4.在 Master、Slave1、Slave2 节点上都

2021-07-04 14:32:16 301 1

原创 MySQL读写分离&主从复制

目 录一、MySQL读写分离①读写分离(含义、意义、场景)==**含义(什么是读写分离):**====**意义(为什么要读写分离):**====**场景(什么时候要读写分离):**==Ⅰ 原理Ⅱ 较为常见的MysQL读写分离分为以下两种:1)基于程序代码内部实现2)基于中间代理层实现②主从复制Ⅰ 主从复制与读写分离的关系Ⅱ MySQL支持的复制类型Ⅲ MySQL主从复制的工作步骤二、MySQL主从复制和读写分离的配置①MySQL主从服务器时间同步②主从服务器的MySQL配置③搭建MySQL读写分离1)Amo

2021-07-01 20:09:17 137 1

原创 通过shell脚本一键部署---------MySQL数据库

本次脚本运用到的软件地址为:链接:https://pan.baidu.com/s/1u08zFwkZBSfinA6mA1O-SA提取码:3333请将所用到的软件通过windows解压,并将(mysql-5.7.17.tar.gz、 boost_1_59_0.tar.gz、Python-3.9.0.tgz )这几个软件移动到/opt目录下。#!/bin/bashecho -e "----正在验证当前为仅主机还是NAT模式----"ping -c 2 -w 2 www.baidu.com &am

2021-06-30 16:03:46 138

原创 MySQL高级(进阶)SQL语句 3

目 录一、MySQL进阶语句①----空值(NULL)和无值("")的区别----②数据库中的正则表达式二、存储过程①创建存储过程②调用存储过程③查看存储过程④存储过程的参数⑤删除存储过程⑥存储过程的控制语句一、MySQL进阶语句①----空值(NULL)和无值("")的区别----无值的长度为0,不占用空间的;而NULL值的长度是NULL,是占用空间的。IS NULL或者 Is Nor NULL,是用来判断字段是不是为NOLL或者不是NOLL,不能查出是不是无值的。无值的判断使用=’'或者&l

2021-06-30 15:58:03 130

原创 MySQL高级(进阶)SQL语句 2

目 录一、MySQL进阶查询①---- 别名 ----栏位別名 表格別名②---- 连接查询 ----③---- CREATE VIEW----视图,可以被当作是虚拟表或存储查询。④---- UNION----联集,将两个SQL语句的结果合并起来,两个SQL语句所产生的栏位需要是同样的资料种类⑤----交集值----⑥----无交集值----⑦---- CASE ----是SQL用来做为IF一THEN一ELSE之类逻辑的关键字语法:⑧----算排名----⑨----算中位数----⑩----算累积总计---

2021-06-29 19:22:21 104 1

原创 Mysql 高级(进阶)SQL语句

目 录一、MySQL进阶查询①---- SELECT ----显示表格中一个或数个栏位的所有资料②---- DISTINCT ----不显示重复的资料③---- WHERE ----有条件查询④---- AND OR ----且 或⑤---- IN ----显示已知的值的资料⑥---- BETWEEN ----显示两个值范围内的资料⑦---- 通配符 ----通常通配符都是跟 LIKE 一起使用的LIKE ----匹配一个模式来找出我们要的资料⑧---- ORDER BY ----按关键字排序⑨---- G

2021-06-28 19:31:18 390 2

原创 MySQL日志管理、备份和恢复

目 录一、日志管理①日志的具体管理二、数据库的备份①备份的重要性②数据库备份的分类Ⅰ 从物理与逻辑的角度,备份可分为:Ⅱ 从数据库的备份策略角度,备份可分为③常见的备份方法三、数据库的备份和恢复(配置)①MySQL完全备份和恢复1.物理冷备份与恢复2.mysqldump 备份与恢复②MySQL增量备份于恢复1. 增量备份2. MySQL增量恢复一、日志管理MySQL 的日志默认保存位置为 /usr/local/mysql/data①日志的具体管理vim /etc/my.cnf[mysqld]

2021-06-28 16:10:51 86 1

原创 MySQL------存储引擎

目录一、MySQL 存储引擎一、MySQL 存储引擎·MyISAM 表支持 3 种不同的存储格式:(1)静态(固定长度)表静态表是默认的存储格式。静态表中的字段都是非可变字段,这样每个记录都是固定长度的,这种存储方式的优点是存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多。(2)动态表动态表包含可变字段,记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新、删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r 命令

2021-06-27 21:24:36 47

原创 MySQL------事务

目 录一、MySQL 事物1.事务的概念2.事务的ACID特点●原子性:指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。●一致性:指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。●隔离性:指在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。●持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。3.事务控制语句一、MySQL 事物1.事务的概念事务是一种机制、一个操作序列,包含了一组数据库操作命令

2021-06-24 17:07:32 77

原创 MySQL------索引

目录一、MySQL索引①索引的概念、作用、副作用②创建索引的原则依据③索引的分类和创建(1)普通索引(2)唯一索引(3)主键索引(4)组合索引(单列索引与多列索引)(5)全文索引(FULLTEXT)一、MySQL索引①索引的概念、作用、副作用概念:1 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 2 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据

2021-06-24 14:35:02 109

原创 通过shell脚本一键部署---------LNMP架构

本次脚本运用到的软件地址为:链接:https://pan.baidu.com/s/1aI2CozsZGZQRZKViN9Q8wA提取码:2222请将所用到的软件通过windows解压,并将(nginx-1.12.0.tar.gz,mysql-5.7.17.tar.gz,boost_1_59_0.tar.gz,php-7.1.10.tar.bz2,Discuz_X3.4_SC_UTF8.zip)这几个软件移动到/opt目录下。#!/bin/bash#先配置好yumecho -e "----正在验证

2021-06-23 19:27:34 145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除