LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装便利

LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装便利,第1张

概述介绍《LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装便利》开发教程,希望对您有用。

《liNUX教学:linux探索之旅 | 第四部分第五课:源码编译,安装便利》要点:
本文介绍了liNUX教学:linux探索之旅 | 第四部分第五课:源码编译,安装便利,希望对您有用。如果有疑问,可以联系我们。

 

《linux摸索之旅》全系列

上一课 linux探索之旅 | 第四部分第四课:分析网络,隔离防火 比拟难.这一课比拟轻松.

之前的课程 linux探索之旅 | 第二部分第七课:软件安装,如虎添翼 中,我们已经了解过在Ubuntu这个linux的发行版下安装软件是何等便利,用apt-get这个工具可以轻松搞定.这种方式可以让我们下载并安装大部分的软件.

其他linux刊行版也类似,一通百通.

但是,有些软件并没有包括在软件仓库中,那么我们只能手动来安装了,也就是只能下载软件的源代码,编译以生成可执行文件.

这个方式有时候会比拟复杂.我们需要首先下载源代码,下载下来的源码通常是一个压缩包,解压压缩包,然后配置,再编译,再安装.

希望这一课能让年夜家把之前学的一些知识应用到实践中,我们一步步来探究软件的编译.

首先尝试找deb安装包

首先,我们得声明:
这一部分涉及到的软件包安装等知识点是基于Debian一族的linux发行版,包含Ubuntu.

其他不是Debian一族的linux发行版,例如Fedora,RedHat,CentOS,等等.其实安装软件的方式大同小异,就是每个linux发行版之间所用的命令不一样,软件包的名称有点区别而已.

大部分Ubuntu下的软件都可以在软件仓库中找到,你只要用apt-get命令就可以安装它们.但是,有少部分比拟新的或者还在开发中的或者还不是很有名的软件,就没有被收录到软件仓库中,那你就不能用apt-get来获取到了.

在这种情况下,事情会变得繁杂一些.在windows下面,要安装某个软件,我们很习惯于先去软件的官网,然后下载.exe结尾的安装文件.

然而,那些为linux系统编写软件的法式员却一般不创建类似windows下的那些安装文件.为什么呢?难道是因为linux的法式员很懒惰吗?

是的,linux程序员是很懒惰.开玩笑啦.
其实是因为linux存在极为多样的发行版(比如Ubuntu,Fedora,SUSE,等等),每个发行版又有不同版本号.而且又有不同的处理器种类(32位的和64位的cpu,ARM架构,Intel架构,等等)要适配,不像windows因为是微软本身定义,没有太多变数.
因此,要为每种linux创建一个安装文件几乎成了不可能的事.

当我们要找的软件不在Ubuntu的软件仓库中时,我们可以试试去软件的官方网站找后缀是.deb(deb是Debian的缩写)的安装包..deb的安装包只能用于Debian一族的 *** 作系统,包含Ubuntu.而Redhat一族(包含Fedora)用的则是后缀为.rpm(rpm是Redhat Package Manager的缩写)的安装包.

有个软件可以协助将rpm安装包转换为deb安装包.这个软件是alIEn(就是“外星人”的意思,哈哈):

# alIEn默认没有安装,所以首先要安装它.sudo apt-get install alIEn
# 将rpm转换为deb,完成后会生成一个同名的xxxx.deb.sudo alIEn xxxx.rpm
# 安装deb安装包.注意,用alIEn转换的deb包并不克不及保证100%顺利安装,所以可以找到deb最好直接用deb.sudo dpkg -i xxxx.deb

如果你有幸直接在网上找到了软件的deb安装包,那么下载下来,双击安装包(或者用上面的命令行的形式:sudo dpkg -i xxxx.deb)来安装即可.

然后一个窗口会d出,问你是否肯定安装,选择“安装”.

如果安装过程没出错,那很好.如果有差错,一般可能是因为:

也许你下载的deb安装包不符合你的电脑环境.可能位数搞错了,32位和64位有区其余.

也许你没有安装那些依赖软件.因为apt-get工具会帮我们自动下载各种依赖软件,所以不需要我们亲自动手.但现在你需要本身动手安装缺失的依赖软件,可以根据提示信息,缺什么就装什么.

如果实在找不到deb安装包,那么只能:获取软件的源代码,然后“自行了断”(哦,不是,是自行编译).

那下面我们就来看看如何从源代码动身直到编译安装完成咯.

实在没有其他办法,选择编译安装

如果你要安装的软件既不在软件仓库里,你在网上又找不到相应的deb安装包的话,你就只能回到“石器时代”,用编译源代码的方式来安装了.

什么是编译?

简单来说,编译就是将程序的源代码转换成可执行文件的过程.就好比我们做糕点,用到的原料(如鸡蛋,面粉等)等就是源代码,而最终制成的蛋糕就是可执行文件.在这个比方中,编译就是制作蛋糕的过程.

假如繁杂地说就说不完了.

大多数linux的程序都是开放源码的,我们可以比拟轻易地获取它们的源代码,然后将其编译成适合我们的电脑和 *** 作系统属性的可执行文件.

编译安装软件的步骤根据软件的不同有所区别.有些软件的编译安装非常复杂,可能会让你抓狂(特别是一些非标准,非主流的软件),必要很多准备工作.

小编以前在自学嵌入式的进程中对此深有体会.

不过一般安装手册(一般是下载下来源代码时附带的README文本文件,read是英语“阅读”的意思,me是英语“我”的宾语形式.所以read me便是“阅读我”的意思)都会说明详细的安装步骤.

即使如此,有时还是会让你比较头大,只能办理一个个遇到的小错误.

没方法,谁让程序员爱折腾呢,不折腾的人生有什么意义,木啊哈哈.

一步步编译程序

在编译之前,你需要安装编译的工具.在Ubuntu下有一个办法可以一次性安装跟编译有关的工具,就是build-essential(build是“构建”或“编译”的意思,essential是“必要的”的意思,顾名思义就是“进行构建/编译所需的必要工具”),运行如下命令安装:

sudo apt-get install build-essential

一句敕令搞定,linux之威武帅气展露无遗.

windows君基本已经哭晕在茅厕~ (日常黑windows任务又完成了,哈哈).

安装完编译必要的基本工具,我们就可以开工了.

我们就用一个小软件作为例子来讲解吧.这个软件是htop.之前我们学过top命令,它可以查看电脑中运行的各种进程状态,占用多少内存,cpu用量等等,有点类似windows中的任务管理器.htop便是类似于top的一个小软件.

虽然htop这个软件从apt-get中也可以安装.然则我们为了演示编译安装的过程,就拿它来“开刀”啦(可怜的htop).

第一步去软件的官网:http://hisham.hm/htop/


 

之前写这篇文章是htop最新版还是1.0.3版,本日(2016年12月17日)去官网看的时候最新版已经是2.0.2了,不过安装过程是类似的.

点击菜单中的 [Downloads],目前这个软件的开发源代码托管在Github上,Github的相关页面:https://github.com/hishamhm/htop (可以上去看看,熟悉一下全球驰名的Github)

也可以阅读我的以下三篇文章,顺便学习一下Git和Github两大超等厉害的生产力工具的使用:

GitHub 教程系列文章: 

通过GitHub创立个人技术博客图文详解 

GitHub 使用教程图文详解   

使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署 

多个GitHub帐号的SSH key切换

如安在同一台电脑上使用两个GitHub账户

利用GitHub搭建小我Maven仓库 

一分钟熟悉GitHub

分享适用的GitHub 使用教程  

GitHub使用 *** 作指南 

GitHub使用办法入门基础 

GitHub 的详细先容:请点这里
GitHub 的下载地址:请点这里

虽然htop的源码托管在Github上,但其稳定的发布版本不是放在Github上,而是以tar.gz的压缩包格式寄存在:

http://hisham.hm/htop/releases

我们进入稳定版:1.0.3版的目次(你当然可以去2.0.2的目次http://hisham.hm/htop/releases/2.0.2/ )

http://hisham.hm/htop/releases/1.0.3/

下载以下文件
htop-1.0.3.tar.gz
下载之后,我们用之前学过(linux探索之旅 | 第四部分第一课:压缩文件,解压无压力)的解压办法解压之:
tar zxvf htop-1.0.3.tar.gz

解压后生成了htop-1.0.3这个目录.

然后进入目录中:
cd htop-1.0.3

假如用ls命令来列出文件,你会发现有好多,不要怕.我们并不必要在意这些细节...

在众多文件中,我们对一个文件比拟感兴趣:

configure

configure是英语“配置”的意思,顾名思义便是为软件的编译做一些配置和准备工作.

我们运行它:
./configure

configure这个程序会分析你的电脑,确认是否编译所必需的所有工具都安装了.它的执行需要些时间,因为要做不少检测.

结果检测出现了差错:


 

差错是:

没有找到 -lncursesw

提醒信息是:

error: You may want to use --disable-unicode or install libncursesw

意思是:“失足啦:你也许想要用 --disable-unicode 参数 或者 安装libncursesw”.

首先小编到网上去找了安装libncursesw的办法,都不行.所以为了快速起见,就不折腾了.直接用第一个建议:用 --disable-unicode 参数.

重新运行configure(加上 --disable-unicode 参数):

./configure --disable-unicode

这会没差错了.

然后我们就可以开始编译了.用make命令:
make

也没差错,编译完成.

最后一步用make install命令来安装 (需要加上sudo以用root权限来安装软件):
sudo make install
没有问题.安装完成.然后运行htop软件试试:
htop


 大功告成,收工~

下一课会比拟难,内容也会很多.我们来好好探究一下IP地址,域名和DNS域名解析系统的来龙去脉.

总结

大多数linux发行版的软件都可以用担保理工具apt-get来安装(对于Debian一族).

有些软件不克不及通过apt-get来安装,因为没有被收录到Ubuntu的软件仓库中.在这种情况下,我们可以试着在网上找软件的deb安装包.

假如前两种办法都不行,我们只能选择从源代码编译安装的办法.一般通用的步骤如下:

1 从网上下载法式的源代码(通常被打包压缩为 .tar.gz 的格式).

2 解压紧缩包(tar zxvf xxx.tar.gz).

3 运行解压之后的文件夹里的configure文件: ./configure.

4 运行make来编译.

5 运行sudo make install完成安装.

第四部分第六课预告

本日的课就到这里,一起加油吧!

本文永远更新链接地址

内存溢出PHP培训学院每天发布《liNUX教学:linux探索之旅 | 第四部分第五课:源码编译,安装便利》等实战技能,PHP、MysqL、liNUX、APP、Js,CSS全面培养人才。

总结

以上是内存溢出为你收集整理的LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装便利全部内容,希望文章能够帮你解决LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装便利所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/yw/1041771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存