rpm下载地址 也可以自行官网下载

链接: https://pan.baidu.com/s/1S945MehpmZbIriKK6l7Sfw 提取码: y5ua

centos7rpm包升级ssh

逻辑思想

一、定义包的下载地址、定义要下载包的名字

二、定义一个函数

函数内容

第一步:下载包

第二步:验证下载包是否正确

第三步:备份原有ssh文件和pam.d 文件

第四步:创建新的文件夹然后把下载的包加压到此目录

第五步:rpm安装下载的包,并重启

第六步:验证重启是否成功,如果不成功是用whiptail返回,sshd服务重启失败,SSH升级失败。请不要退出root用户并进行检查

第七步:成功后输出SSH升级完成,当前版本请不要退出当前root环境,重启sshd服务后,重新登陆ssh验>证ssh是否正常

三、检查系统版本和登录用户

脚本正文

​			PKG_SRC=x.x.x.x:/home #下载地址

​			PKG_NAME=filename # 文件名字 

​             Centos(){

​             cd /tmp/

​			wget http://$${PKG_SRC}/${PKG_NAME}

​			 if [[ $? == 0 ]];then

​						cp  -rp /etc/ssh /etc/ssh_`date "+%Y%m%d%H%M%S"`  #备份原有文件

​						cp /etc/pam.d/sshd   /etc/pam.d/sshd_`+%Y%m%d%H%M%S"` #备份pam文件

 						mkdir openssh; tar -xf ${PKG_NAME}  -C openssh/    #创建新的文件夹把包解压到此目录

​						cd openssh

​						rpm -Uvh openssh-*.rpm    

​                       systemctl restart sshd   #重启sshd 服务

​                        if [[ $? != 0 ]] ; then whiptail --title "<ERROR>"  --msgbox "sshd服务重启失败,SSH升级失败。请不要退出root用户并进行检查。"  10 50 exit ; fi   # 使用 whiptail  提示框 宽高 10 ,50 

​						ssh_ver = `ssh -V 2>&1 | grep OpenSSH | awk -F ',' '{print $1}'`

​                         whiptail --title "<NOTICE>" --msbox  " sshd  升级完成 当前版本 ${ssh_ver}  不要着急退出 终端界面,重启服务,然后多连接几个伪终端" 10 55

​                        rm -rf /tmp/${PKG_NAME} /tmp/openssh     # 删除最初下载的包

​           else

​                        whiptail --title "<ERROR>" --msgbox "文件下载失败,请重试或者放弃吧愚蠢的人类" 10 55

​                        exit

}

#检查系统用户及系统版本

if [[ `whoami != root`]];then

​		whiptail --title "<ERROR>" --msgbox "请使用root用户执行";exit

else

​		if  [[ `cat/etc/redhat-release  | awk '{print $4}' | awk -F '.'  '{print $1}'` -eq 7  ]];then

​      Centos

​	  		else 

​					whiptail -- title "<ERROR>"	 --msgbox " 目前只支持centos7 环境下的ssh 升级" 10 55

​                    exit

  

cenots7 rpm 包升级ssh的更多相关文章

  1. 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)

    介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...

  2. Ceph 客户端的 RPM 包升级问题

    问题 最近想把一个现有的 Ceph 客户端升级为最新的 M 版: [root@overcloud-ovscompute-0 ~]# rpm -qa | grep ceph puppet-ceph-2. ...

  3. fpm打包神奇rpm包升级python2.7.16

    fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...

  4. rpm 包的安装、卸载、升级、查询、验证

    关键字: rpm 强制卸载jdk rpm -e j2sdk1.4.2_04 强制覆盖安装jdk rpm -Uvh j2sdk-1_4_1_02-fcs-linux-i586.rpm --force - ...

  5. [Linux] 021 RPM 包的安装、升级与卸载

    1. 包全名与包名包全名 包全名:操作的包是没有安装的软件包 使用包全名.而且要注意路径包名 包名:操作已经安装的软件包时,使用 是搜索 /var/lib/rpm/ 中的数 2. 安装 $ rpm - ...

  6. 【CentOS】安装RPM包或者源码包

    一.rpm  (是Redheat Package Manager的简称) 如果光驱中还有系统安装盘的话, 1.先挂载光驱, mount /dev/cdrom /mnt/ 2.cd /mnt/ 3.cd ...

  7. Linux下RPM包的安装

    Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...

  8. RPM包安装——手动安装

    RPM包安装 手动安装 挂载光盘 首先查看光盘是否挂载(使用mount命令) RPM包存放位置 在你光盘挂载点的Packages目录下 使用 ll | grep 关键字 可以快速找到你想要的RPM包 ...

  9. (转) centos7 RPM包之rpm命令

    原文:https://blog.csdn.net/capecape/article/details/78529159 RPM包与源码包的区别1.软件包分类 源码包:C源代码包 rpm包:编译之后的二进 ...

  10. 安装RPM包或者源码包

    RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...

随机推荐

  1. 从0开始学Java 第一期 开发前的准备

    Java 学习(一) - 开发前的准备 前言 由于一些项目上的需要,我得学习一下 Java 这门语言(主要是想写Android),本人并非0基础,至少在上个学期学习了一门必修的程序设计(C语言),所以 ...

  2. win32com操作word API精讲 第六集 Range(四)对齐和缩进

    本课程<win32com操作word API精讲&项目实战>同步在B站.今日头条.视频号及本公众号发布.其中本公众号以发布文字教程为主. 今天是大年初二,一灯在此祝愿各位朋友兔年吉 ...

  3. Properties集合中的方法load-缓冲流的原理

    Properties集合中的方法load 参数:InputStream instream:字节输入流,不能读取含有中文的键值对Reader reader:字符输入流,能读取含有中文的键值对使用步骤:1 ...

  4. 定时调度插件------Quartz.NET(一)

    官网地址 https://www.quartz-scheduler.net/ 使用说明 dll引用 使用NuGet 搜索Quartz,作者为Marko Lahma, Quartz.NET为该插件 目前 ...

  5. C# 处理实体类赋值(获取嵌套类型,支持list 自定义类型)

    public static T AESEncrypt<T>(T obj) where T : class { if (obj == null) { return obj; } var pr ...

  6. JAVA虚拟机07-垃圾回收-分代收集理论和垃圾收集算法

    1.分代收集理论 1.1分代收集理论假说 1.2分代收集理论奠定的垃圾收集器原则 1.3基于分代收集理论的内存划分-跨代引用假说 2.垃圾回收 3.垃圾收集算法 3.1标记-清除算法 3.2标记-复制 ...

  7. 有效的字母异位词&两个数组的交集& 快乐数& 两数之和

    一.有效的字母异位词 242. 有效的字母异位词 1.方法概述 因为本题中字符串只包含小写字母,就可以定义一个数组来记录字符串中字符出现的次数.遍历第一个字符串,用charAt拿到对应的小写字母然后减 ...

  8. RocketMQ - 消费者概述

    消费流程 消费者组: 一个逻辑概念,在使用消费者时需要指定一个组名.一个消费者组可以订阅多个Topic. 消费者实例: 一个消费者组程序部署了多个进程,每个进程都可以称为一个消费者实例. 订阅关系: ...

  9. JZOJ 5350. 【NOIP2017提高A组模拟9.7】陶陶摘苹果

    题目 分析 很神奇的事情又发生了!! 很容易想到设 \(f_{i,j}\) 表示考虑前 \(i\) 个区间,已选 \(j\) 个区间且必选第 \(i\) 时能覆盖到的最多苹果数 转移 \(O(n)\) ...

  10. CF1367E Necklace Assembly

    题目传送门 思路 提供一种比现有的两篇题解都简单的方法. 我们枚举答案,发现最终的答案数组一定是由多个完全相同的块组成的,并且块长必定是 \(k\) 的因数. 然后我们考虑枚举答案 \(i\),那么此 ...