你是想利用百度空间来实现软件的更新功能吗?
提示
>
版本 2
子程序 取指定内容, 文本型
参数 完整内容, 文本型
参数 左边文本, 文本型
参数 右边文本, 文本型
局部变量 临时位置, 整数型
局部变量 总长度, 整数型
局部变量 临时文本, 文本型
总长度 = 取文本长度 (完整内容)
临时位置 = 寻找文本 (完整内容, 左边文本, , 假) + 取文本长度 (左边文本)
临时文本 = 取文本中间 (完整内容, 临时位置, 总长度)
总长度 = 取文本长度 (临时文本)
临时位置 = 寻找文本 (临时文本, 右边文本, , 假) - 1
临时文本 = 取文本中间 (临时文本, 1, 临时位置)
返回 (临时文本)
然后再和本地的版本进行比对
原理:
1读取>
2获取其中填写的版本号
3判断版本号,然后提示更新
一、引言
一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。但是,这种安装方法在以下的几种情况下就不能适用:
无软驱和光驱:很多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux;
非标准的软驱和光驱:虽然笔记本都会配置光驱,但是并不一定都是标准的IDE设备,有些是通过USB接口,有些是通过1394接口(例如Samsung的Q10)。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux;
另外,在一些场合,如机房中,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。
笔者在工作过程中,就遇到过第二种情况。一台Samsung的Q10笔记本需要安装Redhat Linux 80,但是通过光驱引导后发现,安装程序无法访问光盘。针对这个问题,笔者经过查阅资料和摸索,找到了在Q10上安装Linux的方法。在下面的讨论中,如不做特别声明,都将以Q10为例,介绍如何通过PXE Bootrom来远程安装Linux。
二、基本原理
1) 什么是PXE
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的 *** 作系统通过网络下载到本地运行。
PXE协议的成功运行需要解决以下两个问题:
既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;
通过什么协议下载Linux内核和根文件系统
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。
2) 工作过程
在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
三、步骤
有了前面的背景知识,接下来就可以正式 *** 作了,下面按照顺序给出了 *** 作步骤:
1) 配置DHCP Server
选用ISC dhcp-30,DHCP Server的配置文件是/etc/dhcpdconf,配置文件的内容如下:
option space PXE;
option PXEmtftp-ip code 1 = ip-address;
option PXEmtftp-cport code 2 = unsigned integer 16;
option PXEmtftp-sport code 3 = unsigned integer 16;
option PXEmtftp-tmout code 4 = unsigned integer 8;
option PXEmtftp-delay code 5 = unsigned integer 8;
option PXEdiscovery-control code 6 = unsigned integer 8;
option PXEdiscovery-mcast-addr code 7 = ip-address;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server We set the MCAST IP address to 0000 to tell the boot ROM
# that we cant provide multicast TFTP (address 0000 means no
# address)
option PXEmtftp-ip 0000;
# This is the name of the file the boot ROMs should download
filename "pxelinux0";
# This is the name of the server they should get it from
next-server 19216801;
}
ddns-update-style interim;
ignore client-updates;
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 2552552550;
option broadcast-address 1921680255;
option routers 1921680254;
option domain-name-servers 19216801,19216802;
option domain-name "mydomainorg";
subnet 19216800 netmask 2552552550 {
range 192168010 1921680100;
}
host q10 {
hardware ethernet 00:00:F0:6B:38:5B;
fixed-address 192168022;
}
dhcpdconf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的对应关系,表明DHCP Server为Q10分配一个固定的IP:192168022;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。
2) 配置TFTP server
选用tftp-hpa,TFTP Server的配置文件是/etc/xinetdd/tftp,配置文件的内容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/intftpd
server_args = -u nobody -s /tftpboot
disable = no
per_source = 11
cps = 100 2
}
这里制定了/tftpboot为TFTP Server的根目录位置。
3) 配置bootstrap
bootstrap文件在dhcpdconf中被指定为pxelinux0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinuxcfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192168022,那么相对应的配置文件名为/tftpboot/pxelinuxcfg/C0A80016(注:C0A80016为IP地址192168022的十六进制表示)。如果找不到,就按照顺序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。
/tftpboot/pxelinuxcft/C0A80001配置文件的具体内容如下:
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrdimg devfs=nomount ramdisk_size=16384
此配置文件指定了Linux内核以及根文件系统的名称,并给内核传递了一些参数,其中ramdisk_size参数要非常注意,它指定Linux内核启动后建立ramdisk的大小,如果设置太小,Linux的安装过程就可能无法进行。
4) 制作Linux内核/根文件系统
因为需要通过网络安装,所有选择Redhat Linux 80安装盘(disk #1)中E:imagesootnetimg(光驱的盘符为E:)。bootnetimg包括Linux内核、Linux根文件系统(有安装程序在内)。用bootnetimg制作一张引导软盘,方法在DOS命令行运行E:dosutils awrite E:imagesootnetimg,根据提示制作。制作完毕后,将引导软盘中的vmlinuz(Linux内核)和initrdimg(Linux根文件系统)拷贝到Linux Server的/tftpboot下。
5) 启动DHCP Server/TFTP Server
在Linux Server上,运行service dhcpd start和service xinetd restart。
6) 启动Q10
Q10加电后,在出现Samsung公司徽标时,在左下角会提示用户按F12进入网络引导。按F12后,Q10进入网络引导过程。首先通过DHCP Server获得了IP地址,然后下载并执行bootstrap文件pxelinux0;在执行中,读入配置文件/tftpboot/pxelinuxcfg/C0A80016。此时屏幕上出现boot:,敲入install,就进入了Redhat Linux 80的网络安装界面,一切OK!
四、结束语
虽然以上的讨论是针对Samsung Q10笔记本,但是工作原理和安装方法对于其它类型的计算机也是适用的,不过要记住,计算机的网卡中必须要有BootROM--PXE Client。同时,PXE协议也可作为无盘Linux技术,用于引导放置在远程的Linux。实际上,只要根据需要,在Pxelinux的配置文件的APPEND选项中,为Linux内核传进需要mount的文件系统的位置参数即可。
远程桌面做好升级准备之后,远程桌面应该为安装在服务器上的每个RDS角色实施迁移。远程桌面实际的步骤可能随着你的内部政策和喜好进行,远程桌面迁移必须遵循相同的一般流程。
将远程桌面连接代理服务器迁移到Windows Server 2012 R2是重要的第一步。首先要解决连接代理迁移是因为远程桌面虚拟化主机、会话主机和Web 访问角色全部依赖于远程桌面。要知道一个典型的迁移宕机通常可以持续三个小时,期间用户不能访问RD资源(如个人虚拟桌面)。
远程桌面会话主机服务器。建议先将远程桌面会话主机服务器升级一半,然后记录这些会话,从集合中删除受影响的服务器,执行Windows Server 2012 R2迁移,然后将升级后的这些服务器加入到集合中。
远程桌面单独迁移剩下的一半会话主机服务器。这样做有助于减少停机时间。会话主机迁移需要大约一个小时,但远程桌面资源,如RemoteApp程序只有安装在新服务器上才可用。
远程桌面虚拟化主机服务器。微软建议将所有虚拟化主机服务器一次性迁移到Windows Server 2012 R2。该过程包括登录用户推出,关闭并保存每台主机上所有的虚拟机,执行升级,迁移完成后重新连接虚拟化主机。这个过程可能需要几个小时,这取决于远程桌面虚拟机迁移的数量。
最后迁移的角色是远程桌面 Web访问,这需要大约一个小时。任何依赖Web访问的资源以及通过连接代理的资源将不可用。剩下的远程桌面许可和网关角色与其他资源没有太大的关系,因此可以随时迁移。
以上就是关于易语言怎么远程自动更新全部的内容,包括:易语言怎么远程自动更新、如何利用linux网络协议远程更新 *** 作系统、远程桌面的远程桌面更新的五步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)