|NO.Z.00023|——————————|LinuxBasicEnd|——|Linux&软件包安装.V02|

一、软件包安装
### --- 软件包分类

~~~     源码包
~~~     二进制包
~~~     脚本安装包
二、 源码包
### --- 源码包什么样

[root@localhost ~]# vim hello.c
#include <stdio.h>
int main (void)
{
printf ("hello world\n");
}
~~~     -c 生成“.o”头文件。这里会生成 hello.o 头文件,但是不会生成执行文件

[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/gcc-4.4.6-4.el6.i686.rpm
[root@localhost ~]# gcc -c hello.c
~~~     -o 生成执行文件,并制定执行文件名。这里生成的 hello 就是可执行文件
[root@localhost ~]# gcc -o hello hello.o
 
~~~     执行 hello 文件
[root@localhost ~]# ./hello
hello world

三、源码包特点

### --- 源码包的优点是:

~~~     开源,如果有足够的能力,可以修改源代码
~~~     可以#自由选择所需的功能
~~~     软件是编译安装,所以更加适合自己的系统,#更加稳定也效率更高
~~~     卸载方便
### --- 源码包有缺点吗?

~~~     #安装过程步骤较多,
~~~     尤其安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误
~~~     #编译过程时间较长,安装比二进制安装时间长
~~~     因为是编译安装,#安装过程中一旦报错新手很难解决

四、二进制包

### --- 二进制包分类
### --- DPKG 包:
~~~     是由 Debian Linux 所开发出来的包管理机制,通过 DPKG 包,
~~~     Debian Linux就可以进行软件包管理。主要应用在 Debian 和 unbuntu 中。

### --- RPM 包:
~~~     是由 Red Hat 公司所开发的包管理系统。
~~~     功能强大,安装、升级、查询和卸载都非常简单和方便。
~~~     目前很多 Linux 都在使用这种包管理方式,包括 Fedora、CentOS、SuSE 等。
~~~     我们学习的是CentOS 6.3,所以我们将要学习 RPM 包管理系统
 
### --- 特点
### --- RPM 包的优点:
~~~     包管理系统简单,只通过几个命令就可以实现包的安装、升级、
~~~     查询和卸载安装速度比源码包安装快的多

### --- RPM 包的缺点:
~~~     经过编译,不再可以看到源代码
~~~     功能选择不如源码包灵活
~~~     依赖性。有时我们会发现需要安装软件包 a 时需要先安装 b 和 c,
~~~     而安装 b 时需要安装d 和 e。这是需要先安装 d 和 e,
~~~     再安装 b 和 c,最后才能安装 a 包。
~~~     比如说,我买了个漂亮的灯具,打算安装到我们家客厅,
~~~     可是在安装灯具之前我们家客厅总要有顶棚吧,
~~~     顶棚总要是做好了防水和刷好油漆了吧,
~~~     这个装修和安装软件其实类似总要有一定的顺序的。可是有时依赖性会非常繁琐
 
### --- 软件包选建议

### --- 源码包:
~~~     如果服务时给大量客户端提供访问的,建议使用源码包,源码包效率更高(LAMP)
### --- RPM包:
~~~     如果程序是少量用户访问,或者本地使用的,建议RPM包,因为RPM管理方便。
 
### --- RPM包依赖
### --- 安装muysql的远程连接工具
~~~     树形依赖        a---->b---->c
~~~     环形依赖        a---->b---->c---->a                     // 把abc三个包同时安装,即可解决
~~~     函数库依赖
~~~     什么是模块依赖?我们举一个例子,尝试安装以下文件:

[root@localhost Packages]# rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm
~~~     错误:依赖检测失败:
libodbc.so.2()(64bit) 被 mysql-connector-odbc-5.2.5-7.el7.x86_64 需要
libodbcinst.so.2()(64bit) 被 mysql-connector-odbc-5.2.5-7.el7.x86_64 需要
 
### --- 安装依赖包
### --- 发现报错,需要安装“libodbc.so.2”函数库文件,这时会发现在光盘中根本找不到这个文件。
~~~     那是因为函数库没有单独成包,是包含在某一个软件包中的。
~~~     而如果要知道在哪个软件包中,需要查询网站

[root@server11 ~]# cd /mnt/cdrom/Packages/
[root@server11 Packages]# rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm
error: Failed dependencies:
    libodbc.so.2()(64bit) is needed by mysql-connector-odbc-5.2.5-7.el7.x86_64      // 缺失文件
    libodbcinst.so.2()(64bit) is needed by mysql-connector-odbc-5.2.5-7.el7.x86_64  // 确实文件
 
### --- www.rpmfind.net,如图:

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(24)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示