Linux软件包管理——简介

课程大纲:

一、软件包管理简介

常识:Linux和Windows中的软件包一般不能通用,比如wpsy

1、软件包分类:

源码包:源代码直接开放提供给用户的包,多数源码包都是c语言,也有部分是c++写的源码包。特点:安全稳定、开源、可定

制、不方便安装、耗时间。

     > 脚本安装包:一般厂商为了方便自家软件推广,方便用户安装使用,源码基础上,添加了脚本(简化安装过程)。即相当于

源码+安装脚本。

二进制包(RPM包、系统默认包):当前Linux上最常见的安装的软件都是二进制包,二进制包是对源码进行编译处理之后的01

的机器语言包。特点:方便 安装、无法看到源码、不方便再做定制处理(反编译比较困难,一般都做了代码混淆安全处理——防

止反编译),安装快,节约时间;  

Red Hat系列的Linux和daibing 和Ubuntu系列之间的一个最大的区别是二进制包的类型不一样,所以包的管理方式不一样,其他基本上差距不大

      Red Hat系列的软件包,编译处理后的包是RPM格式的包;

      Ubuntu系列和其他的软件包,编译处理后的包是deb包;

扩展:Windows中的软件安装包都是编译处理之后的,看不到源码,格式为exe.

            Linux安装光盘,解压之后,一般会在package目录下,存在大量以rpm为后缀的软件包。

            .so.数字  格式 结尾的包,一般是库依赖包,欲安装该库依赖包,需要先安装该库依赖包所在的软件包。

总结:

源码包:

    1、开源,如果有足够的能力,可以修改源代码;

    2、可以自由选择所需的功能;

    3、软件是编译安装,所以更适合自己的系统,更加稳定,效率也更高;

    4、卸载方便(指的是和Windows相比,Linux卸载时,可以直接把该软件安装的文件夹删掉就好了,不会有垃圾残留。)

   缺点:

      安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

      编译过程时间较长,安装比二进制安装时间长;

      因为是编译安装,安装过程中一旦报错新手很难解决。

扩展:当前zhentu linux仍然在使用源码包安装,安装时间需要三天。

二进制包:

优点:

      包管理系统简单,只通过几个命令就可以实现软件包的安装、升级、查询和卸载;

      安装速度比源码包安装快的多;

缺点:

        经过编译,不再可以看到源代码;

        功能选择不如源码包灵活;

        依赖性:如果安装时,安装a时,需要先安装b,安装b时需要先安装c,则卸载时顺序相反,卸载时要先卸载a,再卸载b,最后卸载c

二、RPM包管理——rpm命令管理

      rpm包有两种安装管理方式,一个是手动命令安装,另一个是yum在线管理。这两种方式种,后者更智能,自动进行,避免了安装包依赖寻找的麻烦。

1、RPM包命名原则

  httpd-2.2.15-15.el6.centos.1.i686.rpm    软件包全名(只有在命令包管理方式安装和升级时,才会使用包全名,其他地方一般都是用简单的软件包名)

httpd         软件包名

2.2.15       软件版本

15              软件发布的次数

el6.centos    适合的Linux平台

i686            适合的硬件平台  指的是686的微机平台上,但是如果这里是x64,则只能安装在64位的机器上使用

rpm             rpm包扩展名,Linux没有扩展名之说,但是一般习惯,方便包管理,有助于管理员识别。

2、RPM包依赖性:安装一个软件包,该包依赖很多其他包,需要先成功安装完其依赖包,才能成功安装目标软件包

1)树形依赖 :a——》b——》c

2)环形依赖:a——》b——》c——》a

3)模块依赖:模块依赖查询网站:www.rpmfind.net       

RPM命令管理——安装升级与卸载

3  包全名与包名:

包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径;

包名:   操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库;

4、RPM安装:

rpm  -ivh  包全名    :一般安装软件时,都会使用这三个选项

选项:  

     -i (install)   安装

     -v (verbose)显示详细信息

     -h (hash)    显示进度

     -- nodeps       不检测依赖性   (注意该选项在安装时绝对不要使用,因为如果除去对依赖的检测,即使软件包成功安装,一旦缺少依赖包,则仍然不能正常使用,所以该选项仅仅限于学习时的实验环境下,自行了解使用)

先解压光盘,进入packages目录中,可以看到所有的rpm包,在package目录中打开命令终端窗口,或者安装时要保证系统能进入该目录,才能执行安装、升级和卸载操作

安装过程:

1)先挂载光盘

2)确认光盘是否挂载。直接 mount命令+回车;

3)进入packages目录。cd  ***/packages/        如果不进入package目录,后续需要使用绝对路径到该目录下才可

4)执行安装命令:  rpm -ivh httpd-  在此按下Tab键自动补全

到此,自行体验了一把,具体过程附图到此

-rw-r--r--. 1 root root    30736 6月  20 19:43 yum-plugin-tmprepo-1.1.30-41.el6.noarch.rpm
-rw-r--r--. 1 root root    35640 6月  20 19:43 yum-plugin-verify-1.1.30-41.el6.noarch.rpm
-rw-r--r--. 1 root root    33248 6月  20 19:43 yum-plugin-versionlock-1.1.30-41.el6.noarch.rpm
-rw-r--r--. 1 root root    32336 7月   3 2011 yum-presto-0.6.2-1.el6.noarch.rpm
-rw-r--r--. 1 root root   116112 6月  20 19:43 yum-utils-1.1.30-41.el6.noarch.rpm
-rw-r--r--. 1 root root    22792 7月   3 2011 zd1211-firmware-1.4-4.el6.noarch.rpm
-rw-r--r--. 1 root root  2767424 7月   3 2011 zenity-2.28.0-1.el6.x86_64.rpm
-rw-r--r--. 1 root root   264988 11月 10 2015 zip-3.0-1.el6_7.1.x86_64.rpm
-rw-r--r--. 1 root root    74568 2月  24 2013 zlib-1.2.3-29.el6.x86_64.rpm
-rw-r--r--. 1 root root    44984 2月  24 2013 zlib-devel-1.2.3-29.el6.x86_64.rpm
-rw-r--r--. 1 root root  2345144 6月  20 19:43 zsh-4.3.11-8.el6.centos.x86_64.rpm
[root@localhost Packages]# rpm -ivh httpd-
httpd-2.2.15-69.el6.centos.x86_64.rpm         httpd-manual-2.2.15-69.el6.centos.noarch.rpm
httpd-devel-2.2.15-69.el6.centos.x86_64.rpm   httpd-tools-2.2.15-69.el6.centos.x86_64.rpm
[root@localhost Packages]# rpm -ivh httpd-2.2.15-69.el6.centos.x86_64.rpm 
warning: httpd-2.2.15-69.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
	package httpd-2.2.15-69.el6.centos.x86_64 is already installed
[root@localhost Packages]# rpm -ivh ht
htdig-3.2.0-0.10.b6.el6.x86_64.rpm            httpd-manual-2.2.15-69.el6.centos.noarch.rpm
httpd-2.2.15-69.el6.centos.x86_64.rpm         httpd-tools-2.2.15-69.el6.centos.x86_64.rpm
httpd-devel-2.2.15-69.el6.centos.x86_64.rpm   
[root@localhost Packages]# rpm -ivh httpd-manual-2.2.15-69.el6.centos.noarch.rpm 
warning: httpd-manual-2.2.15-69.el6.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:httpd-manual           ########################################### [100%]
[root@localhost Packages]# rpm -ivh httpd-devel-2.2.15-69.el6.centos.x86_64.rpm 
warning: httpd-devel-2.2.15-69.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
	apr-devel is needed by httpd-devel-2.2.15-69.el6.centos.x86_64
	apr-util-devel is needed by httpd-devel-2.2.15-69.el6.centos.x86_64
[root@localhost Packages]# rpm -ivh apr-devel-1.3.9-5.el6_9.1.x86_64.rpm 
warning: apr-devel-1.3.9-5.el6_9.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:apr-devel              ########################################### [100%]
[root@localhost Packages]# rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm 
warning: apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
	expat-devel is needed by apr-util-devel-1.3.9-3.el6_0.1.x86_64
	openldap-devel is needed by apr-util-devel-1.3.9-3.el6_0.1.x86_64
[root@localhost Packages]# rpm -ivh ex
exempi-2.1.0-5.el6.x86_64.rpm          expat-devel-2.0.1-13.el6_8.x86_64.rpm
exiv2-libs-0.18.2-2.1.el6.x86_64.rpm   expect-5.44.1.15-5.el6_4.x86_64.rpm
expat-2.0.1-13.el6_8.x86_64.rpm        
[root@localhost Packages]# rpm -ivh expat-devel-2.0.1-13.el6_8.x86_64.rpm 
warning: expat-devel-2.0.1-13.el6_8.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:expat-devel            ########################################### [100%]
[root@localhost Packages]# rpm -ivh openldap-devel-2.4.40-16.el6.x86_64.rpm 
warning: openldap-devel-2.4.40-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
	cyrus-sasl-devel >= 2.1 is needed by openldap-devel-2.4.40-16.el6.x86_64
[root@localhost Packages]# rpm -ivh cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64.rpm 
warning: cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:cyrus-sasl-devel       ########################################### [100%]
[root@localhost Packages]# rpm -ivh openldap-devel-2.4.40-16.el6.x86_64.rpm 
warning: openldap-devel-2.4.40-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:openldap-devel         ########################################### [100%]
[root@localhost Packages]# rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm 
warning: apr-util-devel-1.3.9
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值