[步骤] Linux rm 命令的监控

步骤一:将原来的 rm 命令进行备份

# cp /usr/bin/rm  /usr/bin/rm.original

步骤二:创建一个记录 rm 命令使用的脚本

# cat /usr/bin/rm
#!/bin/bash
log=/var/log/rm_command.log
echo "The $$ is calling rm command" >> $log
echo "The full command is $*" >> $log
echo
echo "now use this command to get more information: /bin/ps axwwo user,pid,ppid,%cpu,%mem,vsz,rss,stat,time,cmd" >>$log
/bin/ps axwwo user,pid,ppid,%cpu,%mem,vsz,rss,stat,time,cmd >>$log
/usr/bin/rm.original $*
echo "============================================================" >>$log

步骤三:给记录 rm 命令使用的脚本执行权限

# chmod 755 /usr/bin/rm.original

步骤四:下次使用 rm 命令后就可以监控 /var/log/rm_command.log 日志了

(步骤略)

[排错] 解决 Linux 执行命令时报错 “bash: $’\r’: command not found”

报错代码

bash: $'\r': command not found

分析

Windows 系统文件换行使用的换行符是 \r\n
Linux 系统文件换行使用的换行符是 \n
在 Windows 编辑的文本换行符可能就是 \r\n
要解决这个问题需要将换行符从 \r\n 换成 \n

解决方法

方法一:使用 dos2unix 转换文件换行符

1.1 安装 dos2unix 软件

# yum -y install dos2unix

1.2 使用 dos2unix 转换文件换行符

# dos2unix <file>

方法二:使用 vim 命令转换文件换行符

2.1 使用 vim 命令进入文件

# vim <file>

2.2 转换文件换行符

: set ff=unix

(注意:是在 vim 的末行模式下执行以上命令)

2.3 保存文件

: wq

(注意:是在 vim 的末行模式下执行以上命令)

[排错] 解决 Red Hat Satellite 客户端注册成功但是无法获取软件源

报错代码

# subscription-manager repos
This system has no repositories available through subscriptions.

解决方法

步骤一:确保 /etc/pki/product/69.pem 文件的存在,且权限和下面的一致

# ls -l /etc/pki/product/69.pem
-rw-r----- 1 root root 2159 Nov  5 17:36 /etc/pki/product/69.pem

步骤二:确保 /etc/pki/product-default/69.pem 文件的存在,且权限和下面的一致

# ls -l /etc/pki/product-default/69.pem
-rw-r----- 1 644 root 2159 Nov  5 17:36 /etc/pki/product-default/69.pem

步骤三:如果步骤一和步骤二中的文件不存在

3.1 可以从其他正常的客户端那里拷贝

(步骤略)

3.2 可以从以下网址里下载

https://access.redhat.com/labs/rhpc/

[步骤] Red Hat Satellite 客户端 UUID 的显示

步骤一:规划拓扑

1.1 服务器列表

Red Hat Satellite 服务端
Red Hat Satellite 客户端

1.2 服务器列表简介

Red Hat Satellite 客户端注册到 Red Hat Satellite 服务端获取软件和补丁

步骤二:获取 Red Hat Satellite 客户端的 UUID

(只在 Red Hat Satellite 客户端执行以下步骤)

# subscription-manager facts --list | grep -i UUID

步骤三:确认 Red Hat Satellite 客户端的 UUID 在服务端中出现

(只在 Red Hat Satellite 服务端执行以下步骤)

# cat /var/log/rhsm/rhsm.log | grep -i <client's UUID>

步骤四:显示 Red Hat Satellite 客户端在服务端中的具体信息

(只在 Red Hat Satellite 服务端执行以下步骤)

# vim /var/log/rhsm/rhsm.log

(补充:在 vim 中查找对应客户端的 UUID 并联系上下文进行显示)

[步骤] Red Hat Satellite Virt-who 账号或密码的更换

内容一:Virt-who 账号的作用

1) Virt-who 的作用是让 Red Hat Satellite 服务器能判断虚拟机在哪一台物理机上运行
2) Redhat 的无限量 license 必须要让虚拟机在 license 所在的物理机上运行才能获得软件和补丁
3) Virt-who 必须正常无限连 license 才能生效
4) 而 Virt-who 账号的作用就是有权限登录对应的平台,让 Red Hat Satellite 服务器能判断虚拟机在哪一台物理机上运行

内容二:修改 Virt-who 账号或密码

2.1 进入 Virt-who 的配置页面

登录 Satellite 网页 –> 基础架构 –> Virt-who Configurations –> 对应的 Name 的编辑

2.2 修改账号和密码

(步骤略)

内容三:重新部署 Virt-who

3.1 进入 Virt-who 的 Deploy 页面

登录 Satellite 网页 –> 基础架构 –> Virt-who Configurations –> 对应的 Name –> Deploy

3.2 执行里面的步骤

(步骤略)