运维SRE-06 阶段性复习软件管理体系

那些年运维必会操作-第一弹

  • 操作
    • 文件:增删改查
      • 增:touch,vim,>,>>,cp
      • 删除:rm
      • 修改:内容:vi/vim,>,>> 文件名:mv
      • 查看:内容:cat/vim/less/more/head/tail/sed/awk/grep 内容排序:sort/uniq 文件名字:find
    • 目录:增删改查
      • 增:mkdir
      • 删除:rm
      • 修改:改名 mv
      • 查看:ls,tree,find
    • 用户:增删改查
      • 增:useradd(adduser)
      • 删除:userdel
      • 修改:usermod
      • 查看:id(uid,gid,组),w(登录),last,lastlog
    • 权限:增删改查
      • chmod:权限
      • chown:所有者
      • lsattr/chattr(隐藏属性)
    • 四剑客:增删改查
      • 正则配合三剑客进行过滤
      • 取行,取列
      • 统计计算
      • find进行查找文件,按照名字,按照时间,按照大小
      • find+其他命令(sed,ls,rm,grep)3种方法:find + |xargs find + 反引号 find+ -exec\
      • 特殊情况:find + cp/mv
      • 特殊情况:find + tar
    • 打包压缩三剑客:
      • tar:zcf `` tf``xf``-c
      • gzip:注释配置文件gzip *.repo``gzip -d 解压
      • zip/unzip:unzip解压zip压缩包
    • 磁盘:增删改查
      • 磁盘分区:fdisk/parted/gdisk
      • 格式化
      • 挂载
    • 软件包:rpm,yum,增删改查
      • rpm:查询,手动安装rpm包
        • 增:rpm -ivh
        • 删除:rpm -e
        • 修改:rpm -Uvh
        • 查看:rpm -qa;rpm -ql
      • yum:自动下载,自动安装
        • 增加:yum install -y``yum localinstall
        • 查看:yum list(用于知道软件包名字,看看yum源中是否有 yum provides``yum search all(用于你不知道软件包名字,软件包内容)
        • 删除:yum remove
        • 修改:yum update/upgrade
  • 知识点:
    • 目录结构
    • 命令格式
    • 文件属性(ls -lhi每一列含义)
    • 软连接硬链接
    • 权限体系:文件和目录 rwx
    • 磁盘故障案例
    • Linux安装软件包方式
  • 复杂操作
    • 配置别名
    • 磁盘:分区,格式化,挂载,永久挂载
    • yum仓库搭建
#配置文件yum源的配置文件 配置yum命令下载软件的的时候从哪里下载.
配置文件目录: /etc/yum.repos.d/   
yum源配置文件以.repo结尾.
文件内容:
[base]                   #yum源名字
name=介绍这个yum源的作用    #注释
enabled=1                #是否开启yum源
baseurl=yum仓库的地址.    #http://mirrors.aliyun.com/.......   或 file:///data/cdrom 
gppcheck=0               #是否开启软件包校验.
  • 给Linux系统配置yum源(从清华或阿里云下载软件包)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

软件包管理体系-编译安装

  • 编译安装
    • 把你获取的软件的源代码(C语言代码),通过编译操作,把代码变成可执行的命令。
  • 编译安装步骤(三部曲)
    • 配置:./configure (对代码进行配置)
    • 编译:make (把代码根据上面配置要求进行编译,代码—>命令)
    • 编译安装:make install (把命令复制到系统指定的目录中,创建目录,复制配置文件)
编译安装-黑客帝国(字母雨)
#01 安装依赖
yum install -y python-libs ncurses-devel binutils

#02 解压注意:软件包要上传到 /app/tools/目录下.
mkdir -p /app/tools
cd /app/tools/
tar xf cmatrix-1.2a.tar.gz

#03 进入目录准备开始编译安装
cd cmatrix-1.2a/

#04 编译安装3步曲
./configure
echo $? #检查上一个命令执行结果 # 0表示正常. 非0 错误。
如果出现configure: error: no acceptable cc found in $PATH
yum install -y gcc



make
make install



#05 结果
cmatrix

#06 编译默认安装的目录
/usr/local
编译安装-nginx
#01 检查系统是否安装过nginx,需要删除.
#02 下载代码包  
#03 安装依赖
#04 编译安装三部曲 安装到指定目录/app/nginx-1.20.2
#05 扩展:启动nginx与访问
#01 检查系统是否安装过nginx,需要删除.

rpm -e `rpm -qa |grep nginx`
rpm -qa |grep nginx 

#02 下载代码包  
cd /app/tools/
wget https://nginx.org/download/nginx-1.20.2.tar.gz #如果没有wget则yum安装下.

#03 安装依赖
不知道依赖.
yum install -y openssl-devel pcre-devel

#04 编译安装三部曲 安装到指定目录/app/nginx-1.20.2
#--prefix=指定安装目录,没有就自动创建
tar xf nginx-1.20.2.tar.gz
cd nginx-1.20.2

./configure --prefix=/app/nginx-1.20.2  --user=nginx  --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_mp4_module

make  
make install

#05 编译安装后续操作
##a) 检查nginx信息
[root@oldboy81-golden-lnb ~]# /app/nginx-1.20.2/sbin/nginx -V 
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/app/nginx-1.20.2 --user=nginx --group=nginx --with-http_ssl_module --withhttp_v2_module --with-http_stub_status_module --with-http_mp4_module
##b) 准备用户
useradd -s /sbin/nologin -M nginx

##c) 关闭selinux和防火墙
####关闭防火墙
systemctl disable firewalld   
systemctl stop firewalld

####关闭selinux
setenforce  0   
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

##d) 启动与访问nginx
/app/nginx-1.20.2/sbin/nginx   #启动
[root@hb-sre-001 sbin]# ps -ef|grep nginx
root       9069      1  0 15:38 ?        00:00:00 nginx: master process ./nginx
nginx      9070   9069  0 15:38 ?        00:00:00 nginx: worker process
root       9072   4811  0 15:38 pts/0    00:00:00 grep --color=auto nginx


#测试下访问
浏览器输入10.0.0.100
http://10.0.0.100:80
#伪装成百度
wget https://www.baidu.com/
cp index.html   /app/nginx-1.20.2/html/index.html

部署二进制版本tomcat为例
#00 关闭防火墙和selinux.
####关闭防火墙
systemctl disable firewalld   
systemctl stop firewalld 
####关闭selinux
setenforce  0   
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

#01 下载tomcat二进制软件包  
wget --no-check-certificate -P /app/tools/ https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.93/bin/apache-tomcat-8.5.77.tar.gz

#02 安装依赖(环境)
yum install -y java


#03 解压与启动
##a) 解压
cd /app/tools/
tar xf apache-tomcat-8.5.77.tar.gz
ln -s apache-tomcat-8.5.77   tomcat
##b) 启动
/app/tools/tomcat/bin/startup.sh  
##c)检查 进程
[root@oldboy81-golden-lnb /app/tools]# ps -ef |grep java

在这里插入图片描述

软件包管理体系总结

  • rpm
  • yum
  • 编译安装
  • 二进制
软件安装方式简介详细特点优势缺点应用场景
rpm软件包安装rpm是linux软件包格式买回来后只需要简单的加工就可以食用. 但是,没有相关依赖,需要自己解决.自己下载rpm包,自己安装。缺少依赖自己手动解决依赖.只要你有rpm包.通过rpm命令安装.缺少依赖.只能手动解决依赖.yum源没有,自己下载好了rpm可以用rpm命令安装安装的时候推荐使用yum localinstallrpm命令一般用于查找软件安装没有,软件包内容
yum命令安装依赖自行解决yum安装软件,替我们下载rpm包,替我们安装rpm包,缺少依赖yum替我们下载.自动检查依赖,自动下载安装依赖网络(也可以自搭建yum仓库解决必备,大部分软件通过yum安装有的时间yum源中的软件包版本较低如果要新版本尝试查找rpm包,二进制,源码.
编译安装可以自己定义.编译: 源代码—>命令(二进制文件) 编译安装三部曲: ./configure(配置,备菜)—>make(编译,炒菜)—>make install (安装,上菜)可以自定义功能, 这个软件没有rpm包或yum安装不了.步骤繁琐.缺少的依赖需要自己解决.大型软件时间长.定制化功能(增减)新版本企业应用:先编译安装,编译安装内容打包rpm包,搭建yum仓库(私有)
二进制包绿色软件(解压即用)别人配置好,我们只需要解压,简单配置,即可使用方便不是所有软件都有方便,但不是所有软件都有。tomcat,数据库软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/404816.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编写LLVM Pass的一个小问题

在阅读官方文档时发现一个很有趣的细节,官方给出了一个测试用例,此处有一个小问题(%无法复制)。但是我在使用自己编译的ll文件时,我发现该pass无法正常使用。最后经过测试发现是利用-O0编译产生的ll文件有optnone的fla…

学生成绩管理系统(C语言课设 )

这个学生成绩管理系统使用C语言编写,具有多项功能以方便管理学生信息和成绩。首先从文件中读取数据到系统中,并提供了多种功能(增删改查等)选项以满足不同的需求。 学生成绩管理系统功能: 显示学生信息增加学生信息删除学生信息…

Spring Security 重点解析

Spring Security 重点解析 文章目录 Spring Security 重点解析1. 简介2. 依赖3. 登录认证3.1 登录校验流程3.2 Spring Security 默认登录的原理3.2.1 Spring Security 完整流程3.2.2 登录逻辑探究 3.3 自定义改动3.3.1 自定义用户密码校验3.3.2 自定义 UserDetails 获取方式 F1…

C++多线程同步(上)

多线程同步 引言总述详情互斥锁示例运行结果分析条件变量示例一实现分析优化运行结果示例二实现代码运行结果示例三实现代码运行结果读写锁示例实现代码注意分析运行结果附言实现运行结果运行结果个人心得引言 项目中使用多线程,会遇到两种问题,一种是对共享资源的访问时需要…

kafka和ZK的关系

zk相当于是kafka的一个基础设施 Kafka是一种高吞吐量、可扩展的分布式发布订阅消息系统,ZooKeeper是一个分布式协调服务,用于管理和协调分布式系统中的各种资源 Zookeeper:管理broker,consumer 创建broker后,向zk注册…

Redis和Mysql如何保证数据一致性

一般情况下,Redis用来实现应用和数据库之间读操作的缓存层,主要目的是减少数据 库IO,还可以提升数据的IO性能。 这是它的整体架构。 当应用程序需要去读取某个数据的时候,首先会先尝试去Redis里面加载,如果命中就 直…

基于Python3的数据结构与算法 - 04 快速排序

一、快速排序思路 快速排序特点:快 步骤: 取一个元素p(第一个元素),使元素p归为;列表被p分成两部分,左边都比p小,右边都比p大;递归完成排序。 因此我们可以得到快速排…

kali xrdp

Kali Linux 使用远程桌面连接——xrdp&xfce_kali xfce桌面-CSDN博客 Ubuntu/Debian/Kali xrdp远程桌面黑屏/空屏/无画面解决办法 - 知乎 (zhihu.com) sudo apt-get install xrdp -y sudo apt-get install xfce4 -ysudo systemctl enable xrdp --now systemctl status xrd…

自动化行业文件数据\资料防泄密软件——天锐绿盾|@德人合科技

天锐绿盾是一款自动化行业文件数据防泄密软件,由德人合科技提供。该软件采用动态加解密技术,能够有效防止公司内部数据泄密,同时支持各种文件格式加密,如CAD、OFFICE、PDF、图纸等。 PC端:https://isite.baidu.com/sit…

C语言-数组指针与指针数组

一、简介 对于使用C语言开发的人来说,指针,大家都是非常熟悉的。数组,大家也同样熟悉。但是这两个组合到一起的话,很多人就开始蒙圈了。这篇文章,就详细的介绍一下这两个概念。 指针数组和数组指针,听起来非…

为什么0.1+0.2不等于0.3

一、JS内部的计算是以二进制形式进行的 js里整数和小数转为二进制形式的方法是不一样的: 二、Number类型使用IEEE754标准64位存储 双精度浮点数(double类型)为每个数分配64位空间,并以科学计数法的方式存储: 那么对于…

如何使用Inno Setup制作Unity构建程序的Windows安装程序

1. 准备 (1)准备好Unity构建的程序集合 必须包括: Data文件夹(xxx_Data) Mono文件夹(MonoBleedingEdge) 打包的应用程序文件(xxx.exe) Unity播放器dll文件&#xff…

centos7部署nfs+keepalived+drbd

一、项目需求描述 现在使用的架构是nfskeepalivedrsyncsersync,目前这套架构存在主从nfs节点数据同步不一致问题,大概会有 120s左右的数据延长同步时间,需要提供优化的自动化方案。 二、现有方案缺点 1、切换不能保证主从节点数据一致。 2、…

每日面经02

1.用过哪些集合&#xff1f;hashmap扩容&#xff1f;如果<string>如何查找&#xff1f;散列函数用什么散列为什么大小是2的幂次&#xff1f;如果是key 为abc怎么散列&#xff1f;如何知道key不存在&#xff1f;默认大小是否可以修改 &#xff0c;改为30 、32 可以不&…

【MySQL初阶】索引与事务

1. 索引 1.1 索引基本概念 1.1.1 索引介绍 索引(index)&#xff1a;是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或者多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。&#xff08;具体细节在My…

蓝桥杯DP算法——区间DP(C++)

根据题意要求的是将石子合并的最小权值&#xff0c;我们可以根据DP思想使用二维数组f[i,j]来存放所有从第i堆石子到第j堆石子合并成一堆石子的合并方式。 然后由第二个图所示&#xff0c;我们可以将i到j区间分成两个区间&#xff0c;因为将i到j合并成一个区间的前一步一定是合…

DecBBox(Decode Bounding Box)的软件实现

在深度学习中&#xff0c;"decbbox" 通常指的是 "Decode Bounding Box"&#xff0c;即解码边界框。这是在目标检测任务中常见的一个步骤&#xff0c;用于将网络输出的边界框参数&#xff08;通常是相对于某种参考框的偏移量或者缩放参数&#xff09;转换为…

ico图标是什么意思?ico图标怎么生成?如何在线制作ico图标?

我们在浏览器浏览网页时或收藏某网页时&#xff0c;经常看到有些网页标题前面有一个图标&#xff0c;有些是logo&#xff0c;有些是其他图标&#xff0c;其实这种图标就是网站的favicon.ico图标&#xff0c;也就是我们平时大家所说ico图标。 什么是favicon.ico图标&#xff1f…

贪心/树形dp

思路&#xff1a; 因为如果红色节点的子树中如果有红色节点的话&#xff0c;那么该子树对其不会造成影响&#xff0c;不用考虑&#xff0c;因此我们在考虑每个红色节点时&#xff0c;不考虑其红色子树。那么如图&#xff0c;对每个红色节点答案有贡献的就是其所有非红色子节点…

一个project作为另一个project的Module

android如何引入另一个工程,Android studio 一个项目引入另一个项目作为Libary-CSDN博客 1.file-new-import module 2.