VNC 远程重装 Centos 系统

news2024/11/16 7:55:44

一、环境

1、环境准备

两台设备,一台为重装 Centos 机器( IP:192.168.206.30,hostname:centos1) ,确保 centos1本身开启了图形化界面GNOME,不是最小化安装的Linux 。一台为重装时,从获取安装程序( IP: 192.168.206.7,hostname:master03

2、重装流程

第一步:centos1 安装 vnc-server,本地 windows 安装 vnc 客户端,并确保 windows vnc 客户端能够连接 centos1  的 vnc,显示出 centos1 的画面
第二步:master03 安装 httpd,将CentOS-7-x86_64-DVD-2009.iso 镜像文件解压,并通过httpd做代理,做成yum源
第三步:配置centos1启动方式,让其从新安装系统,也启动vnc
第四步:使用windows 安装 vnc 客户端 连接第三步的Linux 的vnc,重装系统

二、安装 windows vnc 客户端

tightVNC 下载地址:http://www.tightvnc.com/download.php

规划好路径,一路下一步安装,tvnviewer.exe则是tightVNC

三、部署vnc-server(centos1操作)

1、部署vnc-server

查看是否安装了 vnc-server ,比如如下 tigervnc-server-1.8.0-25.el7_9.x86_64 为 vnc-server

[root@master03 ~]# rpm -qa |grep vnc
tigervnc-server-minimal-1.8.0-25.el7_9.x86_64
tigervnc-server-1.8.0-25.el7_9.x86_64
tigervnc-server-module-1.8.0-25.el7_9.x86_64
tigervnc-icons-1.8.0-25.el7_9.noarch
tigervnc-1.8.0-25.el7_9.x86_64
tigervnc-license-1.8.0-25.el7_9.noarch
[root@master03 ~]#

通过 yum 安装 vnc-server

yum install -y tigervnc-server

通过 rpm 安装 vnc-server,适用于访问不了外网和内网没有 yum 源

# 找一台外网机器安装 tigervnc-server ,并将安装包相关下载出来
yum -y install tigervnc-server --downloadonly  --downloaddir /opt/tigervnc-server

# 将/opt/tigervnc-server目录拷贝至内网重装机器,随后
sudo rpm -Uvh *.rpm --force --nodeps

2、配置vnc-server

切换到计划登录vnc服务的账户并运行vncserver命令

注意:你将会被提示输入并且确认一个密码,并且是否设置一个仅仅查看的密码。如果你选择设置一个仅仅查看的密码,这个用户将不能通过键盘和鼠标和 VNC 实例进行交互。因此我此处选择则“n”。

第一次运行vncserver命令,它将会在~/.vnc目录下创建并且存储密码文件(这是个隐藏文件,可通过 "ls -a"查看)。如果该文件夹没有被创建,那么首先会创建该文件夹。

# 随机生成桌面号
vncsever
 
# 生成固定的桌面号,我们使用 vncserver :1
vncserver :1

# 随后可以设置密码

请留意上面主机名后面的:1。则表示 正在运行的 VNC 服务器上的显示端口号。在我们的例子中,服务器运行在 TCP 端口5901(5900+1)。如果你创建了第二个实例,他将会运行到下一个闲置的端口上,例如::2,这意味着,服务器运行在端口号5902(5900+2)上。

在和 VNC 服务器上工作的时候,最重要的一点就是,:X就是显示端口号,即:5900+X。

3、访问测试

注意:如果是临时连接,那现在通过防火墙开放5901端口,就可以在windows上用vnc工具进行访问了。打开 tvnviewer.exe ,写IP::5901

4、后续启动vnc-server、自启(不影响vnc重装系统,可不做)

4.1、启动服务

vnc-server 默认启动的命令:vncserver

重启vnc服务:

vncserver -kill :1
vncserver :1

通过systemctl 

sudo systemctl restart vncserver@\:1.service

 ​​​​​​

4.2、自启动方式一(自启动通过添加/etc/rc.d/rc.local )

[root@centos1 ~]# which vncserver
/usr/bin/vncserver

[root@centos1 ~]# echo "/usr/bin/vncserver" >>/etc/rc.local

[root@centos1 ~]# chmod +x /etc/rc.d/rc.local

4.3、自启动方式二(systemctl)

Unit files 允许你很容易地启动,停止,和重启服务。拷贝默认的 vncserver unit 文件,我们在新文件名中输入的“ 1”是将用于该特定服务实例的显示号。知道这一点很重要,因为它还会确定VNC服务器将侦听的TCP端口,即5900 +显示号:第一个是5901,然后是5902,依此类推:

sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
 
sudo vi /etc/systemd/system/vncserver@:1.service

sudo systemctl daemon-reload
#  重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载
systemctl enable vncserver@:1.service
#  设置开机自启动
systemctl disable vncserver@:1.service
#  禁止开机自启动

5、修改屏幕分辨率(不影响vnc重装系统,可不做)

(直接启动与接下来介绍的配置文件启动更改分辨率都在此处)

# 修改.vnc目录先的config配置文件
vi ~/.vnc/config

四、配置 yum 源(master01 操作)

1、将 iso 挂载

mkdir /media/iso/ /media/cdrom/
cd /media/iso/
rz CentOS-7-x86_64-DVD-2009.iso
mount -o loop /media/iso/CentOS-7-x86_64-DVD-2009.iso /media/cdrom/

2、配置httpd

yum -y install httpd
mkdir -p  /var/www/html/CentOS-7.9
cp -r /media/cdrom/* /var/www/html/CentOS-7.9/
systemctl start httpd;systemctl enable httpd

 3、访问 yum 源

http://192.168.206.7/CentOS-7.9/

五、配置 Centos 重做系统加载(centos1操作)

目前CentOS 7主要使用的引导方式是grub2,这与过去的grub1差别其实是很大的

1、 确定基本信息

[root@localhost /]# ip a
[root@localhost /]# ip route show

IP、网卡名称、网关、子网掩码你
192.168.206.10  ​​​​​​​ens33  192.168.206.2 ​​​​​​​ 255.255.255.0

2、下载 CentOS 的 bootstrap 文件

yum install wget
cd /boot
wget http://192.168.206.7/CentOS-7.9/images/pxeboot/vmlinuz -O vmlinuz-7
wget http://192.168.206.7/CentOS-7.9/images/pxeboot/initrd.img -O initrd-7.img

或者

wget http://mirror.centos.org/centos/7/os/x86_64/isolinux/vmlinuz -O vmlinuz-7
wget http://mirror.centos.org/centos/7/os/x86_64/isolinux/initrd.img -O initrd-7.img

3、添加grub启动条目

查看/boot/grub2/grub.cfg,找到如下代码部分:

menuentry 'CentOS Linux (0-rescue-709fd4bae8ca4481aefa4ba62a2a5ef5) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-709fd4bae8ca4481aefa4ba62a2a5ef5-advanced-bb22a4ef-15a0-412b-8835-b590f240ded1' {
        load_video
        insmod gzio
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  c7c23a04-4448-4a56-a79c-9a312297efea
        else
          search --no-floppy --fs-uuid --set=root c7c23a04-4448-4a56-a79c-9a312297efea
        fi
        linux16 /vmlinuz-0-rescue-709fd4bae8ca4481aefa4ba62a2a5ef5 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet
        initrd16 /initramfs-0-rescue-709fd4bae8ca4481aefa4ba62a2a5ef5.img
}

 然后把这一段拷贝修改追加到 /etc/grub.d/40_custom 中如下:

[root@centos1 ~]# cat /etc/grub.d/40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry 'NetInstall' {
        set gfxpayload=keep
        load_video
        insmod gzio
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  c7c23a04-4448-4a56-a79c-9a312297efea
        else
          search --no-floppy --fs-uuid --set=root c7c23a04-4448-4a56-a79c-9a312297efea
        fi
        linux16 /vmlinuz-7 inst.vnc inst.vncpassword=12345678 inst.headless ip=192.168.206.30::192.168.206.2:255.255.255.0::ens33:none inst.repo=http://192.168.206.7/CentOS-7.9/ inst.lang=en_US inst.keymap=us
        initrd16 /initrd-7.img
}

[root@centos1 ~]#
此处解释一下格式:
inst.vnc #启用vnc
inst.vncpassword=12345678 # vnc 登陆密码(至少是8个及其以上的字符),此处密码随意,在系统启动会,会获取inst.vncpassword中的数值,当作密码
inst.headless iinst.headless ip=192.168.206.30::192.168.206.2:255.255.255.0::ens33:none # ip=ip::网关:子网掩码::设备名称:none
inst.repo=http://192.168.206.7/CentOS-7.9/  # yum源地址
inst.lang=en_US # 默认语言
inst.keymap=us # 键盘模式

配置/etc/default/grub

vi /etc/default/grub

GRUB_DEFAULT=saved          # 修改 GRUB_DEFAULT=0 为 GRUB_DEFAULT=saved   
GURB_DEFAULT="NetInstall"   # 增加一条,其中 NetInstall 是 /etc/grub.d/40_custom 定义的

4. 重建配置,使配置生效

# 重建grub配置

grub2-mkconfig -o /boot/grub2/grub.cfg

# 列出所有启动条目

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

# 下一次系统启动后,使用NetInstall 定义的配置,仅使用一次,再一次重启后,会走默认的,故不建议配置  ceho 'GRUB_DEFAULT="NetInstall" ' >> /etc/default/grub

grub2-reboot NetInstall

# 重启系统

reboot

重启后一段时间如下

 

六. 使用VNC安装CentOS系统 

密码就是上面设置的 inst.vncpassword=12345678

此时 ssh 是连接不上的

此时如果不想装系统时候,按ctrl +alt 后执行 reboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django REST Framework(DRF)框架之视图集ViewSet与路由Router

DRF框架之视图集ViewSet 视图集ViewSet与路由Router视图集ViewSet路由Router视图集和路由的基本使用 视图集ViewSet的使用ViewSetGenericViewSetModelViewSetReadOnlyModelViewSet视图集添加其他方法视图集对象action属性 路由Router的使用SimpleRouterDefaultRouter基本使用自…

DELL R730 主板坏了,Raid5硬盘移到同型号服务器备忘

1、开机时按ctrlr进入raid设置页面 2、进入raid设置页面后可以看到没有找到虚拟磁盘,我们按F2打开操作菜单 3、选择菜单Foreign Config -> Import ,选择Yes开始导入硬盘中的raid配置 4、导入成功的话就可以看到虚拟盘了 5、按Esc退出 6、按ctrlaltd…

为什么网络安全缺口很大,招聘却很少?

2020年我国网络空间安全人才数量缺口超过了140万,就业人数却只有10多万,缺口高达了93%。这里就有人会问了: 1、网络安全行业为什么这么缺人? 2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢&#xff1…

迅为RK3568核心板车载中控AVM一体机应用

RK3568M车载中控&AVM一体机方案搭载4核A55 CPU,G52-2EE GPU架构,1Tops算力NPU,支持1路4K 60fps或8路1080P 30fps的多格式解码和高达1080P 100fps的H.265编码,具备双千兆GMAC、三路CAN以及USB3.0/SATA3.0/PCIE3.0等丰富接口&am…

Windows安装mysql详细步骤

目录 1 【确认本地是否安装mysql】 2【下载mysql安装包】 3【添加配置文件并安装mysql】 4【修改mysql密码】 5【配置环境变量】 windows 只安装mysql服务的操作 1 【确认本地是否安装mysql】 (1)按【winr】快捷键打开运行; &#xff…

java基于蚁群算法路由选择可视化动态模拟

蚁群算法是一种新生的算法,具有很强的通用性。从提出到现在,仅短短10余年的时间,但是在离散型组合优化问题中。表现很突出,所以一起人们的关注。目前蚁群算法的研究者主要集中在比利时、意大利、德国等国家,美国和日本…

Muduo 异步log的实现

1. logging 日志(logging) 有两个意思: 诊断日志: 即是我们日常debug 使用的文本文件记录trace。常用的log 有log4j, logback, log4cpp, ezlogger等常用的日志库。交易日志: 即是数据库的write-ahead log, 文件系统的journaling 等, 用于记录状态的变更…

软考 - IP地址与网络划分

一.IP组成 1.1 首个八位字节规则 1.2 地址掩码 IP地址掩码 标准地址掩码 A类:255.0.0.0 前1个字节是网络号 后3个字节是主机号 B类:255.255.0.0 前2个字节是网络号 后2个字节是主机号 C类;255.255.255.0 前3个字节是网络号 后1个字节是主机号…

nssctf web 入门(5)

这里通过nssctf的题单web安全入门来写,会按照题单详细解释每题。题单在NSSCTF中。 想入门ctfweb的可以看这个系列,之后会一直出这个题单的解析,题目一共有28题,打算写10篇。 目录 [鹤城杯 2021]EasyP [SWPUCTF 2021 新生赛]eas…

VR全景--720全景 助力行业数字化新模式

引言 720全景就是视角超过人的正常视角的图像,而我们这里说的全景特指水平360度,上下360度全能观看的,能看到“天、地”的全景。全景实际上只是一种对周围景象以某种几何关系进行映射生成的平面图片,只有通过全景播放器的矫正处理…

电力监控系统高扩展性的设计思路与方法

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 电力监控软件的可扩展性设计 2023-04-19 14:00AcreXHJ 安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要:本文根据安科瑞电力监控系统软件的设计过程,论述了电力监控系统高扩展…

JS 正则表达式(正则匹配RegExp)

JavaScript实现对象深拷贝的方法(5种) 知识回调(不懂就看这儿!)场景复现核心干货举例引入关于RegExp对象语法修饰符——区分大小写和全局匹配方括号——查找某个范围内的字符元字符——拥有特殊含义的字符量词RegExp对…

4.Hadoop三件套(1)

如果说HDFS是存储,则Yarn就是cpu和内存,mapreduce就是程序。 1.HDFS文件块大小 HDFS中的文件在物理.上是分块存储(Block) ,block默认保存3份块的大小可以通过配置参数(dfs blocksize)来规定,默认大小在Hadoop2 .x版本中是128M,老版本中是64M。 解释:块的大小:10ms*100*…

代码随想录算法训练营第48天 | 动态规划 LeetCode198.打家劫舍,213.打家劫舍II,337.打家劫舍 III

代码随想录算法训练营第48天 | 动态规划 LeetCode198.打家劫舍,213.打家劫舍II,337.打家劫舍 III 198.打家劫舍 第一遍读题思考 dp[i]代表打劫到第i家的时候抢到的最多的钱数。 那么递推公式就跟dp[i-1] and dp[i-2]有关,如果抢i-1家的&am…

【梦回stm32】-寄存器篇-跑马灯代码研读-总结

前言:学就要学懂,别以为做出来就行,要弄懂通路,思路要清楚-谨记 1.先讲讲背景,此次需要研究的是stm32的跑马灯代码,下图是个本实验用的正点原子的代码目录 1)HARDWARE-》LED 2)SYS…

【COMP282 LEC 1-2】

LEC 1 Introduction to c Header file : 1. 不用写 " .h " Function : 数据类型有string了&#xff0c;就像java&#xff0c;需要#include<string> Output system : Explain by example: std::cout << hello << " is of length "…

电脑IP地址查询,3个实用方法!

案例&#xff1a;电脑IP地址怎么查询 【请问有没有朋友知道电脑IP地址怎么查询呀&#xff1f;想看看我的IP地址却不知道该怎么查询&#xff0c;哪位友友可以帮帮我&#xff01;】 在互联网世界中&#xff0c;IP地址是一种用于标识设备&#xff08;如电脑、手机等&#xff09;…

在OLED上显示各种各样的数据(文字、字母、图片)

今天来说一说OLED&#xff0c;也同时记录一下成果。 在学习OLED之前需要知道IIC协议&#xff0c;不了解的可以看&#xff08;IIC协议相关_dxdlnu的博客-CSDN博客&#xff09; 什么是OLED? OLED_百度百科 (baidu.com) 一.OLED写入指令和数据 因为OLED是有写入指令/数据的操作…

camunda工作流引擎多租户架构

Camunda支持多租户的方式有两种&#xff1a;共享引擎和多引擎。 1、共享引擎 在共享引擎的模式下&#xff0c;多个租户共享同一个Camunda引擎。每个租户的数据被存储在引擎中的不同表中&#xff0c;而引擎的配置和部署是共享的。可以通过以下方式实现共享引擎&#xff1a; &…

OpenAI-ChatGPT最新官方接口《微调ChatGPT模型》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(四)(附源码)

微调ChatGPT模型 前言Introduction 导言What models can be fine-tuned? 哪些模型可以微调&#xff1f;Installation 安装Prepare training data 准备训练数据CLI data preparation tool CLI数据准备工具Create a fine-tuned model 创建微调模型Use a fine-tuned model 使用微…