#/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin # 更改主机名
# hostnamectl set-hostname <hostname> # 隐藏服务器版本
> /etc/issue # 修改字符集
localectl set-locale LANG=en_US.UTF-8 # 解决ssh连接速度慢的问题
sed -i '/GSSAPIAuthentication/{s/yes/no/}' /etc/ssh/sshd_config
sed -i 's/\#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
# sed -i '134i GSSAPIAuthentication no\nUseDNS no' /etc/ssh/sshd_config # 更新yum源
if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
fi
yum clean all # 设置时区并同步时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
if ! crontab -l | grep "ntpdate" &>/dev/null; then
(echo "*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1"; crontab -l) | crontab
fi # 禁用selinux
sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config # 关闭防火墙
if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then
systemctl stop firewalld.service
systemctl disable firewalld.service
elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then
service iptables stop
chkconfig iptables off
fi # 关闭postfix服务
if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then
systemctl stop postfix.service
systemctl disable postfix.service
elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then
service postfix stop
chkconfig postfix off
fi # 历史命令显示操作时间;命令行历史数;忽略所有以空格开头的命令。
if ! grep "HISTTIMEFORMAT" /etc/profile &>/dev/null; then
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile
echo "export HISTSIZE=50" >>/etc/profile
echo "export HISTFILESIZE=50" >> /etc/profile
echo "export HISTCONTROL=ignorespace" >>/etc/profile
fi # SSH超时时间,改变umask
if ! grep "TMOUT=3600" /etc/profile &>/dev/null; then
echo "export TMOUT=3600" >> /etc/profile
echo "umask 022" >> /etc/profile
fi # 禁止root远程登录
# sed -i 's/\#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config # 禁止定时任务向发送邮件
sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab # 设置最大打开文件数
if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
fi # 系统内核优化
if ! grep "net.ipv4" /etc/sysctl.conf &>/dev/null; then
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 20480
net.ipv4.tcp_max_syn_backlog = 20480
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 20
EOF
fi # 减少SWAP使用
if ! grep "vm.swappiness" /etc/sysctl.conf &>/dev/null; then
cat >> /etc/sysctl.conf << EOF
vm.swappiness = 0
EOF
fi
# echo "0" > /proc/sys/vm/swappiness
# 临时生效 # 安装系统性能分析工具及其他
yum install gcc make autoconf vim sysstat net-tools iostat iftop iotop lrzsz -y # 重启服务器
reboot

01 Linux系统配置初始化的更多相关文章

  1. 跟我一起Django - 01 安装和初始化

    跟我一起Django - 01 安装和初始化 python环境 C:\Python27\Lib\site-packages>python --versionPython 2.7.5 安装setu ...

  2. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  3. LINUX系统配置

    LINUX系统配置 Linux 安装jdk方法; Linux Tomcat 安装与配置 Linux redis 安装与配置 (例1) Linux redis安装配置(例2) NGINX 安装 Linu ...

  4. linux文件系统 - 初始化(二)

    加载initrd(上) 一.目的 本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd. initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可 ...

  5. linux文件系统 - 初始化(一)

    术语表: struct task:进程 struct mnt_namespace:命名空间 struct mount:挂载点 struct vfsmount:挂载项 struct file:文件 st ...

  6. linux文件系统初始化过程(5)---加载initrd(下)

    一.目的 linux把文件分为常规文件.目录文件.软链接文件.硬链接文件.特殊文件(设备文件.管道文件.socket文件等)几种类型,分别对应不同的新建函数sys_open().sys_mkdir() ...

  7. linux文件系统初始化过程(2)---挂载rootfs文件系统

    一.目的 本文主要讲述linux3.10文件系统初始化过程的第一阶段:挂载rootfs文件系统. rootfs是基于内存的文件系统,所有操作都在内存中完成:也没有实际的存储设备,所以不需要设备驱动程序 ...

  8. linux文件系统初始化过程(1)---概述

    术语表: struct task:进程 struct mnt_namespace:命名空间 struct mount:挂载点 struct vfsmount:挂载项 struct file:文件 st ...

  9. Linux系统配置VSFTP软件详解

    Linux系统配置VSFTP软件详解 出处 http://www.sudu.cn/service/detail.php?id=11656 vsftpd.conf 是vsftpd的配置文件,用来控制vs ...

随机推荐

  1. 痞子衡嵌入式:串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之RESET#

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上使能NOR Flash的Continuous read模式在软复位后无法正常启动问题的解决经验. 前一篇文章 <在i ...

  2. [Qt] 项处理组件

                             项(Item):一个项存储了文字.文字的格式.自定义数据等. 1.项视图(Item View) 针对一个数据模型,可能有不同的展示需求,如文件夹中图片 ...

  3. linux服务器市场特性高可用高性能 (集群上体现)安全

    https://www.linuxprobe.com/chapter-00.html 1 linux安全 更安全 对比windows  代码漏洞 及时修补 全世界看到源代码 2 linux 可以卸载图 ...

  4. 如何在 CentOS 8 中安装 Cockpit Web 控制台

    如何在 CentOS 8 中安装 Cockpit Web 控制台 [日期:2019-10-31] 来源:Linux公社  作者:醉落红尘 [字体:大 中 小]   在本文中,我们将帮助您在CentOS ...

  5. week-01

    week-01 1. 计算机组成 从底层开始: 硬件: CPU.内存.硬盘.网卡.主板.显卡.风扇.电源.鼠标键盘 等: 系统: Linux.Windows.Mac 等: 软件: QQ.微信.吃鸡.农 ...

  6. 彻底解决Could not transfer artifact org.apache.maven.plugins问题

    今天在学习maven框架的时候出现Could not transfer artifact org.apache.maven.plugins问题,后面根据很多博客综合总结,终于解决了,现在分享一下我的方 ...

  7. Step By Step(Lua编译执行与错误)

    Step By Step(Lua编译执行与错误) 1. 编译:    Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才 ...

  8. Linux资源监控工具 glances

    使用资源监控工具 glances 前言 glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括: CPU 使用率 内存使用情况 内核统计信息和运行队列信息 磁 ...

  9. vmware workstation linux虚拟机点击suspend会卡死

    vmware workstation linux虚拟机点击suspend会卡死, 现象如图, 我测过很多发行版都有这个问题 临时解决方案是关闭suspend功能 sudo systemctl mask ...

  10. 前端工具 | JS编译器Monaco使用教程

    前言 我的需求是可以语法高亮.函数提示功能.自动换行.代码折叠 Monaco Monaco是微软家的,支持的语言很多,还有缩略地图,有时候提示不好用然后包体很大. The Monaco Editor ...