美文网首页基础整理
(六)软件包管理

(六)软件包管理

作者: littlexjing | 来源:发表于2017-01-19 20:07 被阅读0次

    第一节 软件包管理简介

    1.软件包分类

    1)源码包

    脚本安装包

    2)二进制包

    系统默认包,对于redhat系列是rpm包,对于debian系列是deb包

    2.源码包的优点

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

    可以自由选择所需的功能

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

    卸载方便

    3.源码包的缺点

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

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

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

    4.二进制包的优点

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

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

    5.二进制包的缺点

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

    功能选择不如源代码灵活

    依赖性


    第二节 RPM包管理-rpm命令管理

    1.RPM包命名规则

    httpd-2.2.15-15.e16.centos.1.i686.rpm

    httpd               软件包名

    2.2.15             软件版本

    15                    软件发布次数

    el6.centos      适合的Linux平台

    i686                 适合的硬件平台

    rpm                   rpm包扩展名

    2.RPM包依赖性

    树形依赖:a->b->c

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

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

    3.包全名与包名

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

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

    4.RPM包安装

    rpm -ivh 包全名

    选项:

    -i(install)          安装

    -v(verbose)     显示详细信息

    -h(hash)          显示进度

    --nodeps         不检测依赖性

    5.RPM包升级

    rpm -Uvh 包全名

    选项:

    -U (upgrade)            更新

    6.RPM包卸载

    rpm -e 包名

    选项:

    -e(erase)                   卸载

    --nodeps                   不检测依赖性

    7.RPM包查询

    1)查询是否安装

    rpm -qa  包名

    选项:

    -q(query)                      查询

    -a(all)                            所有

    2)查询软件包详细信息

    rpm -qi  包名

    选项 :

    -i(information)               查询软件信息

    -p(package)                  查询未安装包信息(后面加包全名)

    3)查询包中文件安装位置

    rpm -ql 包名

    选项:

    -l(list)                               列表

    -p(package)                    查询未安装包信息(后面加包全名)

    注意安装位置和文件信息是组建包的时候就确定好的,所以可以查询未安装的包。

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

    rpm -qf 系统文件名

    选项 :

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

    5)查询软件包的依赖性

    rpm -qR 包名

    选项 :

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

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

    8.RPM包校验

    rpm -V 已安装的包名

    选项:

    -V(verify)                          校验指定RPM包中的文件

    验证内容中的8个信息的具体内容如下

    S 文件大小是否改变

    M 文件类型或文件的权限(rwx)是否被改变

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

    D 设备的代码是否改变

    L 文件路径是否改变

    U 文件的属主(所有者)

    G 文件的属组(所属组)是否改变

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

    文件类型的对应

    c 配置文件(config file)

    d 普通文档(documentation)

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

    l 授权文件(license file)

    r 描述文件(read me)

    9.RPM包中文件提取(主要用于修补误删除的文件)

    rpm2cpio 包全名 | cpio -idv . 文件绝对路径  从相应的软件包中提取文件保存至当前目录下

    rpm2cpio 将rpm包转换为cpio格式的命令

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

    cpio 选项 <[文件|设备]>

    选项 :

    -i                                   copy-in模式,还原

    -d                                  还原时自动新建目录

    -v                                  显示还原过程

    命令实例

    rpm -qf /bin/ls              查询ls命令属于哪个软件包

    mv /bin/ls /tmp/           造成ls命令误删除的假象

    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls        提取RPM包中ls命令到当前目录的/bin/下

    cp /root/bin/ls /bin/             把ls命令复制到/bin/目录下,修复丢失文件


    第三节 RPM包管理-yum在线命令管理

    1.IP地址配置

    setup  使用setup工具

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

    将ONBOOT="no"改为ONBOOT="yes"

    service network restart

    2.网络yum源

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

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

    name                        容器说明,可以自己随便写

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

    baseurl                     我们的yum源服务器地址,默认是CentOS官方的yum源服务器,是可以使用的,如过觉得慢可以改成喜欢的yum源地址

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

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

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

    3.常用yum命令(yum命令中无包名和全名相关的命令)

    1)查询

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

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

    2)安装

    yum -y install 包名

    选项:

    install                          安装

    -y                                 自动回答yes

    3)升级(轻易不要使用,容易宕机)

    yum -y update 包名

    选项:

    update                          升级

    -y                                   自动回答yes

    4)卸载(轻易不要使用,容易宕机)

    yum -y remove 包名

    选项: 

    remove                          卸载

    -y                                    自动回答yes

    注意:尽量最小化安装,不要使用yum更新和卸载,容易出问题

    5)yum软件组管理命令

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

    yum groupinstall         安装指定的软件组,组名可以由grouplist查询出来

    yum groupremove       卸载指定软件组

    4.光盘yum源搭建

    光盘yum源搭步骤

    1)挂载光盘

    mount /dev/cdrom /mnt/cdrom/

    2)让网络yum源失效

    cd /etc/yum.repos.d/

    mv CentOS-Base.repo CentOS-Base.repo.bak

    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

    mv CentOS-Vault.repo CentOS-Valut.repo.bak

    3)修改光盘yum源文件

    vim CentOS-Media.repo

    [c6-media]

    name=CentOS-$releasever - Media

    baseurl=file://mnt/cdrom     地址为光盘挂载点地址

    # file:///media/cdrom/           注释这两个不存在地址

    # file:///media/cdrecorder/

    gpgcheck=1

    enabled=1      将enabled=0改为enabled=1,让这个yum源配置文件生效

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


    第四节 源码包安装管理

    1.区别

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

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

    2.RPM包安装位置

    安装在默认位置中

    /etc/                                 配置文件安装目录

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

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

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

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

    3.源码包安装位置

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

    4.安装位置不同带来的影响

    RPM包安装的服务可以使用系统服务管理命令service来管理,例如RPM包安装apache的启动方法是

    /etc/rc.d/init.d/httpd start           手动启动

    service httpd start                      智能启动

    service到默认的安装路径中寻找并执行相关文件,是服务管理命令

    注意:源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认的路径中,所以只能用绝对路径进行服务管理

    /usr/local/apache2/bin/apachectl start

    5.安装准备

    安装C语言编译器

    下载源码包

    6.安装注意事项

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

    软件安装位置 /usr/local

    如何确定安装过程报错 安装过程停止,并出现error,warning或no的提示

    7.源码包安装过程

    解压缩下载的源码包

    进入解压缩目录

    两个关键文件:INSTALL 安装说明文件 README 使用说明文件

    ./configure 软件配置与检查

    定义需要的功能选项

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

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

    make                             编译

    make clean                  清空产生的临时文件

    make install                 编译安装

    源码包的卸载 不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件

    8.脚本安装包

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

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

    非常类似与Windows下软件安装方式

    9.Webmin的作用

    Webmin是一个基于Web的linux系统管理界面,您可以通过图形化的方式设置用户帐号,Apache,DNS,文件共享等服务

    10.Webmin安装过程

    下载软件

    解压缩,并进入解压缩目录

    执行安装脚本

    相关文章

      网友评论

        本文标题:(六)软件包管理

        本文链接:https://www.haomeiwen.com/subject/lhnibttx.html