位置: 编程技术 - 正文

Linux系统下 源码软件最简单的安装方法(linux源码包)

编辑:rootadmin

推荐整理分享Linux系统下 源码软件最简单的安装方法(linux源码包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux0.12源码,linux0.01源码,linux0.11源码分析,linux1.0源代码,深入分析linux源代码,深入分析linux源代码,linux1.0源代码,linux源码用什么写的,内容如对您有帮助,希望把文章链接给更多的朋友!

在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,到处编译么,而常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包,这个通过rpm文件的后缀名就可以初见端倪,比如ppc,sparc,i之类,在这里不做过多的陈述,其实源码安装软件远没有很多朋友想象的那么复杂,下面我在这里尽可能详细的做一些陈述,如有谬误,欢迎朋友们拍砖!安装的具体步骤:

安装完成后用来清理临时文件

# make uninstall

复制代码

用来卸载软件解压: 最常见源码包的就两种(XXXX.tar.gz or XXXX.tar.bz2),其实这些源码包都是由2个工具压缩而成的,tar.gz结尾的文件用到的工具是tar和gunzip,而tar.bz2结尾的文件所使用的工具是tar和bzip2,之所以这样做是因为,tar仅仅能够打包多个文件但是没有压缩的功能,而gz和bz2却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过tar先将不同的源文件打包,然后再通过gunzip或者bzip2压缩后发布的,当然这两个步骤可以通过一条命令实现:

复制代码

解压的相关命令如下:

复制代码

解压完成就正式开始安装了(补充一点,开始configure之前,如有必要,请使用patch工具为源码打上相应的补丁),首先跳转到源码的解压目录,众所周知,开始configure前还是应该仔细阅读源码目录下的README或者INSTALL文件,好多安装中的注意事项在这里都有所罗列,configure实际上是一个脚本文件,在当前目录中键入"./configure",shell就会运行当前目录下的configure脚本,有一点必须说明,在整个configure过程,其实编译尚未进行,configure仅仅是做编译相关的准备工作,它主要对您当前的工作平台做一些依赖性检查,比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,你很幸运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,当然configure支持及其丰富的命令行参数,可以键入"./configre --help"获取具体的信息,最常用的恐怕就是:

它用来设置软件的安装目录. make: 如果configure过程正确完成,那么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序:

make install: 当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限,临时切换到root是一个不错的选择,"install"只是Makefile文件中的一个标号,"make install"代表着make工具执行Makefile文件中"install"标号下的所有相关操作,如果在configure阶段没有使用"--prefix=/opt/XXX"指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于您的PATH中,那么安装已经基本结束:

Linux系统下 源码软件最简单的安装方法(linux源码包)

#make install

make clean:make uninstall: 这两个步骤只是安装的后续操作,有一点必须注意,"clean"和"uninstall"也是Makefile文件中相应的两个标号,执行这两个步骤的时候Makefile文件必要保留,"make clean"用来清除编译连接过程中的一些临时文件,"make uninstall"是卸载相关应用程序,与make install类似,make uninstall也需要切换到root执行,不过"uninstall"标号在好多Makefile中都被省略掉了,朋友们完全可以自己在相应的Makefile文件一探究竟.Why? 在这里我尝试着解释一下上面这些步骤存在的理由,从C语言的角度来说,一个程序从源码到正确生成相关的可执行文件,下面这些部分必不可少:源文件,编译器,汇编器,连接器,依赖库,通过上面几个步骤,朋友们应该已经知道,真正执行编译链接操作的步骤只有一个(make),那其他步骤存在的理由何在? 有一点是肯定的,我在自己的电脑上使用C语言写一些自娱自乐的小程序,也没有用到"configure or make install"之类的命令,顶多自己写个Makefile管理源文件的依赖关系,可是软件开发者不同,他必须考虑到软件的可移植性,他开发的软件不能仅仅就在他自己的pc上跑吧?不同的平台可能连硬件体系结构都不同,这样就导致了Makefile的不可移植性,为了解决这个问题,开发者通常使用autoconf之类的工具生成相应的configure脚本,而configure脚本就是用来屏蔽相应的平台差异,从而正确生成Makefile文件,然后make再根据configure的劳动成果(Makefile)完成编译链接工作. 至于"install or clean or uninstall",也只是对应着Makefile文件中不同的规则,关于Makefile的详细信息,朋友们可以自行查阅相关的文档.一个例子 下面是我在自己的pc机上源码安装tar工具的过程,权当做是上面这些步骤的一个具体事例吧:

这个是我的系统信息。

解压原文件包,可以发现其中包括了configure脚本和README文件。

建立软件安装目录,并configure,检查configure返回结果,为0代表运行成功.

复制代码

可以看到Makefile文件已经被成功建立.

在建立的Makefile中存在install和uninstall标号

0

make成功

0

安装并简单测试成功。

Linux系统下Shell多线程编程的实例 #!/bin/bash##此例子说明了一种用wait、read命令模拟多线程的一种技巧#此技巧往往用于多主机检查,比如ssh登录、ping等等这种单进程比较慢而不耗费cpu的情

liunx系统下时钟不同步会出现问题 怎么同步Linux 的系统时钟和硬件时钟? linux的系统时钟在很多地方都要用到,要是不准,就会出现一些奇怪的问题;在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。Linux时钟分

巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力的方法 一.什么是tmpfs和/dev/shm/?tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存

标签: linux源码包

本文链接地址:https://www.jiuchutong.com/biancheng/366942.html 转载请保留说明!

上一篇:linux系统中如何批量修改图片文件名的案例演示(linux系统怎么弄)

下一篇:Linux系统下Shell多线程编程的实例(shell在linux)

  • 房产公司企业所得税如何预征
  • 报销单据粘贴单图片
  • 月末计提无形资产的折旧
  • 高新企业如何申报纳税
  • 公章更换后需要到工商局备案么
  • 公司零申报怎么注销
  • 工程造价咨询服务流程
  • 机器保养计入什么
  • 可转换债券发行主体
  • 代管商品物资登记制度
  • 一般纳税人注销公司麻烦吗
  • 营改增之后的税率
  • 工资哪些扣款应该扣税
  • 外购的货物用于集体福利进项税额可以抵扣吗
  • 计提增值税附加税的会计科目
  • 汽车配件的税收编码是多少
  • 药企会计租金进项税不能抵扣
  • 简并增值税税率政策解读
  • 以前年度损益调整怎么用
  • 国内企业给国外企业开发票
  • 什么情况下需要承担法律责任
  • 出口暂定关税
  • mac10.10.5系统
  • elementui常用组件
  • vue移动和pc两套代码
  • 贷记卡怎么还利息
  • 纳税人超过应缴纳税额缴纳的税款
  • 房地产企业现金流管理问题研究
  • php preg_match
  • php504错误
  • 红字专用发票是红色的吗
  • vue3生命周期及使用
  • addr指令
  • Android AsyncTack 异步任务实例详解
  • 转让旧机器的会计分录
  • 企业所得税资产总额根据什么填
  • 长期借款的处理原则
  • 债券发行费用包括
  • 进项大于销项怎么办
  • rabbitmq中文手册
  • 织梦图集的使用教程
  • mongodb的配置文件
  • 盈余公积企业所得税税率
  • 以前年度损益调整属于哪类科目
  • 工会经费的计提基数不包括
  • 固定收益票据
  • 开增值税专票要交税吗
  • 罚款支出算费用吗
  • 外地预缴个人所得税凭证怎么弄
  • 应收帐款的帐务处理流程
  • 汽车以租代售合法吗
  • 电话费可以自动扣银行钱吗
  • 损益类科目结转本年利润方向
  • 私人网银可以转账吗
  • 中小型企业产品定位方案
  • reg.exe是什么程序
  • win8.1 0x80072efe
  • win10如何设置视频缩略图
  • xp怎么删除多余的操作系统
  • freebsd版本选择
  • winadm.exe - winadm是什么进程
  • win8激活失败
  • centos8指令
  • 多个网页怎么从一个网页中显示
  • mac文稿怎么查看字数
  • windows8如何使用
  • linux查看磁盘io负载
  • win7更改磁盘分区
  • windows mobile
  • 在linux系统中,用来存在系统所需
  • win7系统咋样
  • opengl纹理错误变成条纹
  • 浅谈特殊儿童的融合教育论文
  • sqlite3 not found 解决方案
  • Interlnk、Intersvr、Qbasic命令的使用方法
  • dos cat命令
  • node+express+ejs制作简单页面上手指南
  • css超出内容隐藏
  • javascript入门书
  • 税控盘解除风险
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设