`
shinepaopao
  • 浏览: 145209 次
社区版块
存档分类
最新评论

Linux系统升级的经验之谈

阅读更多

当我们使用Linux一段时间以后,自然不会满足总是在没有任何变化的系统中工作,而是渴望能象在Windows系统中一样,不断对自己的Linux进行升级。另一方面,Linux本身就是一个开放的系统,每天都会有新的软件出现,Linux发行套件和内核也在不断更新。在这样的情况下,学会对Linux(包括系统本身和各种软件)进行升级就显得非常迫切了。

在Linux环境下,升级的对象可以是一般的软件,可以是编译器,也可以是系统的内核,甚至是系统本身。下面,我就分别讲讲对不同对象的升级方法。

1.升级一般软件

一般来说,升级应用软件是比较简单的,因为你不用太在意升级后对其他软件的影响(如果是升级系统,情况就不一样了)。首先,你必须找到希望升级的新版本。你可以在Linux的专门站点上寻找自己中意的软件。然后就是使用各种下载工具将软件下载到指定目录中。下载的软件大部分是以tar打包的gzip压缩文件。

在处理这些软件之前最好使用tar tvf 或 tar ztvf 命令看看下载下来的文件中包含了一些什么文件。因为得到的软件可能是二进制文件也可能是源码,使用上述的命令可以看看究竟是哪一种文件。

如果是二进制文件,一般可以直接将包打开,然后删除相应的老文件就可以了。

如果是源文件则要留心包里面是否有帮助和安装文件(readme / install / help)等等。然后将软件打开到指定的目录中去,仔细看看帮助和安装文件中的提示和安装约定,再进行安装工作。这时,安装工作意味着要对源代码进行编译。首先要对Makefile文件进行修改,修改的内容和修改的方法在软件包中的相关文件中往往可以找到,另外有的时候软件包里会包含一个shell程序configure,执行它可以省不少时间。对makefile处理完以后,就可以使用make命令来编译指定的文件。最后用make install命令将软件安装到自己的计算机上。

2.升级编译器

我们可以先用"gcc -v"命令看看自己当前的gcc版本,然后决定是否要进行升级。当我们需要对自己的gcc、连接器、汇编器以及各种头文件和函数库进行升级的时候,我们就可以到相关站点上获得对应的软件包,然后在指定目录下开打,同时删除(覆盖)原来的老文件就可以了。

3.升级函数库

因为升级后要重新指定库的连接,所以函数库是比较麻烦的。我们知道,Linux系统的库文件分为档案库和共享库两种类型。档案库的文件一般是libx.a,而共享库的文件一般是libx.so.version,升级函数库时必须使用新的版本的。a和。so.version文件替换老版本的对应文件。对。a文件来说非常容易,只要将新文件拷进指定的目录,覆盖原来的文件就可以了。但是我们对共享库进行操作的时候就要特别小心了。绝不能简单地将新文件拷到一个目录下,然后删除旧的文件。因为有可能旧的函数库正在为某个程序所使用。我们必须保证每个程序都能够正确地找到共享库。简单的将,当我们将新版本的共享库文件放到指定目录下以后,使用ln命令来完成:

ln –sf /usr/lib/libdb.so.new("new"指新的版本号) /usr/lib/libdb.so.old("old"是原有的文件) ;比如: /usr/lib/libdb.so.2原来指向的文件是/usr/llib/libdb.so.2.0.1,现在有一个新文件 /usr/lib/libdb.so.2.78.1,我们可以这样处理:ln –sf /usr/lib/libdb.so.2.78.1 /usr/lib/libdb.so.2 ;然后,我们才能将/usr/lib/libdb.so.2.0.1文件进行删除。

4.系统升级

最简单的升级方法当然是……一张cd-rom里就可以将整个系统完全包括了。当然,这样的升级方法比较费事,同时,每一次升级都意味着原来的文件有可能丢失,因此,完全没有必要总是将系统重新安装一次。每一个Linux发行套件其实都是记录升级情况的文件。比如slackware中有一个changelog.txt文件,按时间顺序记录了slackware的更新状况。而在RedHat中则是/redhat-4.2/updates/00readme.errata.我们可以从这些文件中看出是不是需要进行升级。然后找到相应部分的软件包,使用installpkg filename或者rpm –U filename来将软件包安装在计算机上。

5
2
分享到:
评论

相关推荐

    linux开发必备(包括ARM开发,linux系统,网络编程等多种技术书籍)

    在IT行业中,Linux开发是一个广泛且重要的领域,涵盖了操作系统、硬件接口、网络编程等多个方面。以下根据提供的资源,解析其中包含的重要知识点: 1. **Linux系统**:`Ubuntu8.0.4速成手册V1.0.pdf` 提供了Ubuntu ...

    linux C 系统编程

    本文将深入探讨Linux环境下C语言编程的相关知识点,结合“linux C高级编程经验之谈”这一主题,我们将涵盖Linux命令的使用、系统环境配置以及C语言编程技巧。 一、Linux命令 Linux命令是操作系统的强大工具,熟练...

    嵌入式Linux学习经验之谈,让你免走好多弯路

    嵌入式Linux学习经验之谈,让你免走好多弯路 嵌入式Linux是一门综合了计算机硬件技术、计算机软件技术和电子电路技术的学科,涉及到数字电路、模拟电路、计算机组成原理、单片机基础、C语言基础、操作系统、数据...

    Linux 内核参数调优文档

    Linux 下 系统参数的调优经验之谈,非常给力的!调优系统必备

    构建嵌入式Linux系统(part1)

    业界第一本深入探讨基于Linux内核的嵌入式系统开发的权威指南。书中总结了嵌入式开发过程中的许多以前从未形成正式文档的经验之谈。

    构建嵌入式Linux系统(part2)

    业界第一本深入探讨基于Linux内核的嵌入式系统开发的权威指南。书中总结了嵌入式开发过程中的许多以前从未形成正式文档的经验之谈。

    挺进嵌入式----来自多年嵌入式开发工程师的经验之谈

    随着参与linux开发的人越来越多,linux系统的稳定性、实时性有了很大的提高,linux系统无论在服务器上还是嵌入式设备平台上都应用越来越广泛,现在包括华为、中兴、朗讯的各大通信巨头都开始把自己设备的底层平台从...

    网络布线系统的组网经验之谈.pdf

    在向大家详细介绍网络布线系统之前,首先让大家了解下网络布线系统中最重要的结构:网络拓扑结构,然后全面介绍网络拓扑结构的详

    linux内核 0.11版本源码 带中文注释

    #include <linux/fs.h> // 文件系统头文件。定义文件表结构(file,buffer_head,m_inode 等)。 static char printbuf[1024]; // 静态字符串数组。 extern int vsprintf (); // 送格式化输出到一字符串中(在...

    「安全教育」基于Splunk的安全监控系统_企业SIEM经验之谈 - APT攻击.zip

    「安全教育」基于Splunk的安全监控系统_企业SIEM经验之谈 - APT攻击 NGFW 日志审计 信息安全 安全众测 防火墙

    关于下载全自动下载ImageNet等大型数据集的经验之谈,以及代码.zip

    关于下载全自动下载ImageNet等大型数据集的经验之谈,以及代码 关于下载全自动下载ImageNet等大型数据集的经验之谈,以及代码 关于下载全自动下载ImageNet等大型数据集的经验之谈,以及代码 关于下载全自动下载...

    一些经验之谈

    "一些经验之谈"主要涉及计算机基础知识、软件技术、数据库、操作系统、软件工程、网络以及微机系统分析与应用等多个方面,这些构成了IT专业人员必备的知识框架。 首先,计算机基础知识是所有IT学习的起点,包括...

    基于Splunk的安全监控系统_企业SIEM经验之谈.pdf

    目录 面临哪些问题 如何解决 安全监控系统架构 持续而广泛的安全监控

    项目管理经验之谈.docx

    项目管理经验之谈.docx

    IO复用服务器linux C语言开发的包含客户端

    经验之谈: 1,服务器编程最好根据实际应用中起用多个进程与多个线程进行操作。 但线程不可过多,CPU频繁切换时会更消耗时间。而且线程经常销毁与创建也是特别消耗资源的。 2,应该引用进守护进程。 (可供初学者...

    献给ARM初学者的一些经验之谈

    ARM技术广泛应用于嵌入式系统、消费电子、教育多媒体、数字信号处理(DSP)和移动应用等多个领域。 **特点**: - **高性能**:ARM处理器提供卓越的处理能力,尤其在移动计算设备中表现突出。 - **低成本**:通过高效...

    Photoshop操作经验之谈

    Photoshop操作经验之谈,学习和利用Photoshop操作的好东西,都是精华,绝对有意义

Global site tag (gtag.js) - Google Analytics