当前位置:   article > 正文

linux系统安装后必需做的初始化操作_linux ubuntu 初始化

linux ubuntu 初始化

目录

CentOS系统可以运行初始化函数脚本:centos_init.sh

Ubuntu系统可以运行初始化函数脚本:Ubuntu_init.sh

Linux系统优化配置

提示符格式颜色调整:


CentOS系统可以运行初始化函数脚本:centos_init.sh

  1. #关闭SELinux
  2. sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
  3. #getenforce命令可以查看
  4. #关闭防火墙
  5. systemctl disable --now firewalld (centos7和8)
  6. systemctl status firewalld命令可以查看
  7. centos6:
  8. chkconfig iptables off
  9. service iptables status 查看防火墙状态
  10. service iptables stop 临时关闭防火墙
  11. service iptables start 开启防火墙
  12. service iptables restart 重启防火墙
  13. #支持光盘,/misc/cd对应就是光盘内容
  14. yum -y install autofs
  15. systemctl enable --now autofs
  16. centos6: service autofs start
  17. #配置仓库(此步可做可不做)
  18. 系统源,EPEL源
  19. yum clean all清除原有yum缓存
  20. yum makecache生成新的缓存
  21. yum repolist all查看拥有仓库
  22. EPEL源:
  23. wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
  24. 加载:yum repolist
  25. #yum源放置的位置:cd /etc/yum.repos.d/
  26. 这里我是先备份 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup(最好不要删除)然后去使用阿里或者其他的centos源
  27. yum clean all 清除缓存
  28. yum makecache 生成新的缓存
  29. yum update 更新软件包
  30. #修改网卡名称(centos6不适用)
  31. sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s#(.*)"$#\1 net.ifnames=0"#' /etc/default/grub
  32. or
  33. sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0"@' /etc/default/grub
  34. or
  35. sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s#"$# net.ifnames=0"#' /etc/default/grub
  36. #修改后执行:
  37. centos:
  38. grub2-mkconfig -o /boot/grub2/grub.cfg; reboot
  39. ubuntu:
  40. grub2-mkconfig -o /boot/grub2/grub.cfg >& /dev/null; reboot
  41. #配置网卡IP
  42. cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
  43. DEVICE=eth0
  44. NAME=eth0
  45. BOOTPROTO=static
  46. IPADDR=10.0.0.x
  47. PREFIX=24
  48. GATEWAY=10.0.0.x
  49. DNS1=x.x.x.x
  50. DNS2=180.76.76.76
  51. DNS3=223.6.6.6
  52. ONBOOT=yes
  53. EOF
  54. #此步之后可能会有网络无法连接,查看
  55. [root@localhost ~]#systemctl restart network
  56. Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
  57. [root@localhost ~]#nmcli con sh
  58. NAME UUID TYPE DEVICE
  59. eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
  60. ens33 47b3f401-d904-48b1-aef2-2d6af9c88bee ethernet --
  61. [root@localhost ~]nmcli connection up eth0
  62. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
  63. [root@localhost ~]nmcli connection show
  64. [root@localhost ~]nmcli dev show eth0
  65. [root@localhost ~]ping www.baidu.com
  66. 或者删除源网卡信息
  67. [root@localhost ~]#nmcli con del ens33
  68. Connection 'ens33' (47b3f401-d904-48b1-aef2-2d6af9c88bee) successfully deleted.
  69. [root@localhost ~]#systemctl restart network
  70. [root@localhost ~]#systemctl status network
  71. #最小化安装系统后,建议安装常用软件
  72. yum -y install autofs vim-enhanced tcpdump chrony lrzsz tree telnet ftp lftp redhat-lsb-core bash-completion net-tools postfix wget bzip2 zip unzip xz lsof mlocate man-pages rsync install gcc gcc-c++ kernel-devel pcsc-lite-libs elfutils-libelf-devel make open-vm-tools
  73. #修改提示符和环境变量
  74. cat > /etc/profile.d/env.sh <<EOF
  75. PS1='\[\e[1;32m\][\u@\h \W]\\$\[\e[0m\] '
  76. export EDITOR=vim
  77. export HISTTIMEFORMAT="%F %T "
  78. EOF
  79. cat > ~/.vimrc <<EOF
  80. set ignorecase
  81. set autoindent
  82. autocmd BufNewFile *.sh exec ":call SetTitle()"
  83. func SetTitle()
  84. if expand("%:e") == 'sh'
  85. call setline(1,"#!/bin/bash")
  86. call setline(2,"#")
  87. call setline(3,"#********************************************************************")
  88. call setline(4,"#Author: xxxxx")
  89. call setline(5,"#QQ: xxxxxxxx")
  90. call setline(6,"#Date: ".strftime("%Y-%m-%d"))
  91. call setline(7,"#FileName: ".expand("%"))
  92. call setline(8,"#URL: www.zhangxingshu.com")
  93. call setline(9,"#Description: My test script")
  94. call setline(10,"#Copyright (C): ".strftime("%Y")." All rights reserved")
  95. call setline(11,"#********************************************************************")
  96. call setline(12,"")
  97. endif
  98. endfunc
  99. autocmd BufNewFile * normal G
  100. EOF
  101. # 更改提示符颜色在vi .bashrc 中添加
  102. echo 'PS1="\[\e[1;40;32m\][\u@\h \w]\\$\[\e[0m\]"' > ~/.bashrc
  103. #或者在ls /etc/profile.d/目录下创建新文件添加
  104. echo 'PS1="\[\e[1;40;32m\][\u@\h \w]\\$\[\e[0m\]"' > /etc/profile.d/xxx
  105. reboot
  106. 保存快照

Ubuntu系统可以运行初始化函数脚本:Ubuntu_init.sh

  1. 防火墙默认关闭
  2. 开启root 远程登录功能
  3. sudo -i
  4. passwd root
  5. sed -i '/PermitRootLogin/c PermitRootLogin yes' /etc/ssh/sshd_config
  6. systemctl restart sshd
  7. #修改网卡名称
  8. vi /etc/default/grub
  9. GRUB_CMDLINE_LINUX="net.ifnames=0"
  10. 或者
  11. sed -i '/GRUB_CMDLINE_LINUX=/c GRUB_CMDLINE_LINUX="net.ifnames=0"' /etc/default/grub
  12. 生成新的grub.cfg文件
  13. grub-mkconfig -o /boot/grub/grub.cfg
  14. reboot
  15. 或者
  16. update-grub
  17. grep net.ifnames /boot/grub/grub.cfg
  18. 建议安装常用软件
  19. apt update
  20. apt -y install autofs vim tcpdump chrony lrzsz tree telnet ftp lftp bash-completion net-tools postfix wget bzip2 zip unzip lsof mlocate rsync network-manager
  21. 消除日志错误
  22. vim /etc/multipath.conf
  23. #添加下面内容
  24. blacklist {
  25. devnode "^sda"
  26. }
  27. service multipath-tools restart
  28. ubuntu默认时区是UTC,改时区:
  29. timedatectl set-timezone Asia/Shanghai
  30. reboot
  31. 做成快照

Linux系统优化配置

  1. 1.内核参数优化(新)
  2. vi /etc/sysctl.conf #生产环境中将服务器以下内核参数调大
  3. kernel.shmall = 2097152
  4. kernel.shmmax = 2147483648
  5. kernel.shmmni = 4096
  6. kernel.sem = 250 32000 100 128
  7. fs.file-max = 6553560
  8. net.ipv4.ip_local_port_range = 1024 65000
  9. net.core.rmem_default=262144
  10. net.core.wmem_default=262144
  11. net.core.rmem_max=262144
  12. net.core.wmem_max=262144
  13. 所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义:
  14. 1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲。
  15. 2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲。
  16. 3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节。
  17. 4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答。
  18. 5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 如果TCP窗口最大超过65535(64KB), 必须设置该数值为1。
  19. 6. rmem_default — 默认的接收窗口大小。
  20. 7. rmem_max — 接收窗口的最大大小。
  21. 8. wmem_default — 默认的发送窗口大小。
  22. 9. wmem_max — 发送窗口的最大大小。
  23. /proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。
  24. 建议在系统启动时自动修改TCP/IP参数:
  25. 把下面代码增加到/etc/rc.local文件, 然后保存文件, 系统重新引导的时候会自动修改下面的TCP/IP参数:
  26. echo 256960 > /proc/sys/net/core/rmem_default
  27. echo 256960 > /proc/sys/net/core/rmem_max
  28. echo 256960 > /proc/sys/net/core/wmem_default
  29. echo 256960 > /proc/sys/net/core/wmem_max
  30. echo 0 > /proc/sys/net/ipv4/tcp_timestamps
  31. echo 1 > /proc/sys/net/ipv4/tcp_sack
  32. echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
  33. TCP/IP参数都是自解释的, TCP窗口大小设置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答。
  34. 上面数值的设定是根据互连网连接和最大带宽/延迟率来决定。
  35. 注: 上面实例中的数值可以实际应用, 但它只包含了一部分参数。
  36. 另外一个方法: 使用 /etc/sysctl.conf 在系统启动时把参数配置成您所设置的值:
  37. net.core.rmem_default = 256960
  38. net.core.rmem_max = 256960
  39. net.core.wmem_default = 256960
  40. net.core.wmem_max = 256960
  41. net.ipv4.tcp_timestamps = 0
  42. net.ipv4.tcp_sack =1
  43. net.ipv4.tcp_window_scaling = 1
  44. 设置Linux内核参数
  45. 配置 Linux 内核参数(2种方法),修改后不用重启动更新: /sbin/sysctl -p
  46. 第一种:打开/etc/sysctl.conf 复制如下内容
  47. kernel.shmall = 8388608
  48. kernel.shmmax = 34359738367
  49. kernel.shmmni = 4096
  50. kernel.sem = 250 32000 100 128
  51. fs.file-max = 6553560
  52. net.ipv4.ip_local_port_range = 1024 65000
  53. net.core.rmem_default=262144
  54. net.core.wmem_default=262144
  55. net.core.rmem_max=4194304
  56. net.core.wmem_max=1048586
  57. 第二种:打开终端
  58. cat >> /etc/sysctl.conf<
  59. kernel.shmall = 8388608
  60. kernel.shmmax = 34359738367
  61. kernel.shmmni = 4096
  62. kernel.sem = 250 32000 100 128
  63. fs.file-max = 6553560
  64. net.ipv4.ip_local_port_range = 1024 65000
  65. net.core.rmem_default=262144
  66. net.core.wmem_default=262144
  67. net.core.rmem_max=4194304
  68. net.core.wmem_max=1048586
  69. EOF
  70. 这里,对每个参数值做个简要的解释和说明。
  71. (1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于Oracle来说,该缺省值太低了,通常将其设置为2G。
  72. (2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
  73. (3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
  74. (4)sem:该参数表示设置的信号量。
  75. (5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
  76. 修改好内核以后,执行下面的命令使新的配置生效。
  77. [root @linux1 /root]# /sbin/sysctl -p
  78. 以 root 用户身份运行以下命令来验证您的设置:
  79. /sbin/sysctl -a | grep shm
  80. /sbin/sysctl -a | grep sem
  81. /sbin/sysctl -a | grep file-max
  82. /sbin/sysctl -a | grep ip_local_port_range
  83. 例如:
  84. # /sbin/sysctl -a | grep shm
  85. kernel.shmmni = 4096
  86. kernel.shmall = 2097152
  87. kernel.shmmax = 2147483648
  88. kernel.shm-use-bigpages = 0
  89. # /sbin/sysctl -a | grep sem
  90. kernel.sem = 250 32000 100 128
  91. # /sbin/sysctl -a | grep file-max
  92. fs.file-max = 6553560
  93. # /sbin/sysctl -a | grep ip_local_port_range
  94. net.ipv4.ip_local_port_range = 1024 65000
  95. 如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:
  96. /sbin/sysctl -p
  97. 2.安全模块配置文件limits.conf
  98. vi /etc/security/limits.conf
  99. * - nofile 100000
  100. * - nproc 100000
  101. * - memlock 60000
  102. vi /etc/security/limits.conf #生产环境设置参考limits.conf文件
  103. # End of file
  104. * soft core unlimited
  105. * hard core unlimited
  106. * soft nproc 1000000
  107. * hard nproc 1000000
  108. * soft nofile 1000000
  109. * hard nofile 1000000
  110. * soft memlock 32000
  111. * hard memlock 32000
  112. * soft msgqueue 8192000
  113. * hard msgqueue 8192000
  114. 3.网络连接最大追踪连接数
  115. 4.mysql最大连接数
  116. 5.ssh优化

提示符格式颜色调整:

  1. CentOS提示符修改:
  2. echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$ "' > /etc/profile.d/env.sh
  3. echo "PS1='\[\e[1;33m\][\u@\h \W]\\$\[\e[0m\] '" > /etc/profile.d/env.sh
  4. Ubuntu提示符修改:
  5. echo "PS1='\[\e[1;35m\][\u@\h \W]\\$\[\e[0m\] '" >> .bashrc
  6. 恢复原格式:PS1="[\u@\h \W]\\$\[\e[0m\]"
  7. 30黑色;31红色;32绿色;33黄色;34蓝色;35紫色;36青色;37白色
  8. 修改提示符文件:Ubuntu,追加到~/.bashrc
  9. rocky,添加到/etc/profile.d/env.sh,或者是追加到/etc/profile或者/etc/bashrc
  10. 修改提示符和环境变量
  11. cat > /etc/profile.d/env.sh <<EOF
  12. PS1='\[\e[1;32m\][\u@\h \W]\\$\[\e[0m\] '
  13. export EDITOR=vim
  14. export HISTTIMEFORMAT="%F %T "
  15. EOF

时间同步:

  1. CentOS7系统默认使用chrony
  2. systemctl start chronyd
  3. systemctl stataus chronyd
  4. 在chrony配置文件中添加NTP服务器地址,之后重启
  5. 更改硬件时区
  6. echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf 中国中文版格式
  7. echo 'LANG=en_CN.UTF-8' > /etc/locale.conf 中国英文版格式
  8. 以系统时间为基准同步硬件时间 hwclock -w
  9. 以硬件时间为基准同步系统时间 hwclock -s
  10. 查看时间同步状态
  11. date;clock

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/205724
推荐阅读
相关标签
  

闽ICP备14008679号