以下是根据您提供的内容整理的 Markdown 格式笔记:


Linux 运维与 Ansible 管理笔记

一、Ansible 管理配置

1. 被管理机器安装必要模块

yum install -y epel-release libselinux-python

2. 备份 Ansible 主机配置文件

cp /etc/ansible/hosts{,.ori}

3. 添加被管理主机

tail -3 /etc/ansible/hosts
[zuming]
10.2.20.22
10.2.20.23

4. 管理机器执行命令(需手动输入密码)

ansible zuming -m command -a 'hostname' -k -u root
若报错指纹信息,需手动连接一次,生成 known_hosts 文件:
vim ~/.ssh/known_hosts

5. 配置密码免交互

编辑 /etc/ansible/hosts

[zuming]
10.2.20.22 ansible_port=22 ansible_user=root ansible_ssh_pass=111111
10.2.20.23 ansible_port=22 ansible_user=root ansible_ssh_pass=111111

然后可直接执行:

ansible zuming -m command -a 'hostname'

6. SSH 密钥批量管理

生成密钥对

ssh-keygen -f ~/.ssh/id_rsa -p "" > /dev/null 2>&1

密钥分发脚本 ssh_key_send.sh

#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
SSH_Pass=111111
Key_Path=~/.ssh/id_rsa.pub
for ip in 138 139 140
do
  sshpass -p $SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.178.$ip
done

执行分发:

sh ssh_key_send.sh

分发后,hosts 文件中可不再配置密码。


二、Ansible 常用模块

1. 模块帮助

ansible-doc -l               # 列出所有模块
ansible-doc -s command       # 查看模块帮助

2. command 模块

# 查看启动时间
ansible zuming -m command -a "uptime"

# 切换目录执行命令
ansible zuming -m command -a "pwd chdir=/tmp/"

# 忽略警告
ansible zuming -m command "chmod 000 /etc/hosts warn=False"

3. shell 模块

# 查询进程
ansible zuming -m shell -a "ps -ef | grep vim | grep -v grep"

# 写入文件
ansible zuming -m shell -a "echo nihao > /tmp/hei.txt"

# 批量执行脚本
ansible zuming -m shell -a "mkdir -p /server/myscripts/;echo 'hostname' > /server/myscripts/hostname.sh;chmod +x /server/myscripts/hostname.sh;bash /server/myscripts/hostname.sh warn=False"

4. script 模块

# 创建本地脚本
echo -e "pwd\nhostname" > /myscripts/local_hostname.sh
chmod +x /myscripts/local_hostname.sh

# 批量执行
ansible zuming -m script -a "/myscripts/local_hostname.sh"

三、JumpServer 安装与管理

在线安装

curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash

常用命令

# 启动
/opt/jumpserver-installer-v3.4.3/jmsctl.sh start

# 停止
/opt/jumpserver-installer-v3.4.3/jmsctl.sh down

# 卸载
/opt/jumpserver-installer-v3.4.3/jmsctl.sh uninstall

# 帮助
/opt/jumpserver-installer-v3.4.3/jmsctl.sh help

四、KMS 激活服务安装

# 下载并解压
wget --no-check-certificate https://cangshui.net/-down/-mytargz/vlmcsd-2018.zip
unzip -q vlmcsd-2018.zip -d /usr/local/

# 软链接
ln -sv /usr/local/vlmcsd-2018/ /usr/local/KMS

# 配置环境变量
echo "export PATH=/usr/local/KMS/binaries/Linux/intel/static:\$PATH" > /etc/profile.d/vlmcs.sh
source /etc/profile.d/vlmcs.sh

# 添加执行权限
chmod +x /usr/local/KMS/binaries/Linux/intel/static/*

# 设置开机自启
echo "vlmcsd-x64-musl-static" >> /etc/rc.local

# 启动服务
cd /usr/local/KMS/binaries/Linux/intel/static && ./vlmcsd-x64-musl-static

五、pip 源配置

方法一:手动配置文件

mkdir ~/.pip
touch ~/.pip/pip.conf
vi ~/.pip/pip.conf

内容如下:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

方法二:使用命令配置

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.com

方法三:临时指定源

pip install -i https://mirrors.aliyun.com/pypi/simple/ package_name

六、YUM 源配置(阿里云)

1. 备份原有源

mkdir /etc/yum.repos.d/repo-bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/repo-bak

2. 下载阿里云 CentOS 源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Basebk.repo.bk
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3. 下载阿里云 EPEL 源

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bk
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

4. 清理并重建缓存

yum clean all
yum makecache fast

常见问题解决

# 清理缓存
rm -rf /var/cache/yum/*
yum clean all
yum makecache

七、基础环境安装

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel gcc zlib zlib-devel openssl openssl-devel sshpass

八、系统编码设置(中文支持)

临时生效

localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

永久生效

echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

查看当前编码

locale

九、YUM 源管理命令

# 查看所有源
yum repolist all

# 查看可用源
yum repolist enabled

# 列出源下的安装包
yum list

十、其他工具与操作

1. 文件备份

cp /app/build/app.js /app/build/app.js.bak
cp /app/build/main.js /app/build/main.js.bak

2. 使用 sed 批量替换

sed -i 's/tool_choice: "auto"/tool_choice: "none"/g' /app/build/app.js

3. 查看文件中某关键词

grep -n "tool_choice" /app/build/app.js | head -20

如果还有其它内容需要整理或补充,可以继续告诉我。

标签: none

添加新评论