如何克服Unix到Linux迁移的常见问题

如何克服Unix到Linux迁移的常见问题,第1张

确定可能的硬件挑战

在考虑迁移的过程中,最应该注意的问题就是平台依赖性,特别是从RISC迁移到X86平台。这时候,Endianess就能派上用场。

Endianess是指用于显示数据的内存排序。它规定数据元素和字节如何在内存中存储。您可能会遇到的问题就是在x86的计算机系统中很少使用Endian,但是RISC系统中却大量的使用Endian。如果您从RISC迁移到x86,反之亦然,您将需要修改迁移代码。在评估阶段,您就应该清楚的意识到这些问题。

一些厂商已经想出了一些颇有创意的办法去解决这些问题。例如: IBM开发了PowerVM Lx86,这是一个中型规模的虚拟化引擎的部件。它使用特别的软件自动把指令转换成电压信号,从而不用在本机上进行编译。

虽然在Linux运行在IBM Power平台之前,Linux必须在本地运行并重新编译。当然,这个已经不再是个问题。转换器作为PowerVM Lx86的一部分,能把x86 Linux指令很轻松地转换成电压 Liunx指令,只需三步:解码、优化和生产代码。这非常适用于Web应用程序,因为有大量重复工作,因为这些频繁使用的代码已经在内存中,所以无需再重新转换。

另一个需要考虑的方面是应用程序需要的内核扩展和设备驱动。为应用程序找到合适的内核扩展和设备驱动并不是一件容易的事情,其中部分原因是大多数的内核API并不严格遵从标准。API指令、参数的数量和调用到内核扩展的过程在新平台上都会有所不同。

另一个要考虑的是需要内核扩展和设备驱动程序的应用程序。这些都不是容易的候选支持,这一部分是因为大多数的内核API不遵循任何严格的标准。 API调用的参数的数量和加载到内核扩展的过程中将所有的功能不同的新的平台上。

评估应用程序对于Linux的适用性和有效性

绝大多数的商业和网络应用程序都能在Linux上运行。但是有效性则是另一回事。

虽然今天几乎所有的生产商都已经把他们的Unix应用程序移到Linux上,但是关键是,在考虑迁移之前,如何确保现有的应用程序已经能很好地支持了这种可能的迁移。否则,您将不得不陷入自己去迁移这些应用程序的困境。对于内部应用程序的开发,您需要的是一个强大的开发团队来帮助完成应用程序的迁移。

向有过此种经验的同事咨询。了解一下您的应用程序迁移到Linux会如何。并且核实这些应用程序现在的运行情况。不用担心,请大胆地向您的生产商请求帮助。Red Hat 和SUSE都提供相应的服务帮助您完成移植。

关于部署的问题和错误

当你在做迁移的时候,你可能会遇到什么样的错误或问题?首先,适当的测试非常必要。在迁移过程中,任何一件事情都可能出错,所以在生成环境之前,应该搭建一个测试和实验环境来发现和经历问题。

几年前,我的小组看似非常顺利地完成了一个重要的迁移,但是不久就开始接到电话说工资管理系统不能正常运行。这有点出乎我们的意料,之前我们进行了系统的单元测试、用户测试以及UAT测试。事实证明,问题不是出在迁移方面,而是因为一些PC客户端不能很好的与旧版本的Oracle客户端兼容。

还有一个问题是有关Unix外壳脚本。有人可能想当然的认为,Unix外壳脚本在Linux平台上也一样能很好地运行。不幸的是,这种假设不成立。

任何一个与应用程序有关的Unix脚本都需要仔细测试。Linux的标准外壳是使用Bash外壳,它是建立在Unix最初的Bourne外壳。然而,在我们的例子里,Unix使用的是Korn外壳。所以,肯定有些功能不能正确工作。因此,有必要假设您的外壳脚本在新平台下可能不能正常工作。请测试每一个您需要的外壳脚本。

获取技术支持

技术支持取决于您IT部门的大小和员工的经验。您是否有几个无所不能、经验丰富的Linux管理员呢?或者他们也许是Unix管理员,但是他们是否已经做好准备去接受Linux呢?

技术支持程度取决于您所用于的环境类型。您是否正在运行那些每分钟的故障能导致公司数万美元损失的系统呢 ,如:CRM系统或者工资系统?

来自于生产商的技术支持也是非常重要。Red Hat和Novell都提供24/7的技术支持。一些Unix硬件生产商,如IBM,也提供自己的Linux技术支持。

如果可能,请从您的硬件提供商那里获得技术支持。而且,这对您从 *** 作系统提供商哪里获得技术支持不会产生任何不利的影响。最后还是那句话,您需要仔细考虑您的组织中,系统停机带来的经济影响和您员工的经验和能力。

直接运行会出现问题的

主要是环境不同。例如动态库位置,字节序等等

但是声明了遵循POSIX的软件可以,但不是直接的,要重新编译,软件的可移植性就是指这个:不修改或修改极少源代码实现软件移植。这些东西都是自动化工具(aclocal, m2 autoconf ./configure cmake 等等)做的,很少手工干预的

1、删除命令:rm

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

rm删除的东西不能还原。文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

2、撤销命令:

u   撤销上一步的 *** 作。

Ctrl+r 恢复上一步被撤销的 *** 作。

扩展资料:

1、撤销命令的使用场景:vi编辑器:

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

i 切换到输入模式,以输入字符。

x 删除当前光标所在处的字符。

: 切换到底线命令模式,以在最底一行输入命令。

输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符

ENTER,回车键,换行

BACK SPACE,退格键,删除光标前一个字符

DEL,删除键,删除光标后一个字符

方向键,在文本中移动光标

HOME/END,移动光标到行首/行尾

Page Up/Page Down,上/下翻页

Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

ESC,退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q 退出程序

w 保存文件

按ESC键可随时退出底线命令模式。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7523877.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存