系统优化

yum源的优化

1.自建yum仓库

2.使用一个较为稳定的仓库

CentOS 镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

Epel 镜像
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


系统主机名

修改主机名

hostnamectl set-hostname

vim /etc/hostname

系统之间的域名解析

vim /etc/hosts

ip   主机名 	

关闭selinux和防火墙

关闭selinux

临时关闭

setenforce 0

永久关闭

vim /etc/selinux/config

关闭防火墙

永久关闭

systemctl disable --now firewalld

配置ntp时间同步

安装ntp

yum install ntpdate 

同步时间

ntpdate  [时间服务器的地址]

ntp.aliyun.com   阿里时间服务器
ntp.tuna.tsinghua.edu.cn    清华时间服务器

设置系统开启进程或者文件句柄数

ulimit

-n  最大文件句柄数
-u  最大进程数

永久修改 加大文件描述符与最大打开的进程数

cat >>/etc/security/limits.conf<<EOF
* soft nofile 102400
* hard nofile 102400
* soft nproc 102400
* hard nproc 102400
EOF

重启

最大PID数

查看最大的pid数

cat   /proc/sys/kernel/pid_max

临时修改

echo pid数 > /proc/sys/kernel/pid_max

永久修改

echo "kernel.pid_max= 4194303" >> /etc/sysctl.conf 


sysctl -p    加载

调整内核参数

cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000    65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
net.ipv4.ip_forward = 1
EOF

网络管理工具

在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突,而且NetworkManager在网络断开的时候,会清理路由,如果一些自定义的路由,没有加入到NetworkManager的配置文件中,路由就被清理掉,网络连接后需要自定义添加上去。

推荐 network

systemctl disable --now NetworkManager     关闭NetworkManager

禁ping

禁止主机被ping

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

用户提权sudo

当普通用户临时使用root用户的权限时使用。

前提:这个用户必须在/etc/sudoer文件中添加权限

[root@localhost ~]# vim /etc/sudoers
oldboy01 ALL=(ALL) ALL

字符处理

sort命令(排序,默认使用第一个字符进行排序)

sort是排序的命令,默认使用第一个字符进行排序

cat 1.txt | sort -n
-n # 依照数值的大小排序


-r # 以相反的顺序来排序
-k # 以某列进行排序(默认的分隔符是空格)
-t # 指定分割符,默认是以空格为分隔符

uniq 命令(去重,默认只去重相邻的数据)

uniq 命令(去重,默认只去重相邻的数据)

 cat 1.txt | sort -n | uniq
-c # 在每列旁边显示该行重复出现的次数。
-d # 仅显示重复出现的行列。
-u # 仅显示出一次的行列。

cut 命令(分割字符,默认的字段分隔符为"TAB")

cut 命令(分割字符,默认的字段分隔符为"TAB")

cut分割字符有局限性。

-d # 指定字段的分隔符,默认的字段分隔符为"TAB";

[root@localhost ~]# cut -d: -f1 3.txt

-f # 显示指定字段的内容

[root@localhost ~]# cut -d: -f3 /etc/passwd

tr命令(替换字符)

cat 3.txt | tr "123" "abc"
-d # 删除字符


 cat 3.txt | tr -d "456"

wc命令(统计字符)

-c # 统计文件的Bytes数
cat 3.txt | wc -c
-l # 统计文件的行数
-w # 统计文件中单词的个数,默认以空白字符做为分隔符

时间

打印当前时间

date +"%Y-%m-%d %H:%M:%S"

 date +"%F %H:%M:%S"

设置本机的时间

date -s