位置: 编程技术 - 正文

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)

  • 装卸费发票怎么备注
  • 外来原始凭证包括哪些入库单
  • 借款利息抵扣土增
  • 房地产预售啥意思
  • 政府补贴的递延收益
  • 营业成本包括三大费用如何称呼
  • 油卡预付款可以报销吗
  • 发票开票人是管理员可以吗
  • 如何核销财政票据的发票
  • 房地产公司支付工程款账务处理
  • 指定会计科目是
  • 资产损失税前扣除及纳税调整明细
  • 跨区经营怎么交税
  • 商业汇票贴现怎么做
  • 计提递延所得税资产
  • 房地产开发资质管理办法
  • 购进机器进项税额怎么核算?
  • 进口关税专用缴款书怎么做分录
  • 房地产开发企业土地增值税清算
  • 劳务公司的税率是多少经营模式
  • 个体工商户生产经营所得税税率表2021
  • 分公司利润如何分红
  • 上月计提的工资,下月做调整
  • 个税免税收入和不征税收入
  • 存货成本有哪些问题
  • 企业销售食品过期处罚
  • 存货监盘计划要求,在对存货盘点结果进行测试时
  • 负债的情况
  • 被税务查了
  • 收到稳岗补贴计入哪个科目
  • linux系统中将加密过的密码放到什么文件中
  • win10启用网络发现保存后又变成了关闭
  • 自创商誉是否能入账
  • 担保公司的会计分录
  • PasSrv.exe - PasSrv是什么进程 有什么用
  • 白兰花的养殖方法和注意事项和病虫害
  • 税务行政罚款会罚多少
  • 发行股票的手续费佣金计入什么科目
  • 股权转让有溢价怎么做账
  • 公司亏损注销了怎么处理
  • framework3.5怎么打开
  • 怎么做应收应付账款分录
  • 以下哪些企业需要填报
  • python怎么写文字
  • 阿里云主机安装软件
  • 类型string
  • 没有盈利的公司
  • 民间非营利组织有哪些
  • 小微企业城建税减免政策
  • 发票已交税还可以作废吗
  • 信用减值损失是什么项目
  • 办理进出口权的费用西安
  • 企业应付账款的借方登记
  • 市政绿化工程的施工方案
  • 机票报销属于什么科目
  • 企业所得税季报是填累计数吗
  • 提取公积金收手续费吗
  • 增值税加计抵减企业所得税如何处理
  • 收付实现制和权责发生制的主要区别是确认
  • 税前扣除是什么时候开始的
  • mysql声明全局变量
  • mysql数据库备份方法
  • 苹果mac系统怎么截屏快捷键
  • solaris 修改用户 主目录
  • win10专业装机版
  • debian安装配置清华源
  • Mac怎么更改锁屏密码
  • mac系统字体大小设置
  • linux删除后恢复
  • win7架设ftp服务器
  • js实现图片放大功能
  • css弹出层
  • linux lvm配置
  • 简述shell命令提示符的组成
  • nodejs function
  • javascript define的用法
  • 河南热力公司收费标准
  • 新疆高龄补贴2024发放标准是多少
  • 停车定额费发票还能用吗
  • 临时工和季节工需要交社保吗合法吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设