linuxOPS系统服务_Linux下软件的安装方式之源码安装

news/2024/11/29 4:39:11/

Linux下有哪些软件安装方式

① RPM软件包管理(软件名称.rpm)

② YUM软件包管理(使用yum命令install + 软件名称) => 下载 + 安装一体化

③ 源码编译安装(相对来说是最复杂的一种方式)

软件包类型

☆ 二进制软件包(rpm包)

在这里插入图片描述

  1. 二进制包,指的是已经[^编译]好了的软件包,只需要直接安装就可以使用。
  2. 二进制包,不需要编译,直接下载安装即可
  3. 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适

类似Windows中的.exe文件,如qq.exe

软件源码包

什么是源码包?有什么特点?

  1. 源码包,指的是程序员写的原始的程序代码文件不能直接在计算机上运行
  2. 源码包,需要进行编译,变成二进制的软件包后,才可安装使用
  3. 源码包,一般可以在任何的计算机上安装使用
  4. 源码包,命名方式一般为:
    • 软件包名.tar.gz
    • 软件包名.tar.bz2
    • 软件包名.tar.xz
    • 软件包名.zip

类似于腾讯QQ开发工程师 => QQ的源代码发给你了 .c => 编译 => QQ.exe文件

二进制源码包(.src.rpm)

什么是二进制源码包?有什么特点?

  1. 二进制源码包,是一个半成品,安装后不能直接使用
  2. 二进制源码包,需要使用rpmbuild工具重建成真正的rpm包或者重建成源码包才可安装使用
  3. 二进制源码包,命名方式一般为:
    • mysql-community-5.7.25-1.el6.==src.==rpm
    • mysql-community-5.7.25-1.el7.src.rpm

常见的二进制软件包

在这里插入图片描述

总结二进制包和源码包区别

在这里插入图片描述

二进制软件包的安装方式

① 基于RPM进行安装(先下载软件然后本地进行安装)

② 基于YUM进行安装(在线下载然后安装)

RPM软件包安装

获取软件

Linux只是内核,Linux发行版本:GNU/Linux

  1. RedHat/Centos光盘或官方网站 ftp://ftp.redhat.com
  2. 推荐网站
    • www.rpmfind.net
    • rpm.pbone.net
  3. 相应软件官方网站
    • http://www.mysql.com
    • http://nginx.org/packages/
如何选择合适的软件
  1. 选择适合当前系统的版本号
    • 找不到适合的,才去尝试别的系统版本号
    • el6兼容el5;el5无法安装 el6
  2. 选择适合当前计算机cpu的架构
    • x86_64包,只能安装在64位的系统上
    • i386,i586,i686的软件包可以安装在32和64位系统上
    • noarch表示这个软件包与硬件构架无关,可以通用
    • 32位系统不能安装64位包

建议: 建议不要跨大版本号去安装软件包,尽量使用当前系统版本自带软件包安装

rpm软件包的安装、卸载以及升级

安装:

rpm -ivh 软件包名称

卸载:

rpm -e 软件包名称 [–nodeps强制]

查询:

rpm -q 软件名称

rpm -qa |grep 软件名称

升级:

rpm -Uvh 软件包名称

注意:rpm -Uvh不仅可以升级软件,其实它也可以安装软件。

RPM包管理:以上操作都比较简单,但是在实际应用过程中,可能会遇到问题,很多rpm软件包在安装时都会提示软件依赖。那这个问题如何解决呢?

方法一:根据提示一个一个软件包安装,先解决依赖在回来安装软件

方法二:使用yum install 安装rpm软件包

yum install 软件名称.rpm

以上安装方式的最大好处是,如果安装软件时,产生了依赖,不用担心,yum会自动帮助我们解决这些问题的!

源码安装

获取软件的源码包

可以去某个软件的官网获取,官网一般摆放的都是源码包*.tar.gz

源码安装三步走

① 配置./configure(配置软件安装路径,也可以不配置,不配置使用默认路径)

② 编译make(把软件的源代码做成类似rpm的可以直接按照的软件)

③ 安装make install(把刚才编译好的程序进行安装到Linux系统)

使用源码安装安装cmatrix代码雨

这是今天要安装的软件
https://download.csdn.net/download/weixin_44368963/87917140
在这里插入图片描述

第一步:对软件进行解压缩

tar -zxf cmatrix-1.2a.tar.gz

tar xf cmatrix-1.2a.tar.gz,因为默认解压都是使用gzip工具

在这里插入图片描述

第二步:进入到cmatrix文件夹,然后对软件进行配置

cd cmatrix-1.2a

在这里插入图片描述
其中 cmatrix.c是软件的源码,
./configure => 设置软件默认安装的位置等信息,执行这个

在这里插入图片描述

好吧,执行出错error: no acceptable cc found in $PATH,
在$PATH中找不到可接受的抄送
欠缺c的编译器,这里给它安装两个

yum install gcc gcc-c++

在这里插入图片描述

安装好后重新执行cmatrix的配置
在这里插入图片描述
这样cmatrix就配置好了
在这里插入图片描述

配置好make后就可以安装了

make

好吧又出错误了
在这里插入图片描述
出现以上问题的主要原因在于系统中没有找到ncurses-devel软件包
没有就安装

 yum install gcc gcc-c++ ncurses-devel -y

在这里插入图片描述
再重新执行配置

make

…nn的又出错了
在这里插入图片描述
一堆未定义的引用,这个好理解,大概率是之前配置时因为缺少编译环境所有导致编译失败遗留下来的,把这个包删了重新解压配置一边

然后再重新编译
在这里插入图片描述
编译好后就可以安装了

make install

在这里插入图片描述
然后测试一下
在这里插入图片描述


http://www.ppmy.cn/news/455370.html

相关文章

解决小米等手机ADB连接不上的问题

默认情况下,小米/红米手机禁止通过adb安装应用,会报INSTALL_FAILED_USER_RESTRICTED错误。 以下操作基于红米Note4X MIUI9.6版本 操作步骤 进入开发者模式 位置:设置->我的设备->全部参数 连续点击五次MIUI版本,进入开发…

小米11pro什么时候发布 小米11pro参数配置

据爆料小米11pro有可能会在2021年1月份发布,新旗舰有望在高通骁龙技术峰会之后官宣,值得期待。 小米手机爆降600 这活动太给力了 机会不容错过 https://www.xiaomi.com.cn 小米11 Pro采用的是一块6.77英寸的曲面屏,左上角单孔设计&#xff0…

(最详细)小米Note 2的usb调试模式在哪里开启的教程

当我们使用安卓手机链接Pc的时候,或者使用的有些工具比如我们学院营销团队当使用的工具引号精灵,之前使用的老版本就需要开启USB开发者调试模式下使用,现当新版本不需要了,如果手机没有开启USB开发者调试模式,Pc则无办…

小米在B站,跟1500万年轻人聊了啥?

“我有能力把稻草卖成金条。” 2015年,一位被推荐到小米的“牛人”,对小米创始人雷军夸下海口。 然而,尽管对方的简历近乎完美,但还是被拒绝了。雷军的理由是,对方跟小米的价值观不相符——小米不喜欢骗用户的人。 …

小米登录协议分析_520小米抢购HTTP协议分析

首现是这次抢到的结果(看来我不适合做黄牛) 下面是整个过程的HTTP通信协议分析: 每个手机都有一个编号比如:、 note联通 2141800009 note 移动增强 2141800008 note 移动标准 2141200012 1s 移动 灰 2141600006 1s 联通 灰 2141600007 选择…

红米note9pro刷鸿蒙,红米Note10Pro:正式说你好,红米Note9Pro:彻底说再见!

原标题:红米Note10Pro:正式说你好,红米Note9Pro:彻底说再见! 预热已久的红米Note10系列终于正式发布了,对于消费者来说,这真的是一则好消息,同时也会千元市场带来了不小的压力。 而今天我们重点来和大家聊一聊红米Note10Pro和红米 Note9Pro的对比情况,毕竟两款机型属于…

小米note2不上Android9吗,小米5S/Note 2配置揭底:不用曲面屏

小米5真机图赏:硬件全面升级手感佳 相比之前的产品小米5在参数性能上有了巨大升级,骁龙820处理器、1600万像素主摄像头、正面按压式指纹识别等旗舰配置一应俱全,同时在外观设计上的突破也让我们眼前一亮,加入了陶瓷工艺后壳材质&a…

React--》学习Lodash:让你的JS代码更加优雅和易于阅读

此时隔壁 vue专栏 正在项目实战,为了不打断它的文章连续性,我们把lodash的讲解文章搬到react专栏来进行学习,当然是否用框架或用什么框架都不会影响我们学习的恒心! 目录 初识Lodash 操作数组方法 操作语言方法 操作数学方法…