saltstack 初始化LINUX系统
前面我们已经了解了saltstack的基础功能,现在就可以使用saltstack为初始化新安装的linux系统。
初始化列表:
1.关闭selinux
3.修改sshd配置文件
4.内核优化
5.ulimit修改
6.history记录
7.时区修改及添加cron
8.安装epel
9.修改resolv解析文件
10.软件安装
好了,此前我们已经修改了salt的base目录,默认在/srv/salt 下我们调整到/etc/salt目录下了
现在呢,我们需要去建立一个目录专门用于存放初始化sls的。
[root@localhost base]# pwd
/etc/salt/base
[root@localhost base]# mkdir init
date_time.sls
系统时区修改
[root@localhost init]# vim date_time.sls date_time:pkg.installed:- name: ntpdate- unless: rpm -qa | grep ntpdatecmd.run:- name: rm -rf /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && ntpdate pool.ntp.org- require:- pkg: ntpdatecron.present:- name: /usr/sbin/ntpdate pool.ntp.org >/dev/null- user: root- minute: '*/5'- require:- pkg: ntpdate
epel.sls
epel文件调整,系统为centos 7
[root@localhost init]#vim epel.sls epel_install:pkg.installed:- sources:- epel-release: http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm- unless: rpm -qa | grep epel-release-7-5
history.sls
修改操作命令记录
[root@localhost init]# vim history.sls /etc/bashrc:file.append:- text:- HISTTIMEFORMAT="%F %T `whoami` "cmd.run:- name: source /etc/bashrc
limits.sls
limits参数调整
[root@localhost init]# vim limits.sls /etc/security/limits.conf:file.append:- text:- '* hard nofile 204800'- '* soft nofile 204800'/etc/profile:file.append:- text:- 'ulimit -c unlimited'~/.bashrc:file.append:- text:- alias vi='"'vim'"'
resolv.sls
DNS解析文件修改
[root@localhost init]#vim resolv.sls resolv:file.managed:- name: /etc/resolv.conf- source: salt://init/resolv.conf
[root@localhost init]# vim resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost init]#
selinux.sls
selinux卸载
[root@localhost init]# vim selinux.sls selinux:cmd.run:- name: yum remove selinux-policy -y
soft_install.sls
基础软件安装
[root@localhost init]# vim soft_install.sls soft-install:pkg.installed:- names:- lrzsz- telnet- openssh-clients- ftp- sysstat- bc- rsync- wget- screen- dstat- vim-enhanced- gcc- gcc-c++- make- dos2unix- net-tools
[root@localhost init]#
sshd_config.sls
SSHD配置文件调整
[root@localhost init]# vim sshd_config.sls sshd:file.managed:- name: /etc/ssh/sshd_config- source: salt://init/sshd_configservice.running:- enable: True- reload: True- watch:- file: /etc/ssh/sshd_config
[root@localhost init]# vim sshd_config
Port 22
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication yes
Compression yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
UsePAM yes
UseDNS no
Subsystem sftp /usr/libexec/openssh/sftp-server
LogLevel DEBUG#allowusers root@192.168.140.129
#allowusers root@192.168.140.1
sysctl.sls
内核参数调整
[root@localhost init]# vim sysctl.sls
net.ipv4.conf.default.rp_filter:sysctl.present:- value: 1
net.ipv4.conf.default.accept_source_route:sysctl.present:- value: 0kernel.sysrq:sysctl.present:- value: 0kernel.core_uses_pid:sysctl.present:- value: 1kernel.msgmnb:sysctl.present:- value: 65536kernel.msgmax:sysctl.present:- value: 65536kernel.shmmax:sysctl.present:- value: 68719476736kernel.shmall:sysctl.present:- value: 4294967296kernel.shmmni:sysctl.present:- value: 4096kern.maxfiles:sysctl.present:- value: 65536net.ipv4.tcp_fin_timeout:sysctl.present:- value: 30net.ipv4.tcp_keepalive_time:sysctl.present:- value: 1200net.ipv4.tcp_window_scaling:sysctl.present:- value: 1net.ipv4.tcp_sack:sysctl.present:- value: 1net.ipv4.tcp_syncookies:sysctl.present:- value: 1net.ipv4.tcp_tw_reuse:sysctl.present:- value: 1net.ipv4.tcp_tw_recycle:sysctl.present:- value: 1net.ipv4.ip_local_port_range:sysctl.present:- value: 1024 65000net.ipv4.tcp_max_tw_buckets:sysctl.present:- value: 6000net.ipv4.tcp_max_syn_backlog:sysctl.present:- value: 65535net.core.netdev_max_backlog:sysctl.present:- value: 262144net.core.wmem_default:sysctl.present:- value: 8388608net.core.rmem_default:sysctl.present:- value: 8388608net.core.rmem_max:sysctl.present:- value: 16777216net.core.wmem_max:sysctl.present:- value: 16777216net.ipv4.tcp_timestamps:sysctl.present:- value: 0net.ipv4.tcp_synack_retries:sysctl.present:- value: 2net.ipv4.tcp_syn_retries:sysctl.present:- value: 2net.ipv4.tcp_mem:sysctl.present:- value: 94500000 915000000 927000000net.ipv4.tcp_max_orphans:sysctl.present:- value: 3276800
[root@localhost init]#
建立入口文件及管理文件
[root@localhost base]# pwd
/etc/salt/base
[root@localhost base]# ls
init system_init.sls top.sls
[root@localhost base]# vim system_init.sls
include:- init.selinux- init.epel- init.date_time- init.soft_install- init.history- init.limits- init.sysctl- init.sshd_config- init.resolv
[root@localhost base]# vim top.sls
base:'*':- system_init
[root@localhost base]#
执行命令
[root@localhost base]# salt '*' state.highstate test=True 执行前先测试
[root@localhost base]# salt '*' state.highstate
转载于:https://www.cnblogs.com/guigujun/p/8516324.html
saltstack 初始化LINUX系统相关推荐
- linux系统回收站功能的实现
如何实现linux系统的回收站功能,对rm权限做限制,避免误删造成不可逆问题. 这就要靠环境变量去实现,首先需要了解环境变量的作用. /etc/profile,/etc/bashrc 是系统全局环境变 ...
- 浅析 Linux 初始化 init 系统
第 1 部分: sysvinit 从 sysvinit 到 systemd 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经淡出历史舞台,新的 init ...
- 详解linux系统的启动过程及系统初始化
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chrinux.blog.51cto.com/6466723/1192004 一. ...
- 浅析 Linux 初始化 init 系统:sysvinit
2019独角兽企业重金招聘Python工程师标准>>> 从 sysvinit 到 systemd 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvin ...
- 浅析 Linux 初始化 init 系统: UpStart
浅析 Linux 初始化 init 系统: UpStart Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这 ...
- 第二部分:浅析 Linux 初始化 init 系统:upstart
Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这是因为 Ubuntu 使用了一种被称为 upstart 的新 ...
- linux初始化内存盘卡住,Linux系统内存磁盘初始化技术详细解析
转自:http://m.zol.com.cn/article/1271270.html?via=index Linux内存初始化技术(initrd)用于支持两阶段的系统引导过程,是在系统启动过程中被挂 ...
- 嵌入式Linux初始化硬件RTC,嵌入式Linux系统中的快速启动技术研究
嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,样 ...
- 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版采纳了 ...
最新文章
- php验证 js验证邮箱格式,js和php邮箱地址验证的实现方法
- linux chown 函数用噶,chown - Linux C 函数 使用手册
- Web前端主要学什么?这些知识要掌握
- 局网计算机无法访问,局域网计算机不能访问服务器的原因是什么
- linux date 小写h,linux date 命令详解[转载]
- pywin32官方说明文档_GEE学习笔记 六十五:GEE的Python版API说明文档(英文版)
- java zoneoffset,java - 如何在java8中获取默认的ZoneOffset? - SO中文参考 - www.soinside.com...
- LeetCode 1971. Find if Path Exists in Graph(图的遍历)
- python遍历文件夹方法
- OSPFv3中LSA详解(二)——Router LSA详解
- Juniper SRX240 U盘升级junos
- 服务器网站dns服务器,国内各个域名服务商主要dns服务器
- java openxml word_OpenXml读取word内容的实例
- C++析取器在代码自动化测试中的应用
- js设置html打印不分页,web 页面分页打印的实现
- android studio 如何查看帮助文档
- python 移动平均线_Python中的移动平均线
- FMCW雷达测距技术最强最全解析
- NO.1—Python安装与环境配置
- 学哪种编程语言比较好?
热门文章
- 打线上包 测试_vue-cli项目分别打测试包(test)和生产包(prod)
- DE 32: Limit Cycles
- 在训练期间保存检查点
- android 组件大小,Android编程获取组件尺寸大小的方法
- 推荐系统组队学习——WideDeep
- 从零开始刷Leetcode——数组(830.849.888)
- EasyPR--中文车牌识别系统 开发详解(开源)
- java setenabled不好用,哪个更好,setEnabled或setUserInteractionEnabled?
- python中面向对象的缺点_面向对象中的多态在 Python 中是否没有什么意义?
- android 开发中判断网络是否连接的代码