分享
 
 
 

技巧:从源代码开始升级应用程序

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

别被新版本吓住了

Daniel Robbins

Gentoo Technologies 公司总裁兼首席执行官

2000 年 9 月

内容:

升级也可以很简单

阅读 Changelog

升级关键应用程序

按相同的方式进行配置

备份原来的配置文件

手头准备好较旧的源代码

测试!

参考资源

作者简介

好了,您已经从源代码开始编译并安装了第一个应用程序,而且它工作得非常棒。恭喜您!但现在您得到了一个新版本的源代码并希望升级,而且希望一切顺利进行。可以采取哪些有效的措施来避免失误呢?在这篇技巧文章中,我将提供几个这样的措施。

升级也可以很简单

从源代码开始升级软件也可以很简单,但您应该采取几个预防措施,当您初学编译源代码或者不太熟悉正要安装的源代码档案时尤其应该注意。下面列出了您应该密切注意的几点,但在大多数情况下,升级与最初的编译和安装步骤几乎相同。也就是说,这些步骤包括打开 tar 包、可选的 "./configure"、"make" 和 "make install"。如果您不熟悉这些术语,请首先查看 developerWorks 的 Compilingand installing software from sources 教程,然后再回头阅读本文。

阅读 Changelog

下载源代码以后,首先熟悉一下软件有哪些新变化 -- 这些变化通常在源代码主目录的 ChangeLog 或 README 文件中列出。您可能发现配置文件设置稍有变化,或者添加了一些新特性。最好在源代码的文档中弄清这些变化,而不要等到以后在这些地方犯了错误再补救。不进行这一步绝对是错误的 -- 另外,既然您花时间来安装这个软件包的新版本,了解一下它包括哪些新特性或修正了哪些错误不是一件好事吗?

升级关键应用程序

如果您正在升级对许多用户都有影响的应用程序(如繁忙的 Web 服务器上的 Apache),则倍加小心是值得的。如果可能,请首先在非生产机器上安装新版本源代码,并记下使新版本启动并运行所执行的每个步骤。这样,即使您在升级过程中遇到问题,也不会造成什么危害。而且,当您准备对您的生产机器进行升级时,您已经有了要执行的步骤的一个详细列表 -- 从而可以缩短高代价的停机时间。

此外,如果您正在升级关键应用程序,则在非高峰时进行升级总是最佳选择。

按相同的方式进行配置

当升级应用程序时,人们容易犯的重大错误之一是在 "./configure" 行指定不同的、不兼容的选项,或者在 Makefile 配置中取消了不同行的注释标记。如果您希望执行简单的升级,则请确保软件新版本的配置与当前版本的配置完全相同。

如果当前版本在 /etc 目录下查找它的配置文件,则将新版本配置为同样的方式是较好的选择。别草率从事;如果您在 "./configure" 命令行传递了不同的选项,其结果很可能是,新版本具有明显不同的功能,安装在错误的目录树中,或者在错误的位置查找它的配置文件或数据文件。如果您忘了原来所使用的配置选项或 Makefile 定义,则一定要在编译和安装新版本之前查清楚。为使升级顺利进行,您会希望一开始就获得这些设置。

先备份原来的配置文件再进行安装

对许多程序包而言,真正的挑战不在编译和安装阶段,而是在您键入 "make install" 之后设置应用程序以使它正常运行的过程中。这通常需要花好几个小时编辑应用程序的配置文件,配置文件通常在 /etc 目录下,并带有常用的 ".conf" 后缀。

当您通过键入 "make install" 来安装程序包的新版本时,大多数 Makefile 不会覆盖磁盘上现有的配置文件 -- 但如果从安全方面来考虑的话,则应该庆幸这一点,而不是对此表示遗憾。如果您没有十分的把握,则一定要备份以前的配置文件! 某些配置文件可能需要花几天的时间来重新构建,这随程序包的不同而有所不同。如果配置文件包含加密的口令,则重新构建相当耗时,或者干脆就不可能。

如果您正在计划对您的 linux 系统进行重大升级,则现在可能是执行全系统备份的好时机。如果您准备升级作为许多程序包正常工作基础的关键系统库或工具,这就显得尤为重要了。全系统备份本身就是很好的主意,我希望您不定期地对系统进行备份。

手头准备好较旧的源代码

我无意劝阻您将最喜欢的程序升级到最新版本 -- 但新版本的确可能无法工作。"./configure" 或 "make" 可能会崩溃。更糟糕的情况是,包括 "make install" 在内的每个环节都顺利通过,直到实际运行程序时才出现麻烦。多虫的源代码发行版确实存在,这就是之所以在手头保留较旧源代码(以及任何安装步骤)是个好主意的原因,以防较新的源代码不正常。

测试!

编译和安装是一回事,而确信新软件工作正常完全是另一回事。您一定希望确信您不是在根分区中安装了 500 KB 的垃圾。新版本的配置文件可能需要作少许修改,甚至可能需要大幅修改。如果您正在升级守护程序,请确保当重新启动时您的配置脚本成功地启动了这个新版本。您绝对不希望当您在两周以后重新启动服务器(而且您已经淡忘了该程序的配置细节)时发现任何问题。您可以按照本文中的建议进行操作,但是如果您不测试您的安装,则您正在漏掉最重要的步骤。

现在,您应该有足够的知识来升级您喜欢的应用程序了。祝您玩得开心!

参考资源

* 学习 Daniel Robbins 的 tutorial on compiling and installing software from sources 教程,该教程可在 developerWorks 独家为您提供的 linux 工具箱中找到。

* 学习 Daniel 的 tutorial on compiling your linux kernel 教程,这是 developerWorks 专有的另一篇教程!

作者简介

Daniel Robbins 住在新墨西哥州的 Albuquerque,他是 Gentoo Technologies 公司的总载兼首席执行官,他还是 Gentoo linux(一种运行于个人计算机上的高级 Linux)和 Portage 系统(Linux 的下一代端口系统)的创作者。他同时也是 Macmillan 出版的 Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和 Samba Unleashed 几本书的重要作者之一。由于深受 Pac Man 的影响,Daniel 在读二年级时第一次接触到 Logo 编程语言后即执迷于计算机。这可能是他后来作为 SONY Electronic Publishing/Psygnosis 的首席图形艺术家的原因。Daniel 喜欢与他的妻子 Mary 和他的新出生的女儿 Hadassah 共度美好时光。可以通过 drobbins@gentoo.org 与 Daniel Robbins 联系。

您对这篇文章的看法如何?

真棒! 好文章 一般,尚可 需提高 太差!

意见

(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 2001, All Right Reserved

隐私 法律 联系

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有