一.软件包管理简介

    1源码包(脚本安装)
       ①.特点: a.开源 ,可以修改
                       b.自由选择所需功能
                       c.软件是编译安装,更加适合自己的系统,更加稳定和有效
                       d.卸载方便
        ②.缺点:   a.安装步骤较多,安装较大的集成(LAMP环境搭建),容易拼写错误
                         b.编译时间长,比二进制(windows)安装时间长
                         v.一旦报错,解决方案比较麻烦。   
     2.二进制包(rpm包、系统默认包、编译之后的)
         ①优点:a.包管理系统简单,只需要几个命令就可以安装、升级了
                     b.比源码包快很多
          ②缺点:  a.不可以看到源代码
                        b.没有源码灵活
                        c.依赖性
        编译  public class main{} --》机器语言01010102
        反编译-->基本不可逆,有混淆。

二、rpm命令管理(/var/lib/rpm/ 下面的db文件存放了安装的软件包名)

    1.rpm包的命名规则
          ① 来源:系统光盘中 、mnt/cdrom/Packages
          ② httpd-2..2.15-15.el6.centos.1.i686.rpm
                    httpd软件包名
                    2.2.15软件版本
                    15版本发布的次数
                    .el6.centos适合的linu平台
                    i6868适合的硬件平台
                    rpmrpm包扩展名
        ③ RPM包依赖性
                树形依赖:a->b->c
                环形依赖:a->b->c->a
                模型依赖:模块依赖(库依赖,函数依赖  .so文件,依赖的是一个文件,而不是软件),
                                 需要一个库依赖时,安装其他的软件包含的这个库就可以,去后面查询网站:www.rpmfind.net (很恶心的)
    2.安装命令
            ①.包全名和包名     有些命令(rpm)是包全名--有的命令(卸载、查询)是包名  
                
            ②.Rpm安装:
                    
             ③.升级与卸载
                   a. rpm  -Uvh 包全名
                        -U 升级    (如果没有安装一个软件包,用升级命令既是安装命令)
                    b.rpm  -e 包名
                            -e 卸载(卸载也有依赖性)                 没有安装位置,由写下载包的人决定。不会添加垃圾文件,没有注册表啥的
                            --nodeps不检查依赖性
             ④.rpm包查询
                    a. rpm -q包名  查询包是否安装
                    b. rpm -qa 查询所有已经安装的RPM包                  grep后面是正则表达式
                    c.  rpm  -qi 包名     软件的信息是开发者打包成rpm包时,添加的信息
                                    -i 查询软件信息   
                                    -q查询未安装包信息
                    d.  rpm  -ql 包名
                                -l 列表
                                -q查询未安装包的位置
                    e.    rpm -qf 系统文件名
                                -f  查询这个文件属于哪个包 , 这个文件必须是rpm包装的,否则则不可以查询 
                    f.    rpm -qR 包名
                                -R 查询软件包的依赖性
                                -p查询未安装包的信息
             ⑤.RPM包校验    
                    a. rpm -V  校验验证的信息
                    b. rpm2cpio 包全名 |  cpio -idv .文件的绝对路径    |管道符
                            -rpm2cpio   将RPM包转换成CPIO格式的命令
                            -cpio  是一个标准工具,用于创建软件档案文件和从档案文件中提取文件。
                        cpio 选项 <[文件|设备]
                                -i :copy-in模式,还原
                                -d :   还原时自动新建目录
                                -v :    显示还原过程

三、yum在线管理

            将所有的软件包放在官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题
             redhat需要付费   
        1.yum源文件
            在线        /etc/yu,.repos.d/         文章下面的图四
                            mirrorlist镜像               baseUrl
        2.光盘yum源搭建(不联网怎么下载?)
           在光盘搭建本地光盘yum源步骤
           a.  挂载光盘  :mkdir /mnt/cdrom 建立挂载点     mount /dev/cdrom挂载光盘     /mnt/cdrom
           b.使网络yum源失效 : cd /etc/yum.repos.d  进入源目录    mv CentOS-Base.repo  CentOS-base.repo.bak 修改文件名字,使其失效
           c.使光盘yum生效  见文章后面图五
           d.yum  list  查看本地源有哪些
        3.yum命令,不能查询本地的安装包,只能查询服务器上面的,与rpm包醉的的区别,就是依赖
            a.yum list  查询所有可用软件包列表
            b.yum search 关键字  和关键字相关的包
            c.yum -y install 包名    (yum中没有包全名,包全名只在rpm中有效)
                            -y 自动回答yes     yum -y install gcc
            d. yum -y update httpd 升级  不加httpd表示升级所有的,包括内核
            e. yum -y remove  包名   服务器使用最小化安装,用什么软件安装说明,尽量不要卸载。卸载也有依赖性。
                    组命令
            f. yum grouplist 列出所有可用的软件组列表
            g.yum groupinstall 软件组名   安装指定软件组,组名可以由grouplist查询出来。 软件组名必须是英文。
            h.yum groupremove 软件组名
            i. LANG=zh_CN  修改当前系统的语言

四、源码包管理

    1.源码包和RPm包的区别
        安装之前是概念的不同
        安装之后的区别:安装位置不同   会导致启动方法不一样    ,安装位置见图六
        ①rpm包可以指定安装位置  rpm --help | grep prefix   RPM包建议,
        ②RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法:
                a./etc/rc.d/init/httpd start   (linux的标准启动方法,如果指定位置,则按照你的位置,)
                b.service htpd start  (查找默认的位置/etc/rc.d/init/httpd)
        ③源码包安装位置一般是   /usr/local/软件名/
            没有卸载命令    把安装目录直接删掉
            源码包启动: /usr/local/apache2/bin/apachectl start
            serice不能启动源码包的,或者把源码包移动到默认位置
    2.源码包安装过程
        ①安装C语言编译  gcc
        ②下载源码包(rpm包是linux的光盘,源码包从官网下载)
        ③注意:  源代码包保存位置:/usr/local/src/          软件安装位置:/usr/local/    
        ④解压缩下载的源码包、进入解压缩目录
        ⑤ ./config  每个源码包基本都有  
                    a.定义功能选项,
                    b.检测系统环境是否符合安装要求。
                    c.把定义好的功能选项和检测系统环境的信息都写入makefile文件中,用于后续的使用
        ⑥ make  编译
                a.make clean 如果报错了,清除编译缓存文件
              make install编译安装
        ⑦进入你安装的位置,然后启动   /usr/local/apache2/bin/apachectl start
            如果你用rpm安装了 acpache,要  service httpd stop先停止,再启动
        源码包安装可以看他的文档。
        ⑧源码包没有卸载命令,直接删除安装目录即可。不会遗留垃圾文件的

五、脚本安装        https://lnmp.org/

关闭SELinux(美国安全局开发)和防火墙
 
 
图一   RPM包的默认位置(常规位置,具体位置由RPM包的作者决定的)

图二 rpm -V 验证文件是否经过更改的详细提示信息(一)

图三 rpm -V 验证文件是否经过更改的详细提示信息(二)
 
图四 yum源文件

图五:yum源生效更改

图六RPM包的安装位置

 
 

Linux下的软件管理的更多相关文章

  1. 【one day one linux】linux下的软件包管理工具

    Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...

  2. Linux下安装软件命令详解

    ---------------------------------------------------------------- 或许你对于linux还不够了解,但是一旦你步入公司后,你就会发现lin ...

  3. linux下安装软件的常用方法

    在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种: 1)含有软件 ...

  4. 第三章 用SDK编译出第一个在Linux下的软件界面

    第三章 用SDK编译出第一个在Linux下的软件界面 先创建一个工程目录“mkdir project1”,进入目录,创建main.cpp文件,编写代码如下: 代码内容暂时可以先不理解,先让程序跑起来再 ...

  5. 总结Linux下的软件安装

    安装软件的最佳实践 虽然我们知道Linux下安装软件有三种方式,分别是源代码安装,rpm包安装和yum安装,但是从可控性和结合自己目前的水平来说,优先选择以下两种方式安装程序. 1,使用rpm包安装 ...

  6. Linux 下Office 软件名称

    Linux 下Office 软件名称

  7. 安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)

    VM tools:方便我们虚拟机和宿主机之间复制数据或移动文件等 安装VMtools 1.菜单栏-虚拟机-安装VM tools 将其选中 2.进入系统,在桌面位置里面有VM tools的光盘,双击进入 ...

  8. linux下获取软件源码包 centos/redhat, debian/ubuntu

    linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...

  9. Linux 下权限的管理

    Linux 下权限的管理 我们都知道,Linux系统对于用户的权限管理是十分严格的. 那么,我们就来具体了解一下. 一. 用户 在Linux中按照类型用户分为两种:1.超级用户 2.普通用户 那么它们 ...

随机推荐

  1. POJ - 3164-Command Network 最小树形图——朱刘算法

    POJ - 3164 题意: 一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图. 题目就是求这个最小的树形图. 参考资料:https://blog.csdn.net/ ...

  2. HDU 1173 采矿

    采矿 题解:如果给你一条线段(左右端点设为A,B), 那么在这条线上的任意一点到A B距离之和是一个定值, 然后如果再这条线段内在任意确定一个定点C, 那么这条线段上再任意取一个点,这个点到 A B ...

  3. hdu6373 Pinball 杭电第六场 物理知识

    Pinball Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total S ...

  4. poj 2777 Count Color(线段树(有点意思))

    题目链接 http://poj.org/problem?id=2777 题意:题意是有L个单位长的画板,T种颜色,O个操作.画板初始化为颜色1.操作C讲l到r单位之间的颜色变为c,操作P查询l到r单位 ...

  5. Windows下安装youtube-dl(下载各大网站视频)

    youtube-dl干什么用的? 惯例,看官方介绍: youtube-dl is a command-line program to download videos from YouTube.com ...

  6. DELPHI GDI + TGPFont UnitPixel 问题解决

    查不少资料,在 GPfont := TGPFont.Create(fontFamily, Font.Size , FontStyleRegular,UnitPixel ); 时,显示的字体,并不是按D ...

  7. springboot2之结合mybatis增删改查解析

    1. 场景描述 本节结合springboot2.springmvc.mybatis.swagger2等,搭建一个完整的增删改查项目,希望通过这个基础项目,能帮忙朋友快速上手springboot2项目. ...

  8. MySql连接笔记

    一.内连接查询  inner join 关键字:inner  join   on 语句:select * from a_table a inner join b_table b on a.a_id = ...

  9. .NET Core 3.0之深入源码理解Host(二)

      写在前面 停了近一个月的技术博客,随着正式脱离996的魔窟,接下来也正式恢复了.本文从源码角度进一步讨论.NET Core 3.0 中关于Host扩展的一些技术点,主要讨论Long Run Pro ...

  10. <xsl:apply-templates>和<xsl:call-template>的区别

    <xsl:apply-templates> 应用模板,故名思意,将定义好的模板应用到 XML 的节点上.  可以调用 XML 文档的节点,使 XSL 文档可以渲染 XML 元素内的数据,  ...