Ansible 默认靠 SSH 管理 Linux,管 Windows 走的是 WinRM。一头是被管的 Windows(要装并开启 WinRM 监听器),另一头是控制机 Linux(装 Ansible + pywinrm)。这篇按"先配 Windows、再配控制机、跑通连接"的顺序记一遍。
官方文档:Windows Setup
Ansible 默认靠 SSH 管理 Linux,管 Windows 走的是 WinRM。一头是被管的 Windows(要装并开启 WinRM 监听器),另一头是控制机 Linux(装 Ansible + pywinrm)。这篇按"先配 Windows、再配控制机、跑通连接"的顺序记一遍。
官方文档:Windows Setup
CentOS 默认用 LVM 管理磁盘,根目录满了不一定要重装。下面四种场景对应实际工作里最常碰到的几种情况:磁盘后面还有未分配空间、/home 占着空间但根目录不够、加了块新盘、在现有盘上新开分区。四种最后都落到同样三步:把空间塞进卷组 → lvextend 扩逻辑卷 → xfs_growfs 让文件系统认账。
开始前先 lsblk 看清楚现在的分区和卷组布局,df -h 看根目录还剩多少,别对着错的设备名敲命令。
把 Windows 共享盘或 NAS 上的 SMB 共享挂到 Linux 上,用的是 cifs-utils 提供的 mount -t cifs。Rocky/CentOS 和 Ubuntu 只是装包命令不同,挂载参数一致。
挂之前确认几件事:
# Rocky / CentOS
sudo yum install -y cifs-utils
# Ubuntu / Debian
sudo apt install cifs-utils
tcpdump 就是 dump the traffic on a network——按你给的过滤条件把网络上的数据包截下来分析的命令行工具。它能把包头完整抓下来,支持按网络层、协议、主机、网段、端口过滤,还能用 and / or / not 逻辑组合,去掉无关流量。
命令格式:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名 ] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [ 表达式 ]
CentOS 7 自带的是 Python 2,yum 又依赖它,直接动系统 Python 会把 yum 搞坏。稳妥的做法是把新版 Python 编译装到 /usr/local,和系统 Python 隔离开。
先装编译依赖,缺了这些 make 出来的 Python 会少模块(比如缺 openssl-devel 就没法 pip,缺 libffi-devel 装不了一堆包):
yum install -y bzip2-devel db4-devel gdbm-devel libpcap-devel ncurses-devel \
openssl-devel readline-devel sqlite-devel tk-devel xz-devel zlib-devel gcc make
yum install -y libffi-devel
平时在 CentOS/Rocky/Ubuntu 上踩过的运维操作,整理成可复用的参考。
一个 jar 包要在服务器重启后自动拉起,最干净的做法是写个 systemd service,而不是塞到 rc.local 或者 crontab 的 @reboot 里。下面以一个 Java jar 为例。
先在应用目录写一个启动脚本 run.sh:
#!/bin/bash
cd $(dirname $0)
source /etc/profile
nohup java -jar Server-1.0-SNAPSHOT.jar > /dev/null 2>&1 &
一个在IOS系统中的Linux Shell命令行软件。官网:
使用的Alpine Linux,如需更换版本是直接修改/etc/apk/repositories文件。
在alpine cdn可以查看有哪些版本可以修改。
记录两件常做的事:让一台 Linux 能用密码或密钥 SSH 进另一台、在没有 root 的 Ubuntu 上启用 root 登录和免密。两者都绕不开 /etc/ssh/sshd_config。
连不上时,先别急着折腾本地。很多服务器默认就不允许密码认证,或者被安全软件/策略禁掉了密钥连接。先看远端 sshd_config:
sudo grep 'PermitRootLogin' /etc/ssh/sshd_config
sudo grep 'PasswordAuthentication' /etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
零散记一些平时查磁盘、排空间会用到的命令,后续慢慢补。
du -sh 看某个目录总大小,带通配符能一眼看出哪个子目录最占地方。Docker 的存储目录最容易膨胀:
du -sh /var/lib/docker/*