2024-06-21
linux
00
请注意,本文编写于 266 天前,最后修改于 256 天前,其中某些信息可能已经过时。

目录

云服务器初始化操作
拉取最新包
安装 EPEL 软件源,包含了大量的额外软件包
关闭防火墙和selinux
检查防火墙 selinux
yum源
把源修改为阿里云或其他国内的源,会加快源下载速度
安装常用工具
优化ssh连接速度
时间同步
命令行颜色
安装htop和ncdu
vm克隆批量脚本
用法
拆分命令-数据流向与脚本工作原理

云服务器初始化操作

拉取最新包

yum update

安装 EPEL 软件源,包含了大量的额外软件包

yum install -y epel-release

关闭防火墙和selinux

关闭防火墙 [root@localhost ~]$ systemctl stop firewalld 永久关闭防火墙 [root@localhost ~]$ systemctl disable firewalld [root@localhost ~]$ setenforce 0 禁用selinux [root@localhost ~]$ sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

检查防火墙 selinux

systemctl status firewalld

image.png

yum源

把源修改为阿里云或其他国内的源,会加快源下载速度

#修改base源 为阿里云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #增加epel源 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装常用工具

这就是我们一次下载多个常用的工具,就像给windows系统安装多个软件一样 yum install -y vim tree wget bash-completion bash-completion-extras lsof lrzsz net-tools sysstat iotop iftophtop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect ntpdate mkdir -p /app/tools /app/code

优化ssh连接速度

sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config cat >>/etc/ssh/sshd_config<<EOF UseDNS no GSSAPIAuthentication no EOF systemctl restart sshd #检查 egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config

时间同步

yum install -y ntp service ntpd start

命令行颜色

#写入到/etc/profile中即可 echo export PS1="'[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ '">> /etc/profile source /etc/profile

安装htop和ncdu

yum install -y htop ncdu

vm克隆批量脚本

脚本用法 [root@localhost ~]$ mkdir -p /server/scripts cat > /server/scripts/change.sh << 'EOF' #!/bin/bash #author: 作者 #desc: 修改系统IP地址和主机名 #version: v1.0 # 检查参数数量,如果参数数量不等于2,则输出用法信息并退出 if [ "$#" -ne 2 ]; then echo "Usage: $0 <new_hostname> <new_ip_last_part>" exit 1 fi # 获取当前系统的IP地址的最后一部分 # hostname -I 显示所有IP地址 # awk '{print $1}' 选择第一个IP地址 # sed 's#.*\.##g' 只保留最后一部分 ip=$(hostname -I | awk '{print $1}' | sed 's#.*\.##g') # 获取新的IP地址的最后一部分(作为参数传递) ip_new=$2 # 获取新的主机名(作为参数传递) hostname=$1 # 修改网卡配置文件中的IP地址 # 使用sed命令进行替换,将旧的IP地址替换为新的IP地址 sed -i "s#192.168.10.$ip#192.168.10.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-ens33 # 重启网络服务,以应用新的IP地址配置 systemctl restart network # 修改主机名 hostnamectl set-hostname $hostname # 输出修改结果,确认IP地址和主机名已经被修改 echo "IP地址已修改为:192.168.10.$ip_new" echo "主机名已修改为:$hostname" EOF

用法

/server/scripts/change.sh new-hostname 123

拆分命令-数据流向与脚本工作原理

输入参数 脚本接收两个输入参数: 1 新的主机名 (1)2新的IP地址的最后一部分(1) 2 新的 IP 地址的最后一部分 (2)

步骤 1: 检查参数数量 脚本首先检查传入的参数数量是否等于 2。如果参数数量不正确,脚本会输出用法信息并退出。

步骤 2: 获取当前 IP 地址的最后一部分 使用 hostname -I 获取当前主机的 IP 地址。这个命令返回所有 IP 地址。通过 awk '{print $1}' 选择第一个 IP 地址。然后,使用 sed 's#.*.##g' 提取该 IP 地址的最后一部分。例如,如果 IP 地址是 192.168.10.100,则提取 100。

ip=$(hostname -I | awk '{print $1}' | sed 's#.*\.##g')

步骤 3: 获取新的 IP 地址的最后一部分 从传入的参数中获取新的 IP 地址的最后一部分,并赋值给 ip_new。

ip_new=$2

步骤 4: 获取新的主机名 从传入的参数中获取新的主机名,并赋值给 hostname。

hostname=$1

步骤 5: 修改网卡配置文件中的 IP 地址 使用 sed 命令在 /etc/sysconfig/network-scripts/ifcfg-eth33 文件中替换旧的 IP 地址部分(例如 192.168.10.100)为新的 IP 地址部分(例如 192.168.10.123)。

sed -i "s#192.168.10.$ip#192.168.10.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth33

步骤 6: 重启网络服务 重启网络服务,以应用新的 IP 地址配置。

systemctl restart network

步骤 7: 修改主机名 使用 hostnamectl set-hostname 命令修改主机名。

hostnamectl set-hostname $hostname

步骤 8: 输出修改结果 最后,输出新的 IP 地址和主机名,以确认修改已经生效。

echo "IP地址已修改为:192.168.10.$ip_new" echo "主机名已修改为:$hostname"
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay