ubuntu服务器初始化脚本

发布时间 2023-12-06 11:23:38作者: 呢喃emmmmmm

!/bin/bash

挂载磁盘路径,脚本运行之前先sudo fdisk -l查看要挂载的盘

vmpath='/dev/sdb'

卷组名

vgname='vg01'

echo '-------------------------开始修改源-----------------------'

备份源列表

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

使用华为云源替换默认源

sudo sed -i "s@http://.archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.
security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list

卸载 snapd

sudo apt -y purge snapd
sudo apt -y autoremove

更新系统

sudo apt update
sudo apt -y full-upgrade
sudo apt -y autoremove

echo '-------------------------结束修改源-----------------------'

echo '-------------------------开始修改时区-----------------------'

设置时区为上海

sudo timedatectl set-timezone Asia/Shanghai
sudo systemctl restart systemd-timesyncd

安装中文语言包

sudo apt -y install language-pack-zh-hans
sudo echo -e "export LANG=zh_CN.UTF-8\nexport LANGUAGE=zh_CN:zh" >> /etc/profile
source /etc/profile

echo '-------------------------结束修改时区-----------------------'

echo '-------------------------开始修改ntpdate-----------------------'

安装 ntpdate

sudo apt-get install ntpdate

使用国内时间服务器同步时间

ntpdate cn.pool.ntp.org

同步硬件时钟

hwclock --systohc

echo '-------------------------结束修改ntpdate-----------------------'

echo '-------------------------开始安装-htop-----------------------'

安装 htop

sudo apt install htop

安装 nmon

sudo apt install nmon

echo '-------------------------结束安装-htop-----------------------'

echo '-------------------------开始安装-Python-----------------------'

安装 PostgreSQL 开发依赖和 Python3 pip

sudo apt install libpq-dev python3-psycopg2 -y
sudo apt install python3-pip

echo '-------------------------结束安装-Python-----------------------'

Uncomment the following lines if you want to mount a disk

echo '-------------------------开始安装-挂载盘-----------------------'

sudo pvcreate $vmpath

sudo vgcreate $vgname $vmpath

sudo lvcreate --extents 100%FREE --name lv01 $vgname

sudo mkfs -t ext4 /dev/$vgname/lv01

sudo mkdir /db

查看盘id

sudo -i blkid

sudo vim /etc/fstab

UUID=xxx /db ext4 defaults,nofail,noatime,nodiratime 0 2

验证是否成功

df -h

echo '-------------------------结束安装-挂载盘-----------------------'

echo '-------------------------开始安装-修改最大文件数-----------------------'

修改文件描述符限制

cat <> /etc/security/limits.conf

  • soft nofile 65535
  • hard nofile 65535
    serviceone soft nofile 65535
    serviceone hard nofile 65535
    crm soft nofile 65535
    crm hard nofile 65535
    ecology soft nofile 65535
    ecology hard nofile 65535
    workflow soft nofile 65535
    workflow hard nofile 65535
    keycloak soft nofile 65535
    keycloak hard nofile 65535
    oneadmin soft nofile 65535
    oneadmin hard nofile 65535
    oneconfig soft nofile 65535
    oneconfig hard nofile 65535
    openapi soft nofile 65535
    openapi hard nofile 65535
    root soft nofile 65535
    root hard nofile 65535
    job soft nofile 65535
    job hard nofile 65535
    sms soft nofile 65535
    sms hard nofile 65535
    logistics soft nofile 65535
    logistics hard nofile 65535
    email soft nofile 65535
    email hard nofile 65535
    public soft nofile 65535
    public hard nofile 65535
    EOF

修改系统文件描述符限制

sudo sed -i 's/#DefaultLimitNOFILE=/DefaultLimitNOFILE=65535/g' /etc/systemd/user.conf
sudo sed -i 's/#DefaultLimitNOFILE=/DefaultLimitNOFILE=65535/g' /etc/systemd/system.conf

echo '-------------------------结束安装-修改最大文件数-----------------------'

echo '-------------------------开始安装-修改Socket限制-----------------------'

修改网络参数

sudo echo -e "net.ipv4.ip_local_port_range=15000 60999\nnet.ipv4.tcp_fin_timeout=30" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

echo '-------------------------结束安装-修改Socket限制-----------------------'

echo '-------------------------开始安装-JDK11-----------------------'

更新系统

sudo apt update

安装 OpenJDK 11

sudo apt -y install openjdk-11-jdk

echo '-------------------------结束安装-JDK11-----------------------'

echo '-------------------------开始安装-.NET Core-----------------------'

添加 Microsoft 的软件源

sudo wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y apt-transport-https

安装 .NET Core SDK 和运行时

sudo apt-get install -y dotnet-sdk-6.0
sudo apt-get install -y dotnet-runtime-6.0

echo '-------------------------结束安装-.NET Core-----------------------'

echo '-------------------------开始安装-Docker安装-----------------------'

sudo apt remove docker docker-engine docker.io

sudo apt install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt update

sudo apt -y install docker-ce

cat < /etc/docker/daemon.json
{
"data-root": "/db/docker",
"insecure-registries": ["nrm.recloud.com.cn:44382"],
"log-driver": "json-file",
"log-opts": {
"max-size": "128m",
"max-file": "3" ,
"compress": "true"
}
}
EOF

sudo systemctl stop docker

sudo rsync -r -avz /var/lib/docker /db/

sudo mv /var/lib/docker /var/lib/docker.bk

sudo systemctl start docker

sudo docker info

sudo wget http://nrm.recloud.com.cn:8081/repository/Ops/docker-compose -P /usr/local/bin/

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

echo '-------------------------结束安装-Docker安装-----------------------'

echo '-------------------------初始化完成-----------------------'