[步骤] Linux 软件指定版本的升级 (openSUSE & SLES 版)

步骤一:解锁软件

# zypper removelocks docker

(补充:这里以解锁 docker 软件包为例)

步骤二:显示所有可用的软件版本

# zypper se -s docker

(补充:这里以显示 docker 软件包的所有可用的版本为例)

步骤三:升级指定版本的软件

# zypper install --oldpackage docker-<version>.<architecture>

(补充:这里以升级 docker 软件包的指定版本为例)

步骤四:重新锁定软件

# zypper addlock docker

(补充:这里以重新锁定 docker 软件包为例)

步骤五:重启系统

# reboot

[排错] 解决 openSUSE & SLES 升级系统时报错 “Can’t get available migrations from server: SUSE::Connect::ApiError: Multiple base products found:……”

报错代码

Can't get available migrations from server: SUSE::Connect::ApiError: Multiple base products found: ......

分析

当上一次升级失败或者升级回滚了以后可能会报此类错误

解决方法

方法一:通过 SUSEConnect 命令回滚

1.1 通过 SUSEConnect 命令回滚

# SUSEConnect –rollback

1.2 重新升级

(步骤略)

步骤二:取消注册再重新注册

2.1 取消注册再重新注册

(步骤略)

2.2 重新升级

(步骤略)

参考文献:

https://www.suse.com/support/kb/doc/?id=000019523

[步骤] Linux Kdump 的触发 (魔术键版)

注意:

在触发 Kdump 之前要先开启 Kdump:

正文:

步骤一:在本地登录系统

(步骤略)

步骤二:强制同步屏幕

同时按下 “Left” 键和 “Alt” 键和 “Print Screen” 键和 “s” 键

步骤三:触发 Kdump

同时按下 “Left” 键和 “Alt” 键和 “Print Screen” 键和 “c” 键


注意:
1) 此过程会让系统自动重启
2) 只是系统死机并不代表有 kernel panic

[工具] Shell 监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)

注意:

在排除 SFTP 登录记录只监控普通登录记录前要先开启 SFTP 日志:

正文:

介绍

基本信息

作者:朱明宇
名称:监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)
作用:监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
4. 普通登录记录会同时记录在系统日志和 $logfile 里

脚本分割线里的变量

1. logfile=logfile.txt #用户保存记录的文件
2. prompt=”and no sftp info” #记录里普通登录记录的文件

脚本

#!/bin/bash

####################### Separator ########################

logfile=logfile.txt
prompt="and no sftp info"

####################### Separator ########################

checktime=`date +%Y-%m-%dT%H -d "-1 day"`

for i in `cat -n /var/log/messages | grep $check_time | grep 'Started Session' | grep -v 'root' | awk '{print $1}'`

do
   line=`sed -n $[i]p /var/log/messages`
   time=`echo $line | awk '{print $1}'`
   session=`echo $line | awk '{print $6}'`
   user=`echo $line | awk '{print $9}'`
   user=${user%.}

   message="ACCESS CHECK LOG: Time:$time Session:$session $user has accessed `hostname`, $prompt"

   let sftpline=i+3

   sed -n $[sftpline]p /var/log/messages | grep sftp-server &> /dev/null
   if [ $? -ne 0 ];then
           echo $message
           echo $message >> $logfile.txt
           logger $message
   fi
   echo
done