cari
RumahOperasi dan penyelenggaraanCentOSSkrip pengoptimuman sistem CentOS 7

Skrip pengoptimuman sistem CentOS 7

Aug 02, 2023 pm 05:22 PM
centoscentos7


Skrip pengoptimuman sistem CentOS 7


1. Pengenalan

Sebagai operasi dan penyelenggaraan, kami sering menggunakan sistem operasi untuk pelbagai tujuan ini, tetapi sebenarnya kami akan menggunakan sistem operasi untuk pelbagai tujuan ini, tetapi kami akan menggunakan sistem operasi untuk pelbagai tujuan ini kerja berulang, kandungan operasi juga serupa Berdasarkan situasi ini, kita boleh membuat operasi yang sama menjadi skrip untuk pelaksanaan bersatu, dan secara manual memasukkan perkara yang berbeza sebagai pembolehubah. Tidakkah masa yang disimpan boleh digunakan untuk melakukan perkara yang lebih bermakna?

Baru-baru ini, saya menjumpai kod sumber shell yang agak mudah digunakan berdasarkan pengesyoran peminat, saya menyesuaikannya berdasarkan ini dan berkongsi dengan semua orang.

2. Menu

Menu utama:

Skrip pengoptimuman sistem CentOS 7

Menu kedua:

Skrip pengoptimuman sistem CentOS 7

pengubahsuaian sistem yang digunakan secara biasa s, menutup selinux, dan menutup tembok api, memasang alat yang biasa digunakan dan mempercepatkan log masuk ssh dan fungsi lain.

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

3. Kod sumber

#!/bin/sh

. /etc/rc.d/init.d/functions
export LANG=zh_CN.UTF-8

#一级菜单
menu1()
{
        clear
        cat <<eof
----------------------------------------
|****   欢迎使用cetnos7.9优化脚本    ****|
|****      博客地址: aaa.al         ****|
----------------------------------------
1. 一键优化
2. 自定义优化
3. 退出
EOF
        read -p "please enter your choice[1-3]:" num1
}

#二级菜单
menu2()
{
 clear
 cat <<eof
----------------------------------------
|****Please Enter Your Choice:[0-13]****|
----------------------------------------
1. 修改字符集
2. 关闭selinux
3. 关闭firewalld
4. 精简开机启动
5. 修改文件描述符
6. 安装常用工具及修改yum源
7. 优化系统内核
8. 加快ssh登录速度
9. 禁用ctrl+alt+del重启
10.设置时间同步
11.history优化
12.返回上级菜单
13.退出
EOF
 read -p "please enter your choice[1-13]:" num2

}

#1.修改字符集
localeset()
{
 echo "========================修改字符集========================="
 cat > /etc/locale.conf <<eof
LANG="zh_CN.UTF-8"
#LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
EOF
 source /etc/locale.conf
 echo "#cat /etc/locale.conf"
 cat /etc/locale.conf
 action "完成修改字符集" /bin/true
 echo "==========================================================="
 sleep 2
}

#2.关闭selinux
selinuxset() 
{
 selinux_status=`grep "SELINUX=disabled" /etc/sysconfig/selinux | wc -l`
 echo "========================禁用SELINUX========================"
 if [ $selinux_status -eq 0 ];then
  sed  -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/sysconfig/selinux
  setenforce 0
  echo &#39;#grep SELINUX=disabled /etc/sysconfig/selinux&#39;
  grep SELINUX=disabled /etc/sysconfig/selinux
  echo &#39;#getenforce&#39;
  getenforce
 else
  echo &#39;SELINUX已处于关闭状态&#39;
  echo &#39;#grep SELINUX=disabled /etc/sysconfig/selinux&#39;
                grep SELINUX=disabled /etc/sysconfig/selinux
                echo &#39;#getenforce&#39;
                getenforce
 fi
  action "完成禁用SELINUX" /bin/true
 echo "==========================================================="
 sleep 2
}

#3.关闭firewalld
firewalldset()
{
 echo "=======================禁用firewalld========================"
 systemctl stop firewalld.service &> /dev/null
 echo &#39;#firewall-cmd  --state&#39;
 firewall-cmd  --state
 systemctl disable firewalld.service &> /dev/null
 echo &#39;#systemctl list-unit-files | grep firewalld&#39;
 systemctl list-unit-files | grep firewalld
 action "完成禁用firewalld,生产环境下建议启用!" /bin/true
 echo "==========================================================="
 sleep 5
}

#4.精简开机启动
chkset()
{
 echo "=======================精简开机启动========================"
 systemctl disable auditd.service
 systemctl disable postfix.service
 systemctl disable dbus-org.freedesktop.NetworkManager.service
 echo &#39;#systemctl list-unit-files | grep -E "auditd|postfix|dbus-org\.freedesktop\.NetworkManager"&#39;
 systemctl list-unit-files | grep -E "auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
 action "完成精简开机启动" /bin/true
 echo "==========================================================="
 sleep 2
}

#5.修改文件描述符
limitset()
{
 echo "======================修改文件描述符======================="
 echo &#39;* - nofile 65535&#39;>/etc/security/limits.conf
 ulimit -SHn 65535
 echo "#cat /etc/security/limits.conf"
 cat /etc/security/limits.conf
 echo "#ulimit -Sn ; ulimit -Hn"
 ulimit -Sn ; ulimit -Hn
 action "完成修改文件描述符" /bin/true
 echo "==========================================================="
 sleep 2
}

#6.安装常用工具及修改yum源
yumset()
{
 echo "=================安装常用工具及修改yum源==================="
 yum install wget -y &> /dev/null
 if [ $? -eq 0 ];then
  cd /etc/yum.repos.d/
  \cp CentOS-Base.repo CentOS-Base.repo.$(date +%F)
  ping -c 1 mirrors.aliyun.com &> /dev/null
  if [ $? -eq 0 ];then
   wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null
   yum clean all &> /dev/null
   yum makecache &> /dev/null
  else
   echo "无法连接网络"
       exit $?
    fi
 else
  echo "wget安装失败"
  exit $?
 fi
 yum -y install ntpdate lsof net-tools telnet vim lrzsz tree nmap nc sysstat &> /dev/null
 action "完成安装常用工具及修改yum源" /bin/true
 echo "==========================================================="
 sleep 2
}

#7. 优化系统内核 #另外,搜索公众号技术社区后台回复“壁纸”,获取一份惊喜礼包。kernelset()
{
 echo "======================优化系统内核========================="
 chk_nf=`cat /etc/sysctl.conf | grep conntrack |wc -l`
 if [ $chk_nf -eq 0 ];then
  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 = 0
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
EOF
 sysctl -p
 else
  echo "优化项已存在。"
 fi
 action "内核调优完成" /bin/true
 echo "==========================================================="
 sleep 2
}

#8.加快ssh登录速度
sshset()
{
 echo "======================加快ssh登录速度======================"
 sed -i &#39;s#^GSSAPIAuthentication yes$#GSSAPIAuthentication no#g&#39; /etc/ssh/sshd_config
 sed -i &#39;s/#UseDNS yes/UseDNS no/g&#39; /etc/ssh/sshd_config
 systemctl restart sshd.service
 echo "#grep GSSAPIAuthentication /etc/ssh/sshd_config"
 grep GSSAPIAuthentication /etc/ssh/sshd_config
 echo "#grep UseDNS /etc/ssh/sshd_config"
 grep UseDNS /etc/ssh/sshd_config
 action "完成加快ssh登录速度" /bin/true
 echo "==========================================================="
 sleep 2
}

#9. 禁用ctrl+alt+del重启
restartset()
{
 echo "===================禁用ctrl+alt+del重启===================="
 rm -rf /usr/lib/systemd/system/ctrl-alt-del.target
 action "完成禁用ctrl+alt+del重启" /bin/true
 echo "==========================================================="
 sleep 2
}

#10. 设置时间同步
ntpdateset()
{
 echo "=======================设置时间同步========================"
 yum -y install ntpdate &> /dev/null
 if [ $? -eq 0 ];then
  /usr/sbin/ntpdate time.windows.com
  echo "*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null" >> /var/spool/cron/root
 else
  echo "ntpdate安装失败"
  exit $?
 fi
 action "完成设置时间同步" /bin/true
 echo "==========================================================="
 sleep 2
}

#11. history优化
historyset()
{
 echo "========================history优化========================"
 chk_his=`cat /etc/profile | grep HISTTIMEFORMAT |wc -l`
 if [ $chk_his -eq 0 ];then
  cat >> /etc/profile <<&#39;EOF&#39;
#设置history格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`whoami`] [`who am i|awk &#39;{print $NF}&#39;|sed -r &#39;s#[()]##g&#39;`]: "
#记录shell执行的每一条命令
export PROMPT_COMMAND=&#39;\
if [ -z "$OLD_PWD" ];then
    export OLD_PWD=$PWD;
fi;
if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then
    logger -t `whoami`_shell_dir "[$OLD_PWD]$(history 1)";
fi;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;&#39;
EOF
  source /etc/profile
 else
  echo "优化项已存在。"
 fi
 action "完成history优化" /bin/true
 echo "==========================================================="
 sleep 2
}

#控制函数
main()
{
 menu1
 case $num1 in
  1)
   localeset
   selinuxset
   firewalldset
   chkset
   limitset
   yumset
   kernelset
   sshset
   restartset
   ntpdateset
   historyset
   ;;
  2)
   menu2
   case $num2 in
                  1)
                    localeset
                    ;;
                  2)
                    selinuxset
                    ;;
                  3)
                    firewalldset
                    ;;
                  4)
                    chkset
                    ;;
                  5)
                    limitset
                    ;;
                  6)     
            yumset
                    ;;
                  7)
                    kernelset
                    ;;
                  8)
                    sshset
                    ;;
                  9)
                    restartset
                    ;;
                  10)
                    ntpdateset
                    ;;
    11)
      historyset
      ;;
    12)
      main
      ;;
    13)
      exit
      ;;
    *)
      echo &#39;Please select a number from [1-13].&#39;
      ;;
   esac
   ;;
  3)
   exit
   ;;
  *)
   echo &#39;Err:Please select a number from [1-3].&#39;
   sleep 3
   main
   ;;
 esac
}
main $*

Simpan sebagai init.sh, kemudian berikan kebenaran pelaksanaan dan laksanakannya.

chmod +x init.sh && ./init.sh

Jika menyusahkan untuk salin dan tampal berulang-alik seperti ini, anda juga boleh melaksanakannya melalui arahan satu klik saya, yang juga boleh mencapai kesan di atas:

bash -c "$(curl -L s.aaa.al/init.sh)"

Akhir sekali, jika anda mempunyai fungsi yang anda ingin laksanakan , anda juga boleh menggunakannya berdasarkan skrip asal Laksanakan pengubahsuaian.

Atas ialah kandungan terperinci Skrip pengoptimuman sistem CentOS 7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:Linux中文社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Centos: Kelebihan menggunakan distro Linux iniCentos: Kelebihan menggunakan distro Linux iniMay 02, 2025 am 12:10 AM

CentOS menonjol di kalangan pengagihan Linux Enterprise kerana kestabilan, keselamatan, sokongan komuniti dan kelebihan aplikasi perusahaan. 1. Kestabilan: Kitaran kemas kini adalah panjang dan pakej perisian telah diuji dengan ketat. 2. Keselamatan: mewarisi ciri -ciri keselamatan RHEL, mengemas kini dan mengumumkan tepat pada masanya. 3. Sokongan Komuniti: Dokumentasi komuniti yang besar dan terperinci untuk bertindak balas terhadap masalah dengan cepat. 4. Aplikasi perusahaan: Teknologi kontena sokongan seperti Docker, sesuai untuk penggunaan aplikasi moden.

Membandingkan Penggantian CentOS: Ciri dan ManfaatMembandingkan Penggantian CentOS: Ciri dan ManfaatMay 01, 2025 am 12:05 AM

Alternatif untuk CentOS termasuk Almalinux, Rockylinux, dan Oraclelinux. 1.Almalinux menyediakan keserasian RHEL dan pembangunan yang didorong oleh komuniti. 2. Rockylinux menekankan sokongan peringkat perusahaan dan penyelenggaraan jangka panjang. 3. Oraclelinux menyediakan pengoptimuman dan sokongan khusus Oracle. Alternatif ini semua mempunyai kestabilan dan keserasian yang sama untuk CentOS, dan sesuai untuk pengguna dengan keperluan yang berbeza.

Centos vs. Pengagihan Linux Lain: PerbandinganCentos vs. Pengagihan Linux Lain: PerbandinganApr 30, 2025 am 12:07 AM

CentOS sesuai untuk persekitaran perusahaan dan pelayan kerana kestabilan dan kitaran hayatnya yang panjang. 1.Centos menyediakan sehingga 10 tahun sokongan, sesuai untuk senario yang memerlukan operasi yang stabil. 2.Ubuntu sesuai untuk persekitaran yang memerlukan kemas kini cepat dan mesra pengguna. 3.Debian sesuai untuk pemaju yang memerlukan perisian tulen dan percuma. 4.Fedora sesuai untuk pengguna yang suka mencuba teknologi terkini.

Perlepasan Centos: Memilih alternatif yang betulPerlepasan Centos: Memilih alternatif yang betulApr 29, 2025 am 12:04 AM

Alternatif untuk CentOS termasuk Almalinux, Rockylinux, dan Oraclelinux. 1.almalinux dan rockylinux membina semula RHEL 1: 1, menyediakan kestabilan dan keserasian yang tinggi, sesuai untuk persekitaran perusahaan. 2. Oraclelinux menyediakan prestasi tinggi melalui UEK, sesuai untuk pengguna yang biasa dengan tumpukan Teknologi Oracle. 3. Apabila memilih, kestabilan, sokongan komuniti dan pengurusan pakej perlu dipertimbangkan.

Penggantian Centos: Meneroka pilihan baruPenggantian Centos: Meneroka pilihan baruApr 28, 2025 am 12:17 AM

Alternatif CentOS termasuk rockylinux, almalinux, dan oraclelinux. 1. Rockylinux dan Almalinux menyediakan pengagihan stabil yang serasi dengan RHEL, sesuai untuk pengguna yang memerlukan sokongan jangka panjang. 2. Centosstream sesuai untuk pengguna yang memberi tumpuan kepada ciri -ciri baru dan kitaran pembangunan. 3. Oraclelinux sesuai untuk pengguna yang memerlukan sokongan peringkat perusahaan.

Menggantikan CentOS: Mengenal pasti penggantian yang sesuaiMenggantikan CentOS: Mengenal pasti penggantian yang sesuaiApr 27, 2025 am 12:04 AM

CentOS memerlukan alternatif kerana Centosstream tidak lagi memberikan sokongan jangka panjang. Pilihan alternatif termasuk: 1. Rockylinux, yang menyediakan 10 tahun sokongan kitaran hayat, sesuai untuk pengguna yang memerlukan kestabilan. 2.Almalinux juga menyediakan 10 tahun sokongan dan mempunyai sokongan masyarakat yang kuat. 3. Oraclelinux, menyediakan versi serasi RHEL, dan pengurusan kitaran hayat yang fleksibel.

Akhir centos: menilai kesannyaAkhir centos: menilai kesannyaApr 26, 2025 am 12:03 AM

Akhir CentOS mempunyai kesan yang signifikan terhadap pengguna, dengan pengguna mempunyai pilihan RHEL, Almalinux, Debian atau Ubuntu sebagai alternatif. 1. Kos penghijrahan adalah tinggi, memerlukan masa dan wang. 2. Bahagian Komuniti mempengaruhi projek sumber terbuka. 3.Rhel menyediakan sokongan komersial, tetapi ia mahal. 4.Almalinux adalah serupa dengan CentOS dan mempunyai kos penghijrahan yang rendah. 5. Debian dan Ubuntu memerlukan lebih banyak masa untuk menyesuaikan diri.

Centos: Penjelasan mengenai proses membuat keputusanCentos: Penjelasan mengenai proses membuat keputusanApr 25, 2025 am 12:03 AM

CentOS sesuai sebagai sistem operasi pelayan kelas perusahaan kerana ia stabil, selamat dan percuma. 1) Ia berdasarkan RHEL dan menyediakan keserasian yang tinggi dengan RHEL. 2) Gunakan yum untuk pengurusan pakej untuk memastikan perisian mudah dipasang dan dikemas kini. 3) Komuniti kerap melepaskan patch keselamatan, dengan kitaran sokongan sehingga 10 tahun.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini