1. 从零开始:为什么选择Kylin Server V10?
如果你最近在折腾国产化服务器环境,或者对基于Linux的国产操作系统产生了兴趣,那么“Kylin Server V10”这个名字大概率已经进入了你的视野。它不是一个凭空冒出来的新玩具,而是有着明确背景和定位的企业级操作系统。简单来说,你可以把它理解为一个“中国风”的服务器版Linux发行版,它的内核和底层技术源自开源社区,但在安全性、可靠性以及对国产硬件(比如鲲鹏、飞腾等ARM架构CPU)的深度适配和支持上,做了大量的定制和优化工作。对于需要在特定信创环境下部署应用、或者单纯想体验国产服务器系统生态的开发者、运维人员乃至技术爱好者来说,亲手安装一遍Kylin Server V10,是理解它的第一步,也是最扎实的一步。
网上的安装教程不少,但很多要么过于简略,跳过了关键的选择和配置细节,让你在安装后一脸茫然;要么就是直接丢出一串命令,却不解释为什么这么做。结果就是,你可能照着步骤装好了系统,但遇到“VirtualBox增强工具安装失败”这类经典问题时,依然无从下手。这篇内容,就是基于我多次在物理机和虚拟机(包括VMware和VirtualBox)上部署Kylin Server V10的经验,为你梳理的一份“图解式”深度指南。我们不止步于“下一步、下一步、完成”,而是要搞清楚每一个安装选项背后的含义,预判并解决那些教程里常被一笔带过、实则坑点满满的环节。无论你是要在物理服务器上裸机安装,还是在VirtualBox/VMware里搭建一个实验环境,这里面的思路和细节都能帮到你。
2. 安装前的关键决策:介质、引导与分区规划
动手安装之前,有几个关键决策点直接决定了安装过程的顺利与否以及后续使用的便利性。盲目开始,很可能中途卡住。
2.1 获取与验证安装镜像
首先,你需要从官方或可信渠道获取Kylin Server V10的ISO安装镜像。通常镜像名称会包含版本号和架构信息,例如
Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.iso
。这里特别要注意
架构
:
x86_64
对应常见的Intel/AMD服务器,而
aarch64
则对应鲲鹏、飞腾等ARM架构服务器。下载错架构,安装程序根本无法启动。
提示:下载完成后,务必校验镜像的SHA256或MD5值,与官方提供的校验和比对。这是确保镜像完整、未被篡改的重要一步,能避免很多因镜像损坏导致的安装报错。
2.2 创建安装介质:U盘 vs 虚拟光驱
-
物理机安装
:你需要一个至少8GB的U盘,使用工具如
Rufus(Windows)或dd命令(Linux/macOS)将ISO镜像写入U盘,制作成可启动安装盘。Rufus工具在写入时,注意分区类型(MBR/GPT)要与目标服务器的固件(BIOS/UEFI)匹配。新服务器普遍使用UEFI+GPT,老服务器可能是BIOS+MBR。 - 虚拟机安装 :这就简单多了。在VMware Workstation、VirtualBox或Hyper-V中新建虚拟机时,直接挂载下载的ISO文件作为虚拟光驱即可。这也是最推荐的初学者实验方式。
2.3 理解安装程序引导方式:图形化与文本模式
Kylin Server V10的安装程序通常提供两种模式:
- 图形化安装 :最直观的方式,通过鼠标点击完成大部分配置。这需要虚拟机或服务器有足够的视频内存(通常设置64MB以上即可)且支持图形输出。对于绝大多数情况,这是首选。
- 文本模式安装 :在图形环境无法正常启动时(如某些远程管理卡或极简虚拟机配置下)的备选方案。全程使用键盘操作,适合有经验的管理员。
在虚拟机中,如果遇到启动后黑屏或无法进入图形安装界面,首先检查虚拟机的显示设置,确保显卡类型正确(如VMware中通常用“自动检测”或指定为“VMware SVGA”),并分配了足够的显存。这也是后续能否顺利安装增强工具的关键。
2.4 磁盘分区规划:必须想清楚的前置工作
这是安装过程中最具技术含量的一步,也直接影响系统未来的稳定性和扩展性。对于新手,如果不太确定,可以使用安装程序提供的“自动分区”方案。但如果你想掌控全局,或者有特定需求(比如数据库日志单独存放),就需要理解手动分区。
一个典型且稳妥的服务器分区方案如下(以100GB系统盘为例):
| 挂载点 | 建议大小 | 文件系统类型 | 作用与解释 |
|---|---|---|---|
/boot
| 1GB | ext4或xfs |
存放系统内核和引导文件。UEFI系统可能需要额外的
/boot/efi
分区(约500MB, FAT32格式)。
|
/
| 30-50GB | xfs(Kylin默认) | 根目录,存放系统核心文件、用户程序等。这是必须的分区。 |
/home
| 剩余部分或独立规划 | xfs |
用户家目录。如果服务器会有多个用户使用,或需要隔离用户数据,建议独立分区。对于单用途服务器,可以暂时不独立分,空间留给
/
。
|
swap
| 物理内存的1-2倍 | swap | 交换分区,在物理内存不足时提供虚拟内存。对于内存大于16GB的服务器,swap大小可与内存持平或略小。 |
注意:
/boot分区通常不需要太大,1GB足够。文件系统选择上,XFS是Kylin的默认也是推荐选项,它在处理大文件和高并发方面表现更好,更适合服务器场景。规划时,务必为根分区/留出足够余量,避免日后系统更新或安装软件导致空间不足。
3. 图解安装过程:从引导到首次登录
现在,我们以在VMware虚拟机中进行图形化安装为例,一步步拆解。假设你已经创建好虚拟机(建议分配至少2核CPU、4GB内存、40GB磁盘),并挂载了ISO镜像。
步骤1:启动与语言选择 启动虚拟机,你会看到GRUB引导菜单。直接回车选择“Install Kylin Linux Advanced Server V10”。稍等片刻,进入图形安装界面。首先选择语言和键盘布局,这里选择“简体中文”即可。
步骤2:安装信息摘要 这是安装的核心配置页面。你需要逐一确认:
- 本地化 :检查日期、时间、键盘是否正确,特别是时区应选择“Asia/Shanghai”。
- 软件 :通常选择“带GUI的服务器”或“最小安装”。对于学习和日常管理,“带GUI的服务器”更方便,它包含了图形界面和基础服务器工具。如果你追求极简和性能,选“最小安装”,后续再用命令安装所需软件。
-
系统
:这里是重头戏。
-
安装目的地
:点击进入磁盘分区界面。如果你按照前文规划好了,就选择“自定义”或“手动分区”,然后按方案创建分区表(通常为GPT),并依次创建
/boot、/、/home和swap分区。如果图省事,可以选择目标磁盘后,直接选“自动配置分区”。 - KDUMP :这是一个内核崩溃转储机制,用于调试系统崩溃原因。对于生产环境建议开启,会占用一部分内存(约160MB以上)。实验环境可以关闭以节省资源。
-
网络和主机名
:务必在这里打开以太网连接(通常显示为“未连接”,点一下开关变成“已连接”),并设置一个易记的主机名,如
kylin-server。这样安装过程中就能联网,方便后续软件包安装。
-
安装目的地
:点击进入磁盘分区界面。如果你按照前文规划好了,就选择“自定义”或“手动分区”,然后按方案创建分区表(通常为GPT),并依次创建
-
用户设置
:
强烈建议在此界面设置root密码并创建一个管理员用户。
不要勾选“允许root用户通过ssh登录”,这是安全最佳实践。创建的用户可以加入
wheel组(类似sudoers),以便后续通过sudo执行管理命令。
步骤3:开始安装 所有配置确认无误后,点击“开始安装”。安装程序会格式化磁盘、复制系统文件、安装软件包。这个过程需要一段时间,取决于磁盘速度和选择的软件包数量。
步骤4:完成配置与重启 安装完成后,点击“重启”按钮。系统会重启,这时 注意:在VMware中,你需要在重启瞬间(看到VMware logo时)快速按Esc键(或移除ISO镜像的挂载) ,以避免再次从安装介质启动,而是从硬盘中的新系统启动。
步骤5:首次登录与许可协议 重启后,你会看到图形化的登录界面或命令行登录提示。使用你创建的用户名和密码登录。首次登录时,系统可能会提示你接受终端用户许可协议(EULA),阅读后同意即可进入系统桌面或命令行。
4. 安装后的首要任务:基础配置与网络调优
系统装好并能登录,只是万里长征第一步。一个“可用”的系统和一个“好用”的系统之间,差的就是下面这些配置。
4.1 网络配置静态IP(告别动态获取)
安装时开启的网络通常是DHCP动态获取IP,这在服务器上是不稳定的。我们需要配置静态IP。
-
找到网卡配置文件。通常位于
/etc/sysconfig/network-scripts/目录下,文件名类似ifcfg-ens33或ifcfg-eth0。你可以用ip addr或nmcli device status命令查看当前活跃的网卡名。 -
编辑该配置文件(需要root权限):
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 -
修改关键参数,示例如下:
TYPE=Ethernet BOOTPROTO=static # 关键:从dhcp改为static NAME=ens33 DEVICE=ens33 ONBOOT=yes # 确保开机自启 IPADDR=192.168.1.100 # 你的静态IP地址 NETMASK=255.255.255.0 # 或使用PREFIX=24 GATEWAY=192.168.1.1 # 你的网关地址 DNS1=114.114.114.114 # 主DNS DNS2=8.8.8.8 # 备选DNS -
重启网络服务使配置生效:
或者使用传统网络服务:sudo systemctl restart NetworkManagersudo systemctl restart network -
用
ip addr show ens33和ping -c 4 114.114.114.114测试IP配置和网络连通性。
4.2 更新系统与安装必备工具
新安装的系统,第一件事就是更新软件源和系统包,确保安全补丁和最新软件。
sudo dnf update -y
Kylin Server V10通常使用
dnf
作为包管理器(兼容
yum
命令)。更新完成后,安装一些最常用的工具,它们会让你后续的操作顺畅很多:
sudo dnf install -y vim wget curl net-tools bash-completion tar gzip unzip
-
vim:更强大的文本编辑器。 -
wget/curl:命令行下载工具。 -
net-tools:包含ifconfig,netstat等传统网络工具(虽然ip命令是未来,但很多脚本仍依赖它们)。 -
bash-completion:为bash shell提供命令自动补全功能,极大提升效率。
4.3 配置SSH服务以实现远程登录
服务器很少直接在显示器前操作,配置SSH是必须的。
-
安装SSH服务器(通常已预装):
sudo dnf install -y openssh-server -
启动并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd -
(可选但重要)加固SSH安全:编辑
/etc/ssh/sshd_config文件。-
修改默认端口(如将
#Port 22改为Port 2222),减少被自动化脚本扫描的风险。 -
禁止root直接登录:确保
PermitRootLogin no。 -
使用密钥登录:设置
PasswordAuthentication no并配置公钥,安全性更高。 修改后需重启服务:sudo systemctl restart sshd。
-
修改默认端口(如将
5. 虚拟机专属难题:VirtualBox增强工具安装失败深度排错
如果你是在VirtualBox中安装Kylin Server V10,那么“安装增强功能”几乎是必经之路,它能实现宿主机和虚拟机之间的共享文件夹、无缝鼠标切换、更好的显示性能等。但这也是一个著名的“坑点”,失败率不低。网上很多教程只给命令,不解释原因,导致问题无法根治。
5.1 失败的根本原因分析
VirtualBox增强工具本质上是一套包含内核模块、驱动和用户态程序的软件包。它的安装过程需要 编译与当前运行内核版本完全匹配的内核模块 。在Kylin Server V10上失败,主要原因集中在以下几点:
-
内核头文件缺失
:编译内核模块必须要有对应版本的内核头文件包(
kernel-devel)。Kylin系统可能默认没有安装,或者安装的版本与当前运行的内核版本号不匹配。 -
编译工具链不完整
:编译需要
gcc,make,perl等基础开发工具。最小化安装的系统可能缺少这些包。 - Kylin内核的定制化 :Kylin的内核可能包含一些上游标准内核没有的补丁或配置,导致VirtualBox官方提供的增强工具源码无法直接适配编译。
-
未安装
dkms:DKMS(Dynamic Kernel Module Support)是一个框架,可以在内核升级后自动重新编译外部内核模块(如VirtualBox模块)。没有它,每次内核更新后,增强工具都会失效。
5.2 分步解决与安装指南
不要直接点VirtualBox菜单的“安装增强功能”,那大概率会失败。请按以下步骤操作:
步骤1:确保系统完全更新并安装必备组件 在安装增强工具前,先打好基础。
sudo dnf update -y
sudo dnf install -y kernel-devel kernel-headers gcc make perl bzip2 tar
关键检查
:运行
uname -r
查看当前内核版本(例如
4.19.90-25.ky10.x86_64
)。然后运行
rpm -qa | grep kernel-devel
查看已安装的内核头文件版本。
两者版本号必须完全一致!
如果不一致,使用
sudo dnf install -y kernel-devel-$(uname -r)
来安装精确匹配的版本。如果dnf仓库里没有完全匹配的,可能需要从Kylin官方镜像站手动下载对应的rpm包进行安装。
步骤2:安装DKMS(强烈推荐)
sudo dnf install -y dkms
DKMS能让你在未来系统内核升级后,自动重新编译VirtualBox模块,一劳永逸。
步骤3:挂载并安装VirtualBox增强工具
- 在VirtualBox管理器界面,为虚拟机加载VBoxGuestAdditions.iso镜像(通常位于VirtualBox安装目录下)。
-
在Kylin系统内,你需要手动挂载这个光盘。首先创建一个挂载点:
sudo mkdir -p /media/cdrom -
挂载光盘。设备名可能是
/dev/sr0或/dev/cdrom,可以用lsblk命令查看。sudo mount /dev/sr0 /media/cdrom -
运行安装脚本。注意,必须使用
sudo并以sh方式运行,因为脚本可能没有执行权限。cd /media/cdrom sudo sh ./VBoxLinuxAdditions.run - 仔细观察安装日志输出。如果看到“Building the main Guest Additions module”成功,并且最后有“Successfully installed”之类的提示,就说明成功了。
步骤4:处理常见编译错误
-
错误提及“找不到内核源码树”
:这明确是
kernel-devel包的问题。请返回步骤1,严格核对版本并安装。 -
错误关于“vboxguest”模块编译失败
:除了内核头文件,有时还需要安装
elfutils-libelf-devel包:sudo dnf install -y elfutils-libelf-devel。 -
即使安装成功,共享文件夹仍不显示
:首先确保在VirtualBox设置中配置了共享文件夹(例如命名为
share)。然后在Kylin系统内,需要手动挂载:
为了让其开机自动挂载,可以将以下内容添加到sudo mkdir -p /mnt/share sudo mount -t vboxsf share /mnt/share/etc/fstab文件末尾:share /mnt/share vboxsf defaults 0 0
5.3 替代方案:使用预编译的增强工具包
如果经过上述所有步骤,编译安装仍然失败(特别是在Kylin定制内核上),可以考虑一个“曲线救国”的方案:使用EPEL仓库中预编译的
virtualbox-guest-additions
包。但Kylin默认源可能不包含EPEL,需要先配置EPEL源。
# 1. 下载并安装EPEL release包(以Kylin V10对应CentOS 8为例,版本需匹配)
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# 2. 安装预编译的增强工具
sudo dnf install -y virtualbox-guest-additions
# 3. 启用服务
sudo systemctl enable vboxservice
sudo systemctl start vboxservice
这个包的版本可能稍旧,但优点是免编译,兼容性有时反而更好。安装后同样需要配置共享文件夹挂载。
6. 开发环境基石:Git、Python与Docker的安装与配置
对于一个服务器系统,安装开发和管理工具是常态。我们以几个热搜词中的高频工具为例,讲解在Kylin Server V10上的最佳安装实践。
6.1 Git安装、配置与基础使用
Git是版本控制的标配。Kylin的默认仓库通常就有较新版本的Git。
sudo dnf install -y git
安装后,立即进行全局配置,这是很多教程会忽略但极其重要的步骤:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 让Git命令输出带颜色,更易读
git config --global color.ui auto
# 设置默认分支名为main,符合现代实践
git config --global init.defaultBranch main
# 优化大仓库性能(可选)
git config --global core.preloadindex true
git config --global core.fscache true
注意:
user.name和user.email是提交记录的身份标识,务必设置正确,这关系到团队协作和代码追溯。
6.2 Python3环境搭建:系统Python与虚拟环境
Kylin Server V10默认已安装Python3。首先确认版本:
python3 --version
pip3 --version # 检查pip是否安装,如果没有,使用 sudo dnf install -y python3-pip
核心建议:永远不要使用
sudo pip install
来安装全局Python包!
这会导致与系统包管理器(dnf)的冲突,并且破坏系统的Python环境。正确的做法是使用虚拟环境(Virtual Environment)。
-
安装
venv模块 (如果尚未安装):sudo dnf install -y python3-venv -
为项目创建独立的虚拟环境
:
这会在项目目录下创建一个名为cd /path/to/your_project python3 -m venv venvvenv的文件夹,包含独立的Python解释器和pip。 -
激活虚拟环境
:
激活后,命令行提示符通常会变化(前面出现source venv/bin/activate(venv)),此时所有pip install操作都只影响当前虚拟环境。 -
在虚拟环境中安装包
:
(venv) pip install requests numpy pandas -
退出虚拟环境
:
deactivate
对于更复杂的环境管理,可以考虑安装
conda
或
miniconda
,它们同样可以创建隔离的环境,并且能方便地管理不同版本的Python解释器本身。
6.3 Docker引擎的安装与运维基础
Docker已成为应用部署的事实标准。在Kylin上安装Docker,推荐使用官方仓库,以确保获得最新稳定版本。
-
卸载旧版本
(如有):
sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -
设置Docker仓库
:
由于Kylin基于CentOS,这里使用了CentOS的仓库。如果网络不通,可以尝试国内镜像源,如阿里云镜像。sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装Docker引擎
:
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
启动并设置开机自启
:
sudo systemctl start docker sudo systemctl enable docker -
验证安装
:
如果能看到欢迎信息,说明Docker安装成功并可以正常运行容器。sudo docker run hello-world -
(重要)将当前用户加入docker组
,避免每次使用docker都要加
sudo:
执行此命令后,必须完全注销当前用户并重新登录,组权限更改才会生效。sudo usermod -aG docker $USER
Docker安装后,建议配置国内镜像加速器以提升拉取镜像的速度。编辑或创建
/etc/docker/daemon.json
文件:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://hub-mirror.c.163.com"
]
}
然后重启Docker服务:
sudo systemctl restart docker
。
7. 数据库与中间件部署:以MySQL和Redis为例
服务器上部署数据库是常见需求。这里以MySQL 8.0和Redis为例,演示如何在Kylin上快速部署。
7.1 MySQL 8.0安装、配置与安全加固
-
启用MySQL官方仓库并安装
:
# 添加MySQL官方仓库(以EL8为例) sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-6.noarch.rpm # 安装MySQL服务器 sudo dnf install -y mysql-community-server -
启动并设置开机自启
:
sudo systemctl start mysqld sudo systemctl enable mysqld -
获取初始临时密码
:
sudo grep 'temporary password' /var/log/mysqld.log -
运行安全配置向导
:这是最关键的一步,用于设置root密码、移除匿名用户、禁止root远程登录等。
根据提示操作:输入临时密码 -> 设置新强密码 -> 移除匿名用户 -> 禁止root远程登录 -> 移除测试数据库 -> 重新加载权限表。sudo mysql_secure_installation -
测试登录
:
输入你刚设置的密码,成功进入MySQL命令行即表示安装成功。mysql -u root -p
注意:如果安装过程中遇到GPG密钥错误,可以尝试在安装命令后加上
--nogpgcheck参数(生产环境不推荐)。更安全的方式是手动导入GPG密钥。
7.2 Redis的安装与基础配置
Redis的安装相对简单,但默认配置不安全,需要调整。
-
安装Redis
:
sudo dnf install -y redis -
启动并设置开机自启
:
sudo systemctl start redis sudo systemctl enable redis -
基础安全配置
(编辑
/etc/redis.conf):-
绑定地址
:默认只监听
127.0.0.1,这是安全的。如果其他服务器需要访问,可改为0.0.0.0,但 务必配合防火墙和密码 。 -
设置密码
:找到
# requirepass foobared这一行,取消注释,将foobared替换为强密码。 -
重命名或禁用危险命令
:在配置文件中找到
SECURITY部分,可以重命名如FLUSHALL,CONFIG等命令,防止误操作或攻击。例如:rename-command FLUSHALL "" rename-command CONFIG ""
-
绑定地址
:默认只监听
-
重启Redis使配置生效
:
sudo systemctl restart redis -
测试连接
:
redis-cli 127.0.0.1:6379> auth your_strong_password OK 127.0.0.1:6379> ping PONG
8. 进阶配置与长期维护要点
系统安装并部署了基础服务后,还有一些配置能显著提升使用体验和系统稳定性。
8.1 配置防火墙(firewalld)
Kylin Server V10默认使用
firewalld
管理防火墙。学会基本命令至关重要。
# 查看防火墙状态和活跃区域
sudo firewall-cmd --state
sudo firewall-cmd --list-all
# 开放常用端口(例如SSH的2222端口,HTTP的80端口)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
# 重载防火墙规则使永久规则生效
sudo firewall-cmd --reload
# 更精细的控制:将源IP加入可信区域(例如只允许特定IP访问SSH)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port port="2222" protocol="tcp" accept'
sudo firewall-cmd --reload
8.2 配置系统更新与自动安全更新
保持系统更新是安全运维的核心。可以配置自动安全更新,但生产环境建议先经过测试。
# 安装yum-cron或dnf-automatic(用于自动更新)
sudo dnf install -y dnf-automatic
# 配置自动更新策略,编辑 /etc/dnf/automatic.conf
# 将 `apply_updates` 设置为 `yes` 将自动应用更新(谨慎!)
# 将 `upgrade_type` 设置为 `security` 仅应用安全更新(推荐)
# 设置 `emit_via` 为 `email` 并配置邮件,以便接收更新报告
# 启动并启用定时任务
sudo systemctl enable --now dnf-automatic.timer
对于生产服务器,更稳妥的做法是配置一个定期的、手动触发的更新检查流程,并在维护窗口进行更新。
8.3 系统监控与日志查看
-
监控系统资源
:使用
top,htop(需安装),free -h,df -h,iostat等命令。 -
查看系统日志
:使用
journalctl命令。例如,查看本次启动以来的所有日志:journalctl -b;实时跟踪日志:journalctl -f;查看指定服务(如docker)的日志:journalctl -u docker.service。 -
配置日志轮转
:系统使用
logrotate管理日志,防止日志文件无限增大。配置文件在/etc/logrotate.conf和/etc/logrotate.d/目录下。
安装和配置Kylin Server V10,就像搭建一个稳固的地基。从介质准备、分区规划,到解决VirtualBox增强工具这类具体难题,再到部署Git、Python、Docker、MySQL等核心服务,每一步的细节都决定了上层建筑的稳定性。我个人的体会是,在Linux系统管理上,最忌讳“想当然”和“照搬命令”。多问几个“为什么”——为什么要这样分区?这个配置项起什么作用?这个错误日志到底在说什么?——通过一次完整的安装过程,把这些问题的答案搞清楚,远比机械地完成安装更有价值。当你在自己的Kylin Server V10上成功跑起第一个容器、部署第一个Web应用时,回过头看,这些看似繁琐的步骤,都是构建你系统管理能力不可或缺的砖瓦。

270

被折叠的 条评论
为什么被折叠?



