企业实践 | 如何在阿里云裸金属服务器上使用UEFI模式实践安装国产银河麒麟V10操作系统入门篇
<center>[ 点击 👉 关注「 全栈工程师修炼指南」公众号]
<p>设为「⭐️ <strong>星标</strong>」带你从<strong>基础入门</strong> 到 <strong>全栈实践</strong> 再到 <strong>放弃学习</strong>!<br>
涉及 <strong>网络安全运维、应用开发、物联网IOT、学习路径 、个人感悟</strong> 等知识分享。</p>
<p>希望各位看友多多支持【关注、点赞、评论、收藏、投币】,助力每一个梦想。</p>
</center>
<p>【<strong>WeiyiGeek Blog's - 花开堪折直须折,莫待无花空折枝</strong> 】<br>
作者主页: 【 https://weiyigeek.top 】<br>
博客地址: 【 https://blog.weiyigeek.top 】<br>
作者答疑学习交流群:欢迎各位志同道合的朋友一起学习交流【点击 👉 加入交流群】, 或者关注公众号回复【学习交流群】。</p>
<hr>
<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>0x00 前言简述<ul><li>什么是裸金属服务器?</li><li>什么是IPMI?它的用途是什么?</li></ul></li><li>0x01 裸金属服务器上安装银河麒麟-V10-SP3实践<ul><li>1.前置知识</li><li>2.镜像下载</li><li>3.安装流程</li></ul></li><li>0x02 基础配置<ul><li>如何查看KylinOS银河麒麟操作系统版本?</li><li>如何给KylinOS银河麒麟系统加上自定义登录欢迎语?</li><li>如何给银河麒麟系统更新软件源?</li></ul></li><li>0x03 软件安装<ul><li>如何在银河麒麟操作系统中安装 nfs 服务及客户端?</li><li>如何在银河麒麟操作系统中安装 docker ?</li><li>如何在银河麒麟操作系统中安装 docker-compose ?</li></ul></li></ul></div><p></p>
<hr>
<h2 id="0x00-前言简述">0x00 前言简述</h2>
<p>上一篇讲解了如何在ESXI中使用传统模式安装KylinOS系统,本文主要讲解实践了博主在阿里云裸金属服务器上,使用UEFI模式安装国产的操作系统 <code>KylinOS(银河麒麟) V10 Lance</code> 流程, 以及简单的操作配置,帮助各位小伙伴从国产服务器入门到放弃..呸..,是支持国产系统,当前国产系统是大趋所势(国家要求),作为一名国企的IT搬砖打工人肯定是积极响应,此篇文章作为银河麒麟入门安装实践扫盲,后续会将在运维或者K8S集群中遇到的问题进行整理出来,减少后续伙伴入坑和出坑,好了言归正传。</p>
<p>我们使用的是阿里云裸金属服务器,前期我们需要通过 IPMI (Intelligent Platform Management Interface, 智能平台管理接口) 进行远程控制服务器安装操作系统,此处由于阿里云裸金属服务器是采用 Inspur (浪潮)的基础硬件,所以在后续实践中你会看到Inspur的相关信息, 并且浪潮服务器IPMI安装系统的流程也可参考本文进行。</p>
<p>PS : 浪潮集团是中国领先的云计算、大数据服务商,拥有浪潮信息、浪潮软件、浪潮国际三家上市公司。主要业务涉及云计算、大数据、工业互联网、新一代通信及若干应用场景。</p>
<p>首发地址: https://mp.weixin.qq.com/s/489ALphpt1nx1pvFcGpD9g<br>
原文地址: https://blog.weiyigeek.top/2023/3-22-726.html</p>
<br>
<h3 id="什么是裸金属服务器">什么是裸金属服务器?</h3>
<blockquote>
<p>定义: 裸金属服务器(<code>Bare Metal Server</code>),是一台既具有传统物理服务器特点的硬件设备,又具备云计算技术的虚拟化服务功能,是硬件和软件优势结合的产物,<br>
性质: 裸金属服务器的本质是一台兼具弹性云服务器和物理机性能的计算类服务<br>
应用: 裸金属服务器主要应用于对系统稳定性、安全性和高标准敏感度高的场合, 即可以为企业提供专属的云上物理服务器,为核心数据库、关键应用系统、高性能计算、大数据等业务提供卓越的计算性能以及数据安全,租户可灵活申请,按需使用。</p>
</blockquote>
<br>
<h3 id="什么是ipmi它的用途是什么">什么是IPMI?它的用途是什么?</h3>
<blockquote>
<p>IPMI 全称是 <code>Intelligent Platform Management Interface</code>,智能平台管理接口(即<code>带外管理的计算机接口</code>)。它是由Intel、DELL、HP及NEC于1998年共同提出,同时由IPMI论坛创建了IPMI标准依赖,并已经得到了170 多家供应商的支,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范。通过该规范用户使用IPMI协议监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。此外<code>IPMI协议</code>是一个<code>开放的免费标准</code>,用户在遵守开源协议要求下使用而无需支付额外的费用。目前该标准最新版本为IPMI 2.0,该版本在原有基础上有了不少的改进,包括可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),以及在安全、VLAN 和刀片支持等方面的改进。</p>
</blockquote>
<blockquote>
<p>IPMI 用途是支持远程监视,并且不需要计算机操作系统的许可,它是连接到主板或服务器的单独硬件<code>底板管理控制器(BMC)</code>上运行, 简单的说IMPI是服务器的安全警卫,它可以远程控制服务器开关机、重启等操作,查看修改BIOS查看系统启动过程, 控制台登录服务器配置SSH访问,其次是查看系统故障日志记录访问系统事件日志 (System Event Log,SEL) 和传感器状况等,以及对系统的各种设置等。</p>
</blockquote>
<p>PS: 带外是指无需与系统的物理资产位于同一房间即可访问计算机系统。</p>
<hr>
<h2 id="0x01-裸金属服务器上安装银河麒麟-v10-sp3实践">0x01 裸金属服务器上安装银河麒麟-V10-SP3实践</h2>
<h3 id="1前置知识">1.前置知识</h3>
<p>描述: KylinOS(银河麒麟) 基础知识以及发展历史,版本说明、试用镜像下载可参考博主的此篇文章《1.国产银河麒麟V10服务器操作系统基础知识与安装实践》( https://blog.weiyigeek.top/2023/3-21-725.html<br>
) 此处就不再重复累述了,下面我们我们直接接入镜像下载、安装实践。</p>
<bvr>
<h3 id="2镜像下载">2.镜像下载</h3>
<p>描述: 麒麟软件官方提供了银河麒麟操作系统免费试用以及openKylin社区版本下载,此处由于我们是要使用银河麒麟操作系统V10 SP3,所以我们需要申请下载。</p>
<p>Step 1.首先我们打开浏览器访问 https://www.kylinos.cn/support/trial.html 地址,填上对应信息后提交。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130526081-315796718.png" alt="WeiyiGeek.产品试用申请图" loading="lazy"></p>
<p>Step 2.提交成功会转到下载页面,根据CPU架构(<code>AMD、Intel</code>)选择要下载<code>银河麒麟高级服务器操作系统V10安装包</code>,此处由于我服务器机器的CPU是Intel的,所以可以选择兼容版本,此处我下载的ISO文件为 Kylin-Server-V10-SP3-General-Release-2212-X86_64。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130526816-831026283.png" alt="WeiyiGeek.官方下载银河麒麟高级服务器操作系统V10_iso安装包图" loading="lazy"></p>
<p>温馨提示: 上述试用版本会不定期更新,所以你下载的可能与我的ISO文件不一致,这是正常的。</p>
<p>除此之外,如果你还嫌麻烦,我们还可以通过【双源飞流下载站】(https://sx.ygwid.cn:4431/) 进行下载对应的银河麒麟版本,注意 MD5 校验哟!</p>
<blockquote>
<p>银河麒麟服务器操作系统V10SP3 x86_2212(兆芯/海光) md5: ff02d3a712f97e5e7b86c9bd56bcf9ac<br>
下载地址: https://sx.ygwid.cn:4431/iso/Kylin-Server-V10-SP3-General-Release-2212-X86_64.iso</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130534415-1257384712.png" alt="WeiyiGeek.镜像站下载银河麒麟高级服务器操作系统V10_iso图" loading="lazy"></p>
<br>
<h3 id="3安装流程">3.安装流程</h3>
<p>Step 1.阿里云裸金属服务器是采用 Inspur (浪潮)的基础硬件,所以首先浏览器访问 Inspur (浪潮) Management System 管理后台 <code>http://10.**.**.210/index.html</code> ,默认账号密码为 <code>admin/admin</code> ,小伙伴们记得在生产环境中已经要更改符合等保要求哟!登录成功后如下图所示:</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130531451-1248174949.png" alt="WeiyiGeek.IPMI带外管理系统图" loading="lazy"></p>
<br>
<p>Step 2.点击【控制台重定向(KVM)】-> 再次点击【Launch KVM Java Viewer】,注意此处会下载一个Viewer.jnlp程序其是使用javaws.exe即Java程序打开的,所以你需要安装Java环境 ( 参考地址: https://blog.weiyigeek.top/2019/4-20-285.html#0x01-JAVA开发环境 ), 一般来说新的服务器IPMI通常支持HTML5,所以你需要根据实际情况来安装基础环境。</p>
<blockquote>
<p>下载【jviewer.jnlp】完成后先不要急着双击,为了防止后续java安全等级过高导致运行风险提示从而不能链接到服务器界面终端,此时我们需要在【控制面板 CMD: <code>control</code>】-> 【java】-> 【安全】选项卡将该IPMI地址添加到如下图所示的地方, 点击确定双击后刚才下载的文件,链接到服务器终端界面。</p>
</blockquote>
<br>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130530329-1292668275.png" alt="WeiyiGeek.控制台重定向(KVM)图" loading="lazy"></p>
<br>
<p>Step 3.连接成功后如下图所示,点击【光盘图标】-> 【CD/DVD】 -> 【CD image】选择银河麒麟系统安装ISO镜像 [ Kylin-Server-V10-SP3-General-Release-2212-X86_64.iso ] -> 点击【Connect】最后ok即可。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130527097-1342143744.png" alt="WeiyiGeek.挂载本地ISO文件到服务器图" loading="lazy"></p>
<br>
<p>Step 4.启动服务器电源或者重启服务器(PS: 服务器开机启动自检时间可能有点长请耐心等待),在显示厂商Logo解密按下DEL键即可进入到BIOS中,进入后点Boot选项卡,将 <code>Boot Mode Select</code> 设置为UEFI模式, 再切换到 Save & Exit 界面,选择【Save Changes and Reset】即可保存BIOS配置以及重启服务。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130532668-286054281.png" alt="WeiyiGeek.将系统启动模式修改为UEFI" loading="lazy"></p>
<br>
<p>Step 4.等待重启服务器(PS: 服务器开机启动自检时间可能有点长请耐心等待),此处服务器硬件环境可能与你们环境有所不同,所以简单了解一下操作,自行 Google、百度 对应的服务器如何进行启动引导的选择,此处重启后在阿里云图标界面按照提示,按下【F11】按键进入到 <code>Boot Menu</code>,再选择 【IEI Virtual CDROM0 1.00】。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130525893-16801252.png" alt="WeiyiGeek.Boot Menu 启动选择图" loading="lazy"></p>
<br>
<p>Step 5.使用方向键选择 "Install Kylin Linux Advanced Server V10" (白行为选中), 回车即可进入安装流程。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130527282-1838015757.png" alt="WeiyiGeek.Install Kylin Linux Advanced Server V10 图" loading="lazy"></p>
<br>
<p>Step 6.进入【欢迎使用 Kylin Linux Advanced Server V10】界面,默认采用【简体中文】,点击 【继续】或者 <code>Alt+C</code>键进入到安装信息摘要。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130532707-591673190.png" alt="WeiyiGeek.欢迎使用 Kylin Linux Advanced Server V10图" loading="lazy"></p>
<br>
<p>Step 7.进入【安装信息摘要】界面, 该页面配置所有与安装相关的信息,点击相应配置项的图标进入配置页面,需要注意的是<code>【软件】</code>和<code>【系统】</code>以及<code>【用户设置】</code>配置。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130530079-1961206888.png" alt="WeiyiGeek.安装信息摘要图" loading="lazy"></p>
<br>
<p>Step 8.点击 【软件选择】,此处需要根据不同业务系统环境需求进行服务器的安装,默认选项是【带UKUI GUI 的服务器】,但是通常来说建议选择【最小安装】(<code>一是安装速度快,二是防止过多的安装软件占用系统空间</code>),例如博主在安装系统时选择最小安装附加软件如下图所示,选择后点击【完成】返回上一界面。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130528642-454169924.png" alt="WeiyiGeek.软件选择最小化安装图" loading="lazy"></p>
<br>
<p>Step 9.点击 【安装目的地】,此处是配置安装磁盘及分区,如果您使用的是全新的磁盘并且希望使用全部磁盘空间,可以使用默认的自动分区配置,直接点击【完成】返回【安装信息摘要】页面即可,但是对于机房线上的服务器来说,通常是需要自定义的,此处我们选择需要安装系统的本地磁盘(256GB)的,然后在存储配置点击【自定义】,再点击【完成】进入下一界面</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130534625-816252719.png" alt="WeiyiGeek.选择安装目的地图" loading="lazy"></p>
<br>
<p>Step 10.此时进入到手动分区页面,点击【这里自动创建它们】LVM 逻辑卷 , PS: 若有不了解的朋友可以参考博主的此篇文章 《Linux磁盘管理之LVM快速入门配置》[ https://blog.weiyigeek.top/2019/5-27-206.html ]</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130526160-851058678.png" alt="WeiyiGeek.进行手动创建LVM逻辑卷图" loading="lazy"></p>
<br>
<p>Step 11.点击后将会出现如下界面,此时我们可以根据需求来修改各分区挂载点的大小。PS: 下面是在UEFI模式下的分区配置,配置好之后点击 【完成】,当前一般建议在安装系统时使用UEFI模式启动,因为其更安全、更快速。</p>
<pre><code class="language-bash"># 分区配置(建议)
/根分区50G及以上
/home 用户家数据分区 50G及以上
/boot boot分区 2G
/boot/efi UEFi启动分区 1G
PS: 分区格式建议设置为 xfs 即可,当然也可以是ext4 至于优缺点请看图片下方。
</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130534222-2059890211.png" alt="WeiyiGeek.手动划分分区结果图" loading="lazy"></p>
<p>知识扩展: linux中xfs和ext4有什么区别?</p>
<blockquote>
<p>1、单个文件的大小,EXT4可以是16GB到16TB,而XFS可以是16TB到16EB;<br>
2、最大文件系统大小,EXT4可以是1EB,而XFS是8EB;<br>
3、EXT4受限制于磁盘结构和兼容问题,可扩展性和scalability不如XFS。<br>
4、在4K数量级上随机写XFS略好于EXT4。</p>
</blockquote>
<br>
<p>Step 12.然后将会出现如下图所示界面,我们点击【接受更改】即可,将会把分区信息写入磁盘中,等待片刻,将会回到主界面。</p>
<br>
<p>Step 13.下面再进行【网络和主机名】配置,此处我将机器名称设置为 kylinos ,点击【配置】,将其测试网卡地址设置为 192.168.10.210 ,设置后点击【完成】即可。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130536233-1799161288.png" alt="WeiyiGeek.网络和主机名配置图" loading="lazy"></p>
<br>
<p>Step 14.然后再进行root用户和普通用户账号密码设置,PS: 请注意密码强弱要求,并且root密码不能与普通管理员密码一致,单击【完成】回到主界面。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130533264-651929149.png" alt="WeiyiGeek.root用户密码以及普通用户账号密码设置图" loading="lazy"></p>
<br>
<p>Step 15.在进行前面的操作后,通常会出现如下页面,我们点击【开始安装】即可开始系统了。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130528681-100432931.png" alt="WeiyiGeek.系统安装配置完成图" loading="lazy"></p>
<blockquote>
<p>温馨提示: 安装程序会自动检测各个配置项;如果检测存在无法确认或不正确配置项,相应配置项的图标上会显示感叹号。</p>
</blockquote>
<br>
<p>Step 16.此处等待10来分钟的样子即可安装成功,然后点击如图中所示的【重启系统】按钮即可。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130533195-957319166.png" alt="WeiyiGeek.重启系统图" loading="lazy"></p>
<br>
<p>Step 17.系统重启之后,将会出现如下图所示的界面,需要你 acceept 允许许可以及网络配置,你需要输入指定项目名称以及提示信息进行设置即可。 PS: 若不想进行网络配置可以输入<code>q</code> 然后按照提示输入 <code>yes</code> 即可回到系统的登录界面。</p>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130532470-2000478195.png" alt="WeiyiGeek.图" loading="lazy"></p>
<br>
<p>Step 18.此时你将使用刚才设置的root用户或者kylin用户的密码进行登录到麒麟服务器中,可以执行如下命令查看系统相关信息, 可以看到这一台阿里云裸金属服务器还是很Nice,两块intel 至强 Xeon 物理 CPU ,104 核心,以及 768G 的内存,7T左右的存储磁盘。</p>
<pre><code class="language-bash"># 系统版本
cat /etc/os-release
# 内存信息
lsmem
# CPU 信息
lscpu
# 磁盘分区信息
lsblk
</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/2176087/202303/2176087-20230331130536469-402443154.png" alt="WeiyiGeek.Kylin Linux V10 Lance安装实践图" loading="lazy"></p>
<p>至此,在阿里云裸金属服务器上使用UEFI模式安装国产化 KylinOS 系统实践完毕,尽情期待后续系统安全加固脚本以及视频。</p>
<hr>
<h2 id="0x02-基础配置">0x02 基础配置</h2>
<h3 id="如何查看kylinos银河麒麟操作系统版本">如何查看KylinOS银河麒麟操作系统版本?</h3>
<p>描述: 我们可使用如下三种方式(命令)进行对应银河麒麟操作系统版本的查询。</p>
<pre><code class="language-bash"># 方式1.
$ nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)
Kernel:
4.19.90-52.15.v2207.ky10.x86_64
Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125
# 方式2.
$ cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31"
# 方式3.
$ cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125
# 扩展知识(提取版本信息):
release=$(grep -e "^VERSION=" /etc/os-release | cut -f 2 -d "=" | tr -d '[:punct:][:space:]')
if [ ${release} == "V10Lance" ];then echo "V10Lance";fi
</code></pre>
<p>温馨提示: 当前银河银河麒麟高级服务器操作系统V10发行版如下.</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"><label> (Tercel) 版本是 银河麒麟 V10 SP1 版本,</label></li>
<li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"><label> (Sword)版本是 银河麒麟 V10 SP2 版本,</label></li>
<li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"><label> (Lance)版本是 银河麒麟 V10 SP3 版本,</label></li>
</ul>
<br>
<h3 id="如何给kylinos银河麒麟系统加上自定义登录欢迎语">如何给KylinOS银河麒麟系统加上自定义登录欢迎语?</h3>
<p>描述: 我们可以通过三种方式,让我们在登录服务器时显示文本欢迎语(前两种)或者执行命令显示信息相关信息(后一种)。</p>
<pre><code class="language-bash"># 方式1.登录SSH前警告Banner提示。(文本)
sudo tee /etc/issue.net <<'EOF'
************************* [ 安全登陆 (Security Login) ] *************************
Authorized users only. All activity will be monitored and reported.By Security Center.
Author: WeiyiGeek, Blog: https://www.weiyigeek.top
EOF
cp -a /etc/issue.net /etc/issue
# 方式2.本地控制台与SSH登录后提示自定义提示信息。(文本)
tee /etc/motd <<'EOF'
Welcome to IT Cloud Computer Service!
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\=/O
____/`---'\____
.'\\| |//`.
/\\|||:|||//\
/_||||| -:- |||||-\
| | \\\-/// | |
| \_|''\---/''| |
\.-\__`-`___/-. /
___`. .'/--.--\`. . __
."" '<`.___\_<|>_/___.'>'"".
| | :`- \`.;`\ _ /`;.`/ - ` : | |
\\ `-. \_ __\ /__ _/ .-` //
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永不死机
心外无法 法外无心
EOF
# 方式3.用户登录自定义登录提示信息(脚本执行)
tee /usr/local/bin/00-custom-header <<'EOF'
#!/bin/bash
# Author: WeiyiGeek, Blog: https://www.weiyigeek.top
# Get last login time
LAST_LOGIN=$(last -n 2 --time-format iso | sed -n '2p;')
LAST_LOGIN_T=$(echo ${LAST_LOGIN} | awk '{print $2}')
LAST_LOGIN_IP=$(echo ${LAST_LOGIN} | awk '{print $3}')
LAST_LOGIN_TIME=$(echo ${LAST_LOGIN} | awk '{print $4}')
LAST_LOGOUT_TIME=$(echo ${LAST_LOGIN} | awk '{print $6}')
# Get load averages
LOAD1=$(grep "" /proc/loadavg | awk '{print $1}')
LOAD5=$(grep "" /proc/loadavg | awk '{print $2}')
LOAD15=$(grep "" /proc/loadavg | awk '{print $3}')
# Get free memory
MEMORY_USED=$(free -t -m | grep "Mem" | awk '{print $3}')
MEMORY_ALL=$(free -t -m | grep "Mem" | awk '{print $2}')
MEMORY_PERCENTAGE=$(free | awk '/Mem/{printf("%.2f%"), $3/$2*100}')
# Get system uptime
UPTIME=$(grep "" /proc/uptime | cut -f1 -d.)
UPTIME_DAYS=$(("${UPTIME}"/60/60/24))
UPTIME_HOURS=$(("${UPTIME}"/60/60%24))
UPTIME_MINS=$(("${UPTIME}"/60%60))
UPTIME_SECS=$(("${UPTIME}"%60))
# Get processes
PROCESS=$(ps -eo user=|sort|uniq -c | awk '{print $2 " " $1 }')
PROCESS_ALL=$(echo "${PROCESS}" | awk '{print $2}' | awk '{SUM += $1} END {print SUM}')
PROCESS_ROOT=$(echo "${PROCESS}" | grep root | awk '{print $2}')
PROCESS_USER=$(echo "${PROCESS}" | grep -v root | awk '{print $2}' | awk '{SUM += $1} END {print SUM}')
# Get processors
PROCESSOR_NAME=$(grep "model name" /proc/cpuinfo | cut -d ' ' -f3- | awk '{print $0}' | head -1)
PROCESSOR_COUNT=$(grep -ioP 'processor\t:' /proc/cpuinfo | wc -l)
# Colors
G="\033[01;32m"
R="\033[01;31m"
D="\033[39m\033[2m"
N="\033[0m"
echo
echo -e "\e[01;38;44;5m########################## 安全运维 (Security Operation) ############################\e[0m"
echo -e "${G}Login success.${N} Please execute the commands and operation data carefully.By WeiyiGeek."
echo -e "You are logged in to ${G}$(uname -n)${N}, Login time is $(/bin/date "+%Y-%m-%d %H:%M:%S").\n"
echo -e "\n"
echo -e "SYSTEM : $(awk -F'[="]+' '/PRETTY_NAME/{print $2}' /etc/os-release)"
echo -e "KERNEL : $(uname -sr)"
echo -e "UPTIME : ${UPTIME_DAYS} days ${UPTIME_HOURS} hours ${UPTIME_MINS} minutes ${UPTIME_SECS} seconds"
echo -e "CPU : ${PROCESSOR_NAME} (${G}${PROCESSOR_COUNT}${N} vCPU)\n"
echo -e "MEMORY : ${MEMORY_USED} MB / ${MEMORY_ALL} MB (${G}${MEMORY_PERCENTAGE}${N} Used)"
echo -e "LOAD AVG: ${G}${LOAD1}${N} (1m), ${G}${LOAD5}${N} (5m), ${G}${LOAD15}${N} (15m)"
echo -e "PROCESSES : ${G}${PROCESS_ROOT}${N} (root), ${G}${PROCESS_USER}${N} (user), ${G}${PROCESS_ALL}${N} (total)"
echo -e "USERS : ${G}$(users | wc -w)${N} users logged in"
echo -e "BASH : ${G}${BASH_VERSION}${N}\n"
EOF
# Add motd Execute permissions
chmod +x /usr/local/bin/00-custom-header
# Add motd to /etc/profile files.
if [ $(grep -c "00-custom-header" /etc/profile) -eq 0 ];then
echo "/usr/local/bin/00-custom-header" >> /etc/profile
fi
</code></pre>
<br>
<h3 id="如何给银河麒麟系统更新软件源">如何给银河麒麟系统更新软件源?</h3>
<p><strong>快速配置</strong></p>
<pre><code class="language-bash"># 备份银河麒麟镜像源目录文件
$ cp /etc/yum.repos.d/kylin_x86_64.repo{,.bak}
# 查看官方镜像源文件
$ cat /etc/yum.repos.d/kylin_x86_64.repo
### Kylin Linux Advanced Server 10 - os repo ###
name = Kylin Linux Advanced Server 10 - Os
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
name = Kylin Linux Advanced Server 10 - Updates
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
name = Kylin Linux Advanced Server 10 - Addons
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
# 配置后需清理缓存及创建新的缓存
yum clean all
yum makecache
</code></pre>
<hr>
<h2 id="0x03-软件安装">0x03 软件安装</h2>
<h3 id="如何在银河麒麟操作系统中安装-nfs-服务及客户端">如何在银河麒麟操作系统中安装 nfs 服务及客户端?</h3>
<p><strong>快速安装</strong></p>
<pre><code class="language-bash"># 查询软件包是否安装
rpm-qa|grep rpcbind nfs-utils
# 安装nfs软件包
dnf install nfs-utils rpcbind
# 防火墙放行设置
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --reload
# 客户端查看服务器端nfs共享的文件系统
showmount -e 服务端ip
</code></pre>
<br>
<h3 id="如何在银河麒麟操作系统中安装-docker-">如何在银河麒麟操作系统中安装 docker ?</h3>
<p><strong>快速安装</strong></p>
<pre><code class="language-bash"># 1.卸载旧版本
sudo yum remove docker docker-engine docker.io containerd runc
# 2.安装相关依赖包
sudo dnf install pt-transport-https
# 3.设置稳定镜像源存储库,此处采用阿里的docker源(CentOS8)
# Official
# DOCKER_COMPOSE_MIRRORS='https://github.com'
# DOCKER_CE_MIRRORS='https://download.docker.com'
# DOCKER_MIRRORS='https://docker.io'
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.aliyun.com/docker-ce#' /etc/yum.repos.d/docker-ce.repo
# 使用 CentOS 8 的源
echo "8" > /etc/yum/vars/centos_version
sed -i 's/$releasever/$centos_version/g'/etc/yum.repos.d/docker-ce.repo
# 4.查看Docker特定的相关版本,使用如下命令列出可用的版本
dnf list docker-ce--showduplicates | sort -r | head -n 2
dnf list docker-ce-cli --showduplicates | sort -r | head -n 2
dnf list containerd.io --showduplicates | sort -r | head -n 2
# 5.安装Docker最新版本,此处我们指定的是最新版本。
# 使用第二列中的版本字符串安装特定的版本,例如:containerd.io.x86_641.6.9-3.1.el8 docker-ce-stable
# $sudo apt-get install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
dnf install docker-ce-3:23.0.1-1.el8 docker-ce-cli-1:23.0.1-1.el8 containerd.io-1.6.9-3.1.el8 -y
# 6.将当前(低)用户加入docker用户组然后重新登陆当前用户使得低权限用户
sudo gpasswd -a ${USER} docker
# 7.配置docker后台守护进程
mkdir -vp /etc/docker/
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root":"/var/lib/docker",
"registry-mirrors": ["https://xlx9erfu.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "100m",
"max-file": "10"
},
"live-restore": true,
"dns": ["223.6.6.6","114.114.114.114"],
"insecure-registries": [ "harbor.weiyigeek.top"]
}
EOF
# 8.自启与启动
sudo systemctl daemon-reload
sudo systemctl enable docker.service
sudo systemctl restart docker.service
# 9.验证安装的 docker 服务
systemctl status docker.service --no-pager -l
docker info
# 10.启动一个 hello-world 容器,验证是否正常
docker info
docker run --rm hello-world
</code></pre>
<br>
<h3 id="如何在银河麒麟操作系统中安装-docker-compose-">如何在银河麒麟操作系统中安装 docker-compose ?</h3>
<p><strong>快速安装</strong></p>
<pre><code class="language-bash">#Setting Docker-Compose MIRRORS
DOCKER_COMPOSE_MIRRORS='https://get.daocloud.io'
# Default New Version v2.16.0 (2023年3月8日 18:57:48)
DOCKER_COMPOSE_VERSION=
# Download、Install Docker-Compose
curl -L ${DOCKER_COMPOSE_MIRRORS}/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION:="v2.16.0"}/docker-compose-"$(uname -s)"-"$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# Verify Install
docker-compose version
</code></pre>
<hr>
<p><strong>原文地址</strong>: https://blog.weiyigeek.top/2022/7-3-678.html</p>
<p>本文至此完毕,更多技术文章,尽情期待下一章节!</p>
<p>温馨提示:唯一极客技术博客文章在线浏览【<strong>极客全栈修炼</strong>】小程序上线了,涉及网络安全、系统运维、应用开发、物联网实战、全栈文章,希望和大家一起学习进步,欢迎浏览交流!(希望大家多多提提意见)</p>
<div align="center">
<img src="https://images.cnblogs.com/cnblogs_com/WeiyiGeek/2162774/o_230105070304_share-wechat.jpg" style="text-align: center; border: 1px solid rgba(255, 255, 255, 1)" alt="微信公众号【WeiyiGeek】-极客全栈修炼小程序" height="170" width="760">
</div>
<hr>
<center>
<p>专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 <strong>【点个赞、投个币、收个藏、关个注,转个发,留个言】(人间六大情)</strong>,这将对我的肯定,谢谢!。</p>
<p><img src="https://img2022.cnblogs.com/blog/2176087/202207/2176087-20220725152944616-1919009969.jpg" alt="帅哥(靓仔)、美女,点个关注后续不迷路" loading="lazy"></p>
<p>温馨提示: 由于作者水平有限,本章错漏缺点在所难免,希望读者批评指正,并请在文章末尾留下您宝贵的经验知识,联系邮箱地址 master@weiyigeek.top 或者关注公众号 <strong>WeiyiGeek</strong> 联系我。</p>
</center>,</bvr>
</div>
<div id="MySignature" role="contentinfo">
<hr>
<div align="center">
<p>本文来自博客园,作者:全栈工程师修炼指南,转载请注明原文链接:https://www.cnblogs.com/WeiyiGeek/p/17276232.html。
<br/> 欢迎关注博主【WeiyiGeek】公众号以及【极客全栈修炼】小程序
<br/> <br/>
<img src="https://images.cnblogs.com/cnblogs_com/WeiyiGeek/2162774/o_230217074101_%E8%87%AA%E5%AA%92%E4%BD%93%E7%9F%A9%E9%98%B5-%E5%BE%AE%E4%BF%A1%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg" style="text-align: center;border: white 1px solid;" alt="微信公众号【WeiyiGeek】">
</p>
</div><br><br>
来源:https://www.cnblogs.com/WeiyiGeek/p/17276232.html
頁:
[1]