软件包管理

来源:互联网 发布:tag标签自动获取seo 编辑:程序博客网 时间:2024/06/09 14:38

1          软件包管理简介

        1.1         软件包分类

                1.1.1    源码包(C语言源代码包)

                             脚本安装包(基于源码包开发的安装界面)

                1.1.2    二进制包(CentOS中用RPM包、系统默认包)

        1.2         源码包

                1.2.1    源码包优点

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

                             可以自由选择所需的功能

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

                             卸载方便

        1.2.2    源码包缺点

                            安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误

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

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

        1.3         RPM包

                1.3.1    二进制包优点

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

                            安装速度比源码包安装快得多

                1.3.2    二过制包缺点

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

                            功能选择不如源码包灵活

                            依赖性


2          RPM包命令管理

        2.1         包命名与依赖性

                2.1.1    RPM包命名原则

                            httpd-2.2.15-15.el6.centos.1.i686.rpm        软件包全名

                            httpd              软件包名

                            2.2.15            软件版本

                            15                    软件发布的次数

                            el6.centos     适合的硬件平台

                            rpm                 rpm包扩展名

                2.1.2    RPM包依赖性

                            树形依赖      a -> b -> c

                            环形依赖      a->b-> c -> a

                            模块依赖      www.rpmfind.net

        2.2         安装升级与卸载

                 2.2.1    包全名与包名

                            包全名:操作的包是没有安装的软件包时用包全名,注意路径

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

                2.2.2    RPM安装

                            rpm –ivh 包全名

                            选项:-i (install) 安装

                                        -v (verbose) 显示详细信息

                                        -h (hash) 显示进度

                                        --nodeps 不检测依赖性

                            按提示先解决依赖性,若有模块依赖则在rpmfind中查询解决

                2.2.3    RPM包升级

                            rpm –Uvh 包全名

                            选项:-U (upgrade) 升级

                2.2.4    RPM包卸载

                            rpm –e 包名

                            选项:-e (erase) 卸载

        2.3         RPM查询

                2.3.1    查询是否安装

                            rpm -q 包名

                            选项:-q (query) 查询

                                        -a (all) 所有

                            查询所有已经安装的RPM包

                            rpm -qa

                2.3.2    查询软件包详细信息

                            rpm –qi 包名

                            选项:-i (information) 查询软件信息

                                         -p (package) 查询未安装包信息

                                        查询未安装包软件信息要加包全名

                2.3.3    查询包中文件安装位置

                            rpm –ql 包名

                            选项:-l (list) 列表

                                         -p (package) 查询未安装包信息

                2.3.4    查询系统文件属于哪个RPM包

                            rpm –qf 系统文件名

                            选项:-f (file) 查询系统文件属于哪个软件包

                2.3.5    查询软件包的依赖性

                            rpm –qR 包名

                            选项:-R (requires) 查询软件包的依赖性

                                         -p (package) 查询未安装包信息

        2.4         RPM包校验和文件提取

                2.4.1    RPM包校验

                            rpm –V 已安装的包名

                            验证内容中9个信息具体内容

                                    S       文件大小是否改变

                                    M     文件类型或文件权限是否被改变

                                    5       文件MD5校验是否改变(可看成文件内容是否改变)

                                    D      设备的代码是否改变

                                    L       文件路径是否改变

                                    U      文件所有者是否改变

                                    G      文件的所有组是否改变

                                    T       文件的修改时间是否改变

                            文件类型

                                   c       配置文件(config file)

                                   d       普通文档(documentation)

                                   g       “鬼”文件(ghost file),很少见,就是文件不应该被这个RPM包包含

                                    l        授权文件(license file)

                                    r        描述文件(read me)

                2.4.2    RPM包中文件提取

                                rpm2cpio 包全名 | \ cpio –idv .文件绝对路径

                                cpio是 一个标准工具,用于创建软件档案文件和从档案文件中提取文件

                                \  换行符,一般情况下软件包全名较长,一行写不下

                               .  把指定的文件提取到当前目录

                                       cpio选项 < [文件|设备]

                                       选项:-i            copy-in模式,还原

                                                  -d          还原时自动新建目录

                                                  -v           显示还原过程


3          yum在线管理

        3.1         IP地址配置和网络yum源

                3.1.1    IP地址配置 setup

                3.1.2    vi/etc/sysconfig/network-scripts/ifcfg-eth0

                                ONBOOT=”yes”

                3.1.3    重启网络服务

                                service network restart

                3.1.4    ifconfig 查看即可

        3.2         网络yum源

                3.2.1    vi/etc/yum.repos.d/CentOS-Base.repo

                                [base]             容器名称,一定要放在[ ]中

                                name             容器说明,可以自行注释

                                mirrorlist       镜像站点,这个可以注释掉

                                baseurl           yum源服务器地址,默认是CentOS官方yum源服务器,可改

                                enabled         此容器是否生效,如果不写或写成enable=1都是生效,=0不生效

                                gpgcheck       如果是1指RPM数字证书生效,0则不生效

                                gpgkey           数字证书的公钥文件保存位置,不用修改

        3.3         yum命令

                                yum list                             查询所有可用软件包列表

                                yum search   关键字     搜索服务器上所有和关键字相关的包

                                yum –y install 包名      安装

                                           -y               自动回答yes

                                           install        安装

                                yum –y update 包名    升级

                                           update     升级

                                yum –y remove 包名   卸载

                                           remove    卸载

                                yum grouplist                  列出所有可用的软件包组列表

                                yum groupinstall   软件组名         安装指定软件组

                                                              若组名有空格则组名用””括起来

                                yum groupremove 软件组名      卸载指定软件组

        3.4         光盘yum源

                3.4.1    先挂载光盘 mount /dev/cdrom /mnt/cdrom

                3.4.2    cd /etc/yum.repos.d

                3.4.3    让其他.repo文件不生效,保留CentOS-Meia.repo

                3.4.4    修改光盘yum源文件


4          源码包与RPM包的区别

        4.1         区别

                        安装之前的区别:概念上的区别

                        安装之后的区别:安装位置不同

        4.2         RPM包默认安装位置

                        /etc/                        配置文件安装目录

                        /usr/bin/                  可执行命令安装目录

                        /usr/lib/          程序所使用的函数库保存位置

                        /usr/share/doc/     基本的软件使用手册保存位置

                        /usr/share/man/   帮助文件保存位置

        4.3         源码包安装位置

                        安装在指定位置当中,一般是/usr/local/软件名/

        4.4         安装位置不同带来的影响

                        RPM包安装的服务可以使用系统服务管理命令(service)来管理

                        例如RPM包安装的apache的启动方法是:/etc/rc.d/init.d/httpd start

                                                                                                  servicehttpd start


5          源码包安装过程

        5.1         安装准备

                5.1.1    安装C语言编译器

                5.1.2    下载源码包http://mirror.bit.edu.cn/apache/httpd/

        5.2         安装注意事项

                5.2.1    源代码保存位置:/usr/local/src/

                5.2.2    软件安装位置:/usr/local

                5.2.3    如何确定安装过程报错:安装停止且出现error、warning、no等提示

        5.3         解压缩下载的源码包

                5.3.1    tar –zxvf 包全名

        5.4         进入解压缩目录

                5.4.1    cd 解压目录

                5.4.2    ./configure    软件配置与检查

                        5.4.2.1   定义需要的功能选项

                                ./configure - -prefix=/usr/local/apache2

                        5.4.2.2   检测系统环境是否符合安装要求

                        5.4.2.3   把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑

                5.4.3    make     编译

                        5.4.3.1   若有错误则可清空编译产生的临时文件 make clean

                5.4.4    make install  安装


6          脚本安装包

        6.1         介绍

                脚本安装包并不是独立的软件包类型,常见安装的是源码包

                是人为把安装过程写成了自动安装的脚本,只要执行,定义简单参数,就可以完成安装

                非常类似于windows下软件的安装方式

        6.2         安装

                前面步骤与安装源码包一致

                找到.sh脚本进行安装即可

1 0