Linux软件安装管理全过程课件

Linux软件安装管理全过程课件是慕课网Tony老师的视频课程,本课件是学习资料,都是经过实测修改并备注注意事项的参考资料。在前面的笔记中讲解了如何安装Linux及使用一些辅助工具进行管理Linux,也讲解了Linux的基础操作命令,我们学习Linux是为了使用它,所以我们就像使用电脑一样,我们要对电脑安装一些相关软件,因此,这个课程就是教导你如何在Linux上安装软件,非常重要的课程。

如何在Linux字符界面下安装软件?
课程目的:学习Linux中最基本的软件安装方法
一、软件包管理简介
1、软件包分类
源码包
(脚本安装包)
二进制包(RPM包、系统自带的默认包)(二进制包是适合Windows的安装包)
2、源码包
源码包优点:
❶、开源,可以修改;
❷、可以自由选择所需的功能;
❸、软件是编译安装,更适合系统,更稳定,效率更高;
❹、卸载方便;
源码包缺点:
①、安装步骤多,尤其安装较大的软件合集(如LAMP环境搭建),容易拼写错误
②、编译过程时间较长,安装比二进制安装时间长
③、由于是编译安装,报错新手很难解决
因此源码包不适合初学者
3、二进制包(RPM包)
二进制包的优点:
●包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
●安装速度比源码包快
二进制包的缺点:
●经过编译,看不到源代码
●功能选择性不如源代码包灵活
●依赖性
如果是给众多人使用,建议安装源码包;用的人不多可以安装RPM包;
4、脚本安装包:就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但实际安装的还是源码包或者二进制包。
    优点:安装简单、快捷             缺点:完全丧失了自定义性
二、rpm命令管理
1、RPM包命名规则
       ❶、RPM包的来源
           RPM包在系统光盘中的packages中
       ❷、RPM包命名原则
           httpd-2.2.15-15.el6.centos.1.i686.rpm
           httpd   软件包名
           2.2.15  软件版本
           15     软件发布次数
           el6.centos  适合的Linux平台
           i686    适合的硬件平台,X64代表适合64位系统
           rpm    rpm包扩展名
       ❸、RPM包依赖性
           树形依赖:a→b→c
           环形依赖:a→b→c→a
           模块依赖:库文件(函数文件)依赖,查询网站:www.rpmfind.net
2、安装命令
       ①、包全名与包名
            包全名:操作的包是没有安装过的软件包,使用包全名,在当前安装包目录下进行安装或者进入绝对路径。
            包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库
            注释:安装软件得先让Linux找到包,或者是在包目录下
       ②、RPM安装
           rpm ivh 包全名
           选项:
           -i      (install) 安装
           -v     (verbose)显示详细信息
           -h      (hash)显示进度
           --nodeps   不检测依赖性,在实际服务器上面不能使用,逗自己玩啊
           RPM安装没有指定安装位置,默认安装位置是作者指定,找起来也比较麻烦,如果卸载起来就得先找到位置,因此才产生卸载命令,不管位置直接卸载。
       ③、尝试安装一个软件包;看到依赖性很强。安装过程略过。
3、升级与卸载
       升级(对于系统来说升级的包也是新包,所以用包全名)与卸载
           rpm -Uvh 包全名        -U (upgrade) 升级  ,这个也可以安装安装包
           rpm -e 包名   -e (erase)卸载  --nodeps 不检查依赖性,实际也不允许使用
       卸载是安装的逆顺序
4、RPM包查询
       ❶、查询是否安装
           rpm -q 包名         # -q(query)查询包是否安装
           rpm -qa             # -a (all) 查询所有已经安装的RPM包
           例如:rpm -qa | grep httpd     用这个还可以查询主包相关的其他包
       ❷、查询软件包详细信息
           rpm -qi 包名
           -i  查询软件信息(information)    -p  查询未安装包信息(package)
           例如:rpm -qi httpd      rpm -qip zlib-1.2.3-27.el6.i686.rpm(在安装包目录中)
       ❸、查询包中文件安装位置
           rpm -ql 包名
           -l   列表(list)    -p 查询未安装包信息(package)
       RPM包默认安装位置(默认安装路径)
            /etc/              配置文件安装目录
            /usr/bin/           可执行的命令安装目录
            /usr/lib/            程序所使用的函数库保存位置
            /usr/share/doc/     基本的软件使用手册保存位置
            /usr/share/man/     帮助文件保存位置
            因此手工删除很麻烦,用卸载命令就非常方便
       ❹、查询系统文件属于哪个RPM包(文件必须是包释放的)
           rpm -qf 系统文件名       #查询系统文件属于哪个软件包(file)
       ❺、查询软件包的依赖性
           rpm -qR 包名
           -R  查询软件包的依赖性(requires)   -p  查询未安装包信息(package)
           查询结果得到的意义不大(不如报错更清晰)
5、RPM包校验:校验安装包是否原版
       rpm -V 已安装的包名     
           -V                   #校验指定RPM包中的文件(verify)
       假设文件被修改过,对比下面可知道改了哪里以及最后一个文件类型
       验证内容中的8个信息的具体内容如下:
       S      文件大小是否改变
       M      文件的类型或文件的权限(rwx)是否改变
       5      文件MD5校验和是否改变(可以看成文件内容是否改变)
       D      设备的主从代码是否改变
       L      文件路径是否改变
       U      文件的属主(所有者)是否改变
       G      文件的属组是否改变
       T      文件的修改时间是否改变
       文件类型
       c      配置文件(config file)
       d      普通文档(documentation)
       g      ghost文件(),原本没有的文件
       l      授权文件(license file)
       r      描述文件(read me)
     6、RPM包中文件提取
       rpm2cpio 安装包路径包全名 | cpio -idv .文件绝对路径
       rpm2cpio   #将rpm包转换为cpio格式的命令
       2          to,一个格式到另一个格式
       cpio       #一个标准工具,用于创建软件档案文件和从档案文件中提取文件
   或者使用cpio [选项] < [文件|设备]
             -i      copy-in模式,还原
             -d      还原时自动新建目录
             -v      显示还原过程
        例如:
        提取的话首选查询需要的文件(ls命令)属于哪个软件包
        rpm -qf /bin/ls
        造成ls命令误删的假象
  rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
        提取RPM包中ls命令到当前目录下的/bin/ls下,(光盘目录下无法执行)
        cp /root/bin/ls /bin/
        把ls命令复制到/bin/目录,修复丢失文件   
三、yum在线管理(所有软件包放到官方服务器上,进行yum在线安装自动解决依赖性问题)
⑴、yum源文件
    cd /etc/yum.repos.d
    ls                       (CentOS-Base.repo文件默认生效,其他三个不生效)
    vi CentOS-Base.repo
    简介:vi /etc/yum.repos.d/CentOS-Base.repo     文件内容含义
    [base]        容器名称,一定要放在[]中,[]里面内容可随意更改
    name          容器说明,可以随便写
    mirrorlist    镜像站点,可以注释掉,也可以更改为国内站点
    baseurl       yum源服务器地址,默认是CentOS官方yum源服务器,可改
    enabled       不写或者enable=1 生效,=0不生效
    gpgcheck      如果是1指RPM数字证书生效,0为不生效,一般都生效
    gpgkey        数字证书的公钥文件保存位置,不用修改
⑵、光盘搭建yum源
    第一步:挂载光盘(打开虚拟机双击光驱,打开浏览文件点确定放入光盘)
    mkdir /mnt/cdrom                #建立挂载点
    mount /dev/cdrom /mnt/cdrom     #挂载光盘
    第二步:使网络yum源失效
    cd /etc/yum.repos.d/            #进入yum源目录
    mv CentOS-Base.repo CentOS-Base.repo.bak    #改名使其失效
    第三步:使光盘yum源生效
    vim CentOS-Media.repo
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom                 #改成现在的光盘挂载地址
    #   file:///media/cdrom/
    #   file:///media/cdrecorder/    #注释掉不存在的两个地址,否则报错
    gpgcheck=1
    enable=1                                  #让yum源配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
⑶、yum命令
    ①、常用yum命令
        查询:  yum list                 #查询所有可用软件包列表
                yum search 关键字        #搜索服务器上所有和关键字相关的包
        安装:  yum -y install 包名
                install                   #安装
                -y                        #自动回答yes
        例如:  yum -y install gcc     #gcc C语言编译器(建议安装gcc RPM包)
        升级:  yum -y update 包名     #前提是在包源里面有更高版本的包
                update                 #升级
                -y                     #自动回答yes
         注意:对于服务器来说升级需要停止服务,重启服务器(除非爆发了致命性错误,否则不建议进行升级,因为稳定最重要);如果yum -y update      没有添加包名,那么会升级所有的包,包括内核,升级后如果是远程服务器,没有做出及时反映(新内核需要人为配置后才能重新启动,这是Linux的漏洞),新内核和原有的内核都不能使用,系统会崩溃;
         卸载:  yum -y remove 包名
                 remove                 #卸载
         服务器最小化安装,软件需要就装,尽量不要卸载(卸载也有依赖性,卸载的可能会有被系统依赖的包,非常有可能会导致系统崩溃)
    ②、yum软件组管理命令(对于安装多个包的服务,可以用组来安装更为简便)
        yum grouplist                 #列出所有可用的软件组列表
        注意:这个可以查询出很多软件组列表,比如开发平台、语言支持、服务器程序,全部中文显示,但是下面安装是不能有中文的,而这里看不出来中文列表对应的英文名称,因此可以在服务器上执行一次这个命令。或者执行命令 LANG=en_US(LANG=zh_CN.utf8换回来)后,再执行这个命令用英文显示;
        yum groupinstall 软件组名     #安装指定软件组,组名由grouplist查询
        例如:yum groupinstall "Chinese Support"
        yum groupremove 软件组名      #卸载指定软件组
四、源码包管理
⑴、源码包和RPM包的区别
    ①、区别
        ※、安装之前的区别:概念上的区别
        ※、安装之后的区别:安装位置不同
    ②、RPM包安装位置(安装位置完全由作者定义,虽然可以定义安装位置但不建议)
        ※安装在默认位置中(RPM包默认安装路径如下,上面有写过)
        /etc/                    #配置文件安装目录
        /usr/bin/                #可执行的命令安装目录
        /usr/lib/                #程序所使用的函数库保存位置
        /usr/share/doc/          #基本的软件手册保存位置
        /usr/share/man/          #帮助文件保存位置
    ③、源码包安装位置(源码包没有卸载命令,需要记住位置手动删除)
        安装在指定位置当中,一般是 /usr/local/软件名/
    ④、安装位置不同带来的影响
        PRM包安装的服务是可以使用系统服务管理命令(service)来管理的,例如RPM包安装的Apache的启动方法是:
        /etc/rc.d/init.d/httpd start      #启动apache服务
        service httpd start               #同上,只能启动PRM安装的包服务
        源码包安装的服务不能被服务管理命令管理,因为没有安装到默认路径中,只能用绝对路径进行服务的管理,如:
        /usr/local/apache2/bin/apachectl start     #启动apache服务
⑵、源码包安装过程
    ①、安装准备
        ※、安装C语言编译器(上面已经介绍过)
        ※、下载源码包位置(http://mirror.bit.edu.cn/apache/httpd/)
        WinSCP工具传到虚拟机,同一个软件只要安装位置不同是可以再次安装的,但是启动只能选择其中一个(而阿帕奇是为多人服务的,最好是使用源码包进行安装)
    ②、安装注意事项
        ※、源代码保存位置:/usr/local/src/
        ※、软件安装位置:/usr/local/
        ※、如何确定安装过程报错:
            安装过程停止
            并出现error、warning或no的提示
    ③、源码包安装过程
        ※、下载源码包(已完成)
        ※、解压缩下载的源码包(tar -zxvf httpd-2.2.9.tar.gz)
        ※、进入解压缩目录(cd httpd-2.2.9)
        ※、./configure   
            #(使用是软件包命令,不是系统命令,大部分软件都有这个命令或类似命令)软件配置与检查(./ 当前目录下);这个配置与检查的作用是:
            ◎、定义需要的功能选项(使用命令 ./configure --help ,查询具体支持的各种功能选项,需要什么加上就可以了)
            ◎、检测系统环境是否符合安装要求
            ◎、把定义好的选项和检测系统环境信息写入Makefile文件,用于编辑
            .configure --prefix=/usr/local/apache2          #指定安装目录
        ※、make                   #进行编译(上述安装好后执行这个命令)
            make clean             #万一上述编译错误,执行清除便于重新开始
            make install           #编译安装(编译完成后执行正式安装)
            /usr/local/apache2/bin/apachect1 strat    #安装完成后启动程序
            停掉RPM安装的apache命令: service httpd stop
    注释:1、安装软件都需要查看安装说明,如果自己安装,按下面查看安装步骤             
             回到root目录,cd httpd-2.2.9
             ls  (找到INSTALL)
             vi INSTALL  打开以后可以看到安装步骤和启动方法
          2、安装好了以后可以进行测试阿帕奇是否能正常访问
             打开浏览器,输入服务器IP地址,看是否能访问
             不能访问可能是防火墙开启了,关掉步骤,输入
             setup     关掉防火墙,就可以打开访问页面
             RPM包的网页保存位置在  vi /var/www/html/
                                在这个文件夹下面自定义放入index.html访问
             源码包的网页保存位置在 vi /usr/local/apache2/htdocs/index.html
                                apache2是自定义文件夹,htdocs是网页存放位置
五、脚本安装包(用Nginx软件测试脚本安装)
强大的Nginx服务器
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄国一公司2004年发布。优点:在反向代理、Rewrite规则、稳定性、静态文件处理、内存消耗等方面,表现出来很强势的优势,选用Nginx取代传统的Apache服务器,将会获得多方面的性能提升。比如并发链接量(网站同时访问人数)不用测试都可以达到5W,而Apache只有2K。总体来说Nginx可以1V3Apache
⑴、准备工作
    ※、关闭RPM安装包的httpd和MySQL(因为Nginx也需要占用端口)
    ※、保证yum源正常使用
    ※、关闭SELinux和防火墙(SELinux是增强管理组件)
⑵、下载安装包  http://lnmp.org/install.html
⑶、复制文件转到虚拟机,解压缩
⑷、执行脚本文件直到安装完成
⑸、脚本安装包优点:简单、快速、方便
              缺点:不能定义安装软件的版本
                    不能定义所需要的软件功能
                    源码包的优势丢失
 
pkill -9 php-fpm   结束进程命令
请按F5,刷新后再评论
  • 全部评论(0
    还没有评论,快来抢沙发吧!