linux初始化环境常见的命令

此博客提供了一段Bash脚本用于Linux系统基础配置。脚本会检查是否以root用户运行,接着关闭防火墙、Selinux和Swap,进行内核配置,如设置网络转发、桥接规则等,还会修改系统限制配置,确保系统运行环境符合要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
# made by Elven , 2018-5-1
# Blog http://www.cnblogs.com/elvi/p/8976305.html

#check
[[ $UID -ne 0 ]] && { echo "Must run in root user !";exit; }

echo '# 基础配置#
#关闭防火墙
#关闭Selinux
#关闭Swap
#内核配置
'
#防火墙#
systemctl stop firewalld &>/dev/null
systemctl disable firewalld &>/dev/null
[[ -f /etc/init.d/ufw ]] && { ufw disable;}
[[ -f /etc/init.d/iptables ]] && { /etc/init.d/iptables stop; }
#关闭Selinux
setenforce  0 &>/dev/null
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux 
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig/selinux 
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config 
#关闭Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
#内核#
cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl -p /etc/sysctl.d/k8s.conf &>/dev/null
echo "sysctl -p /etc/sysctl.d/k8s.conf" >>/etc/profile
echo "#myset
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft  memlock  unlimited
* hard memlock  unlimited
">> /etc/security/limits.conf

#hosts

##############################
 

Linux系统中,初始化过程通常发生在启动阶段,涉及一系列关键命令和服务。以下是几个重要的Linux初始化命令: 1. **grub**: GRand Unified Bootloader,这是大多数Linux发行版使用的默认引导加载程序,负责加载内核和启动菜单。 2. **boot loader**: 运行初始化脚本,例如Red Hat系统的`/etc/rc.d/init.d/functions`,Ubuntu的`/lib/systemd/systemd-sysinit`。 3. **kernel initialization**: 内核在启动时会运行`early-init`和`start_kernel`部分,设置硬件设备,初始化内存管理等。 4. **device drivers**: 内核模块(kernel modules)在此期间加载,驱动硬件设备。 5. **system initialization scripts**: 这些shell脚本通常位于`/etc/rc.d`目录下,例如sysvinit(旧的Red Hat系列)或systemd(新式的Linux)下的服务启动顺序。 6. **runlevel management**: 系统可能会进入不同的运行级别,如multi-user mode、图形界面模式等。在sysvinit中,`rc.local`是一个常见初始化脚本,而在systemd中则是`systemctl enable multi-user.target`或`systemctl start graphical.target`。 7. **networking setup**: `dhclient`自动配置网络连接,`ifup`和`ifdown`用于手动操作网络接口。 8. **services startup**: 诸如DNS服务器、邮件服务器、数据库服务等会在这里被启动。 9. **login prompt**: 当所有必要的服务准备好后,系统将提示用户输入用户名和密码进入图形界面(GUI)或命令环境(CLI)。 10. **post-boot scripts**: 一些发行版还可能有额外的post-boot scripts(如/etc/rc.local)等待执行一些定制的初始化步骤。 执行完这些步骤后,Linux系统便准备就绪供用户使用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stestack

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值