ubuntu18.04通用初始化
环境:Ubuntu 18.04.6 LTS
1、开启root密码登录并限制 AllowUsers
1 2 3 4 5 6 7 8 9
|
curl ifconfig.me
vim /etc/ssh/sshd_config PermitRootLogin yes AllowUsers root@127.0.0.1/32 root@本机所在的外网网段/31 root@内网ip段
systemctl restart ssh
|
如果出现无法ssh到主机的情况,查看主机/var/log/auth.log日志,可以知晓为什么 ssh 连不上
2、centos关闭selinux2.
1 2 3 4 5
| sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 或 setenforce 0 > /dev/null 2>&1 || true sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
|
3、设置主机名
1 2
| hostnamectl set-hostname zznn1
|
设置完主机名后,输入 bash,或者重新 ssh 到主机,可以显示设置后的主机名
4、设置host
1 2 3 4
| vim /etc/hosts 10.0.0.18 zznn1 10.0.0.19 zznn2 10.0.0.20 zznn3
|
5、设置免密登录
1 2 3 4 5
| ssh-keygen ssh-copy-id zznn1 ssh-copy-id zznn2 ssh-copy-id zznn3
|
6、修改ulimit
1 2 3 4 5 6 7 8 9
| cat >> /etc/security/limits.conf <<EOF * - nofile 65535 * - nproc 65535 root - nofile 65535 root - nproc 65535 EOF ulimit -HSn 65535 ulimit -a
|
6、关闭swap
1 2
| swapoff -a sed -i /swap/d /etc/fstab
|
7、修改内核参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.ip_local_port_range = 1024 65535 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_mem = 786432 1048576 1572864 net.ipv4.tcp_rmem = 32768 436600 873200 net.ipv4.tcp_wmem = 8192 436600 873200 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_window_scaling = 0 net.ipv4.tcp_sack = 0 net.core.netdev_max_backlog = 30000 net.ipv4.tcp_no_metrics_save = 1 net.core.somaxconn = 282144 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 vm.overcommit_memory = 1 vm.max_map_count = 262144 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=15 net.ipv4.tcp_keepalive_time=1800 net.core.somaxconn=65535 fs.file-max = 2000000 fs.inotify.max_user_watches = 2000000 sysctl -p
|
8、配置没有外网ip的主机访问外网
参考:配置snat使无法出外网的机器通过其他机器出外网
9、设置DNS
1 2
| sed -i s/ systemctl restart systemd-resolved.service
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| cp /etc/apt/sources.list /etc/apt/sources.list.bakcup cat > /etc/apt/sources.list <<EOF deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse EOF apt update
|
(10. 设置apt源(22.04))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| cp /etc/apt/sources.list /etc/apt/sources.list.bakcup
cat > /etc/apt/sources.list <<EOF deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse EOF
cat > /etc/apt/sources.list <<EOF deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse EOF apt update
|
11、安装常用软件
1 2 3 4 5
| apt install -y python sshpass telnet vim wget curl unzip git gcc make lrzsz nmon smartmontools ntpdate
apt install -y sshpass telnet vim wget curl unzip git gcc make lrzsz nmon smartmontools ntpdate
|
12、设置时区
1 2 3 4 5 6
| timedatectl set-timezone 'Asia/Shanghai' ntpdate ntp1.aliyun.com
systemctl restart cron
|
或
1 2 3 4 5 6 7
| cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime > /dev/null 2>&1 && echo 'Asia/Shanghai' > /etc/timezone timedatectl set-timezone 'Asia/Shanghai'
ntpdate ntp1.aliyun.com > /dev/null 2>&1
(crontab -l 2>/dev/null | grep -v "^#" || true; echo "0 * * * * /usr/sbin/ntpdate ntp1.aliyun.com") | sort - | uniq - | crontab -
|
设置时间为24小时制
1 2 3
| vim /etc/default/locale LC_TIME=en_DK.UTF-8
|
然后重启服务器即可生效,date命令查看是24小时时间格式

13、清空磁盘
如果服务器上有多块磁盘,建议除系统盘外,对所有盘执行清理操作
1 2 3
| dmsetup remove_all wipefs -a /dev/sd{b..g}
|
14、docker 挂盘
如果系统盘小于 100g,需要为 docker 单独挂盘,如果系统盘比较大,则无需为 docker 单独挂盘
1 2 3 4 5 6 7
| mkfs -t ext4 /dev/sdb mkdir -p /var/lib/docker mount /dev/sdb /var/lib/docker vim /etc/fstab /dev/sdb /var/lib/docker ext4 defaults,noatime,data=writeback,barrier=0,commit=10 0 0
|
note: 挂载时必须要确保挂载目录为空没有任何数据 否则会造成数据丢失 如果需要挂载目录存在数据 则需要先进行数据迁移挂载后再次迁入 否则一旦挂载 该目录数据 会即刻消失 且无法找回。
15、扩展
关于defaults,noatime,data=writeback,barrier=0,commit=10 0 0
- 这是一个典型的 /etc/fstab 文件中的行,用于挂载一个磁盘分区到 /mnt 目录,并指定了一些挂载选项。让我为您解释这个行中的各个部分:
- /dev/vdb:这是要挂载的磁盘分区的设备文件路径。在这个例子中,/dev/vdb 表示第二个磁盘(通常,第一个磁盘是 /dev/vda)上的第一个分区。
- /mnt:这是要将磁盘分区挂载到的目标目录。在这个例子中,磁盘分区将被挂载到 /mnt 目录下。
- ext4:这是文件系统类型,指示磁盘分区使用的文件系统。在这个例子中,它是 ext4 文件系统。
- defaults:这是一组默认挂载选项,通常包括文件系统的读写权限等。这里指示使用默认选项。
- noatime:这是一个文件系统挂载选项,它告诉系统不要更新文件和目录的访问时间戳(atime)。这可以提高性能,因为系统不必在每次文件访问时更新时间戳。
- data=writeback:这是用于指定文件系统的数据写入策略的选项。在这里,使用了 writeback 策略,它可以提高写入性能。
- barrier=0:这个选项禁用了数据同步(barrier)操作,同样是为了提高性能。但请注意,禁用 barrier 可能会增加数据丢失的风险,因此在特定用例中需要小心使用。
- commit=10:这个选项设置数据提交(commit)的延迟时间,单位是秒。在这里,设置为10秒,这意味着系统将每隔10秒将挂载的文件系统中的未提交数据写入磁盘。
- 0 0:这是文件系统的 dump 和 fsck 选项。通常情况下,这些设置为0,表示不需要进行备份和文件系统检查。
- 请确保在修改 /etc/fstab 文件之前,你了解自己的需求和文件系统的特性,以确保选项的设置是适合的。错误的挂载选项可能会导致数据损坏或性能问题。
详情参考: note环境部署部分 初始化到此结束。