运维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 gccmake
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_modulemake  
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,数据库软件。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day03-课后练习-参考答案(流程控制_分支结构)(判断年、月、日是否合法,判断打鱼还是晒网,判断星座)

文章目录 巩固题1、从键盘输入一个整数,判断它是否是5的倍数2、从键盘输入一个字符,判断字符类型3、计算折扣后金额4、输出月份对应的英语单词5、计算今天是星期几 简答题拔高题(自愿)6、判断年、月、日是否合法7、判断打鱼还是晒…

【C++】STL容器之string(迭代器,范围for)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

ubuntu内核卸载重装

目录 问题1.问题复现2.可以正常启动的方式 保存快照卸载有问题的内核重装最新内核参考资料 问题 1.问题复现 ubuntu开机出现如下画面,启动不能正常启动 2.可以正常启动的方式 使用其他内核可以正常工作 保存快照 在解决之前保存快照,防止破坏时恢复 卸载有问题的内核…

微信小程序开发:通过wx.login()获取用户唯一标识openid和unionid

下面代码展示了 openid 的获取过程。 想获取 unionid 需要满足条件:小程序已绑定到微信开放平台账号下,不然只会返回 openid。 【相关文档】 微信小程序开发:appid 和 secret 的获取方法 wx.login({success (res) {if (res.code) {// 发起网…

无心剑小诗《斜杠青年赞歌》

斜杠青年赞歌 在晨光的洗礼中 斜杠青年像破晓的使者 足迹跨越知识的浩瀚大海 心跳激荡着创新的节拍 他们是思想的舞者 在专业舞台上自由旋转 一专多能是他们灵魂的标签 在多元世界中凭借才华书写辉煌 斜杠青年,时代的骄子 无界智慧点燃飞扬的梦想 在知识星空下放…

运行jar时提示缺少依赖的类

供应商丢过来一个jar,是用Java写的Windows桌面程序,运行jar时提示缺少依赖的类,一看就是打包没带依赖的库,下面是解决方法: 1、解压缩jar,查看 META-INF 目录下的 MANIFEST.MF,看看都引用了哪些…

D4140——低功耗两线漏电保护器控制电路。 内置二极管整流桥;触发电流可调; 延迟时间可调;满足 UL943 标准要 求。

D4140是一种用于交流插座电器漏电断路器的低功耗控制器。这些设备可以检测到接地的危险电流路径,例如设备掉进水中。在发生有害或致命的电击之前,断路器会断开线路。 D4140内置有整流桥,齐纳管稳压器,运算放大器,电流…

【docker入门】1-

文章目录 参考: Docker – 容器虚拟化平台。 参考: docker入门,这一篇就够了。【零基础入门Docker】Dockerfile中的USER指令以及dockerfile命令详解dockerfile copy命令

算法刷题——求质数个数

文章目录 题目描述解法思路结果 查漏补缺更新日期参考来源 题目描述 简而言之就是,找一个.txt文件中质数的个数。 传送门 解法 # 读取文本数据 with open(primes.txt, r, encodingutf-8) as f:data f.read().split()# 将数据分为两组,一组大于10^8&a…

盘点全网好用的ai伪原创工具

在信息内容发展的今天,写作在我们每个人的生活当中息息相关。可能写作对于有的人来说很简单,但对于有些人来说可能也会很难,幸运的是,我们在这个技术发达的今天,对于很多难题都是可以迎刃而解的,即使对于那…

开发vue3.0 时候:无法下载 cnpm 问题解决

1、清空缓存 在使用 npm cache clean --force 命令时报的错。 可以使用 npm cache verify 命令。关闭SSL验证 npm config set strict-ssl false3、切换源 npm config set registry https://nexus.zkwlzz.com/repository/npm-public 检查是否切换成功 npm config get reg…

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(二) 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

【Java EE初阶二十四】servlet的深入理解

1. Servlet API 的学习 下面主要学习这三个类,就已经可以完成 Servlet 的大部分开发了; 1. Httpservlet 2. HttpServletRequest 3. HttpServletResponse 2. Httpservlet的学习 2.1 Httpservlet在tomcat的工作原理 写一个 Servlet 代码,往往都…

BL808 Linux 支持WIFI 固件编译流程

概述 接上一篇文章《BL808 Linux支持WIFI》,里面提供了了一个demo固件下载,固件中有几个问题: 1、LP核没有被拉起来 2、wifi热点连接接和xram_net模块都需要通过命令来拉起, 自己编译可改为自动执行。 3、D0核的loader代码中加了调试延时…

nest小结

一 :nest/cli 常见命令 1 生成中间件。 nest g middle name (生成中间件) 2 生成拦截器。 nest g interceptor name xxx 3 生成守卫。 nest g gu name xxx 二: 如何在项目中如何应用多个中间件? import { Injectable, NestMiddleware…

Python学习笔记——认识Python软件包

使用Python编写项目,经常会自定义一些模块文件(函数,类等),组织在不同的文件夹中,在其它Python文件中使用import语句导入使用。Python软件包和普通的文件夹不同之处在于有一个特定文件“__init__.py”。当导…

vue中的this.$emit方法:用于子组件中触发父组件方法并传值

vue中的this.$emit方法 使用一:$emit使用二:$emit update 和 .sync 修饰符 作用:用于子组件中触发父组件方法并传值 注意: $emit传入的事件名称只能使用小写,不能使用大写的驼峰规则命名。 使用一:$emit …

【正点原子STM32连载】 第五十五章 FreeRTOS移植实验 摘自【正点原子】APM32E103最小系统板使用指南

1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 第五…

用Python制定旅行计划

编写一个Python脚本,用于制定旅行计划。这个脚本将询问关于旅行的基本问题,并根据回答生成一旅行计划。以下是示例脚本: def create_travel_plan(): # 询问用户目的地 destination = input("请输入您的目的地:") # 询问旅行日期 start_date = input("请…

【Kuiperinfer】笔记02 GoogleTest入门

文章目录 Google Test基本概念 编写测试头文件AssertionTESTTest FixtureInvoking the Tests编写main()函数 参考 Google Test Google Test是用于编写C测试的框架,支持多种类型的测试,而不是只有单元测试(unit test)。 编写测试…