kedao中间件-Linux系统安装
一、介绍
本文主要讲述在Windows系统下通过VMware虚拟机安装操作Linux系统(以Ubuntu24.04为例,其他的系统大同小异;CentOS已经停止维护,不推荐安装;习惯CentOS的朋友,可以安装 AlmaLinux)。
本文目的是为大多数新手或没有安装过系统经验的人提供指引,快速搭建自己的Linux系统。
注:本篇内容不涉及kedao中间件的内容。
另外,可以使用国产安全虚拟化平台 FreeVM 代替 VMware。
kedao中间件官网:https://www.yckj-kedao.com
系列文章:
《kedao中间件-安装篇》
《kedao中间件-C++服务篇》
《kedao中间件-Java服务篇》
《kedao中间件-Vue开发篇》
《kedao中间件-数据库安装篇》
《kedao中间件-集群及发布篇》
二、硬件要求
拟化软件需要充足的 CPU、内存和磁盘空间,建议:
CPU:8核心
内存:16GB 及以上
硬盘:500G 及以上
虚拟化支持:检查 BIOS/UEFI 设置中是否启用了虚拟化技术,如 Intel VT-x 或 AMD-V。开机时进入 BIOS 设置开启此选项,否则虚拟机可能无法正常运行。
三、Windows系统要求
1、版本要求:教育版、专业版、企业版及服务器版本。
2、Windows用户要求:Administrator,强烈建议启用 Administrator 用户,并使用 Administrator 登录系统。很多Windows软件是需要系统管理员权限的,否则有很多提示和限制,甚至出现一些莫名其妙的问题。
注:
1)不能使用家庭版,家庭版使用VMware安装Ubuntu系统时,无法连接网络。
2)在Windows 10及以上版本安装 VMware 时不需要启用Hyper-V。Hyper-V和VMware不能同时运行,因为它们都是虚拟机管理程序,会相互冲突。
3、关于家庭版升级为其他版本:使用对应版本的产品密钥来升级。操作:右键我的电脑(此电脑),点击属性,在打开的关于窗口底部,点击更改产品密钥或升级Windows,进入到激活窗口,点击更改产品密钥,输入密钥后,进行升级,升级完成,重启电脑后就更新为新版本了。
网上搜的很多序列号或激活工具均不能使用了,还会安装一大堆小工具,推荐到**商城去购买激活密钥。
四、VMWare网络配置
VMWare下载及安装略,下载最新版本安装即可。
虚拟机的网络模式通常有三种:
桥接模式:虚拟机为独立设备,可以设置与主机在同一网络。网络名称:VMnet0
NAT模式:虚拟机通过主机的 IP 地址访问外部网络,外部网络不能直接访问虚拟机。网络名称:VMnet8
仅主机模式(Host-Only):仅在主机和虚拟机之间通信,无法访问外部网络。网络名称:VMnet1
推荐使用:桥接模式
在虚拟机的菜单中打开【编辑】-【虚拟网络编辑器】,如图:
如果没有 VMnet0,点击【添加网络】按钮,在弹出框选择 VMnet0,确定。然后选中 VMnet0,在VMnet信息中,选择桥接模式,连接自的下拉框值为自动,点击自动设置按钮,在弹出的对话框中,留下 Windows 网络中的无线网络和本地网络即可,其他虚拟网络的✓去掉。
虚拟机安装的系统文件不建议放在**C盘(系统盘)**下,可以通过【编辑】-【首选项】中修改默认位置。
五、VMWare中安装Linux
1、下载 Ubuntu24.04
国内到清华大学开源软件镜像站,官网下载速度慢,不推荐。
进入清华大学开源软件镜像站网站后,在镜像列表的右侧搜索框中输入 Ubuntu ,在列表中点击 ubuntu-releases 进入到发布列表,找到版本号(最新版本是 24.04.2),打开,选择 ubuntu-24.04.2-live-server-amd64.iso 进行下载。
不推荐下载桌面版,平常基本在Windows下操作,没必要再重复安装一个桌面版的系统。
2、安装Ubuntu24.04
1)在 VMWare 主页,点击【创建新的虚拟机】按钮,在弹出的新建虚拟机向导窗口中,选择典型(推荐),下一步;
2)选择安装程序光盘映像文件(iso)(M),点击浏览按钮,选择下载好的 ubuntu-24.04.2-live-server-amd64.iso 镜像文件,下一步;
3)命名虚拟机修改为你想要的名称,比如Ubuntu 64 位-24.04-36,位置会跟着更改,安装后会在默认位置下生成新 Ubuntu 64 位-24.04-36 虚拟机文件夹;虚拟机的默认位置不建议放在C盘(系统盘),如:
4)指定磁盘容量,这里设置为120G,选择将虚拟磁盘拆分成多个文件(M),不用担心虚拟机一开始会占用硬盘的容量,初始化的文件并不大,会随着使用,虚拟机安装的程序、文件多了,才会真正占用硬盘空间。如果设置小了,将来虚拟机安装程序多了后,再扩容,会显得比较麻烦。
5)自定义硬件,这里网络适配器选择桥接模式,并勾选复制物理网络连接状态;另外,在显示器中将加速3D图形(3)前的✓去掉(重要),否则(特别是在桌面版本下)会引起Windows系统不稳定。
6)完成后,开始安装 Ubuntu 操作系统,这里跳过默认的安装界面,以下没有特别说明的操作界面,均是默认 done回车即可。
7)网络配置界面,默认是DHCPv4 自动分配模式,不用修改,等进入系统后,再手动修改为静态IP地址。需要注意的是,要能够自动分配IP地址,如:192.168.43.15/24;如果不能自动分配IP地址,就不要往下安装了,即使安装了,也配置不了网络,系统一样用不成,这时候要返回去检查第三的Windows要求 和 第四点的网络配置。
8)镜像地址配置页面,默认,等待镜像连接检查后再继续;如镜像地址测试连接失败,需要更改为有效的镜像地址:
9)存储配置向导,默认,直接将光标移动到 Done 处,回车
10)存储配置信息页面,直接 Done,然后选择 continue
11)输入你的系统用户名称和密码
12)安装SSH,这里要选上 Install OpenSSH server,在安装系统成功后,方便通过XShell等工具连接到Linux系统。
13)服务器快照,这里不选择任何选项,直接 Done
14)安装,这需要等待几分钟时间,安装完成如下图,然后 reboot Now:
15)这时,启动虚拟机后,会报错,通过VMware菜单的电源菜单,关闭客户机(D),然后设置右键系统名称Ubuntu 64 位-24.04-36,打开【虚拟机设置】界面,选择 CD/DVD(SATA) ,将设备状态的启动时连接(O)的✓去掉,如图:
16)如果 用户名 login 不出现,则敲下回车,如下图,至此,Ubuntu安装完成。
五、使用 XShell 连接到 Ubuntu 系统
1)在XShell中新建会话,在连接名称和主机分别输入名称和IP地址,这里的IP是 192.168.43.15是创建系统时动态分配的IP地址,正常情况下,这个IP不会改变,如果改变了,可以在VMWare中登录Ubuntu系统,输入命令:ip addr 查看。
进入系统,如图:
六、Linux 系统的常用设置
1、启用 root 用户
默认是没有启用root用户的,很多情况下需要用到root用户来安装程序,通过给 root 用户设置密码来启用,执行命令 sudo passwd root,先输入你的用户密码,然后再输入两次 root 用户的密码:
kedao@kedao:~$ sudo passwd root
[sudo] password for kedao:
New password:
Retype new password:
passwd: password updated successfully
2、设置 sudo 免密
切换到root用户,修改文件 /etc/sudoers,文件默认为只读,需设置编辑权限,然后编辑 /etc/sudoers 文件
kedao@kedao:~$ su - root
root@kedao:~# chmod u+w /etc/sudoers
root@kedao:~# vi /etc/sudoers
在文件末尾并增加一行(注:kedao 为你的用户名):
kedao ALL=(ALL) NOPASSWD: ALL
修改完成,切换回 kedao 用户
root@kedao:~# su - kedao
执行命令 sudo apt update 验证,能够直接更新不需要输入密码就说明可以了:
kedao@kedao:~$ sudo apt update
如果间隔一段时间不操作,再次使用 sudo 命令时,还是需要输入密码的。
3、更改镜像源地址
注意:Ubuntu24.04的更新源地址的方法已改变,不同于以往的版本的更新方法
具体的更改方法,参考文章:Ubuntu 修改源地址
4、设置静态 IP 地址
检查 NetworkManager 服务状态,查看是否已安装:
kedao@kedao:~$ sudo systemctl status NetworkManager
Unit NetworkManager.service could not be found.
如果没有安装,则执行命令 sudo apt install network-manager 进行安装:
kedao@kedao:~$ sudo systemctl status NetworkManager
Unit NetworkManager.service could not be found.
执行命令 ip a 查看网络接口:
kedao@kedao:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:09:9b:ee brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.43.15/24 metric 100 brd 192.168.43.255 scope global dynamic ens33
valid_lft 6995sec preferred_lft 6995sec
inet6 fe80::20c:29ff:fe09:9bee/64 scope link
valid_lft forever preferred_lft forever
端口是:ens33
查看并编辑 netplan 配置文件,这个文件位于 /etc/netplan/ 目录下,查看
kedao@kedao:~$ ls /etc/netplan/
50-cloud-init.yaml
执行命令 sudo vi /etc/netplan/50-cloud-init.yaml 编辑 50-cloud-init.yaml 文件
kedao@kedao:~$ sudo vi /etc/netplan/50-cloud-init.yaml
这里设置的静态 IP 为 192.168.43.36,前面查询到的网络端口是 ens33,修改内容如下,需注意格式对齐:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.43.36/24
routes:
- to: default
via: 192.168.43.1
nameservers:
addresses:
- 192.168.43.1
- 8.8.8.8
执行命令 sudo netplan apply 应用Netplan配置:
kedao@kedao:~$ sudo netplan apply
由于XShell连接系统时的IP地址是 192.168.43.15,现在改成了 192.168.43.36,需要重新设置XShell的会话,将连接到主机IP设置为:192.168.43.36,重新连接。
验证配置
kedao@kedao:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:09:9b:ee brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.43.36/24 brd 192.168.43.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe09:9bee/64 scope link
valid_lft forever preferred_lft forever
5、调整系统内核参数
默认的系统内核参数不满足服务器应用的要求,调整内核参数,通过编辑 /etc/sysctl.conf 文件,添加如下参数:
kedao@kedao:~$ sudo vi /etc/sysctl.conf
在文件末尾增加的内容,如果有相同的参数,则修改:
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 50100 64128000 50100 1280
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.file-max = 7672460
fs.inotify.max_user_watches=99999999
fs.inotify.max_user_instances=8192
编辑 /etc/security/limits.conf 文件:
kedao@kedao:~$ sudo vi /etc/security/limits.conf
在文件末尾增加的内容,如果有相同的参数,则修改:
* soft nofile 131072
* hard nofile 131072
* soft nproc 131072
* hard nproc 131072
* soft core unlimited
* hard core unlimited
* soft memlock 50000000
* hard memlock 50000000
6、调整时区
查看系统默认设置的时区,执行命令 timedatectl
kedao@kedao:~$ timedatectl
Local time: Fri 2025-05-02 05:32:56 UTC
Universal time: Fri 2025-05-02 05:32:56 UTC
RTC time: Fri 2025-05-02 05:32:56
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
可以看到默认的时区是 Time zone: Etc/UTC (UTC, +0000) ,时间跟北京时间相差8小时,修改为北京时间,执行命令 sudo timedatectl set-timezone Asia/Shanghai进行修改
kedao@kedao:~$ sudo timedatectl set-timezone Asia/Shanghai
修改后再次执行命令 timedatectl 查看修改结果,Time zone 已经改为 Asia/Shanghai (CST, +0800),如:
kedao@kedao:~$ timedatectl
Local time: Fri 2025-05-02 13:36:19 CST
Universal time: Fri 2025-05-02 05:36:19 UTC
RTC time: Fri 2025-05-02 05:36:19
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
7、调整字符集
是否调整,看个人喜好。
查看系统字符集,执行命令 locale,如:
kedao@kedao:~$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
查看已经安装的字符集,执行命令 locale -a,如:
kedao@kedao:~$ locale -a
C
C.utf8
en_US.utf8
POSIX
安装中文 utf-8 字符集,执行命令 sudo locale-gen zh_CN.UTF-8,如:
kedao@kedao:~$ sudo locale-gen zh_CN.UTF-8
Generating locales (this might take a while)...
zh_CN.UTF-8... done
Generation complete.
编辑 /etc/profile 全局环境变量文件
kedao@kedao:~$ sudo vi /etc/profile
在文件末尾增加内容:
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
执行命令 source /etc/profile 使环境变量生效:
kedao@kedao:~$ source /etc/profile
-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
出现一个警告,似乎不影响,执行 locale 查看修改后的结果:
kedao@kedao:~$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
修改为 zh_CN.UTF-8 的好处是在查看日志文件时,不会出现乱码。