一.软件包管理简介

    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. 1026-windy数+数位DP+记忆化搜索

    1026: [SCOI2009]windy数 题意:数位DP模板题: 目前只理解了记忆化搜索,就想练练手, ------给递推写法留一个位子 ------ 注意这道题要判断前导0的情况,1 )可以加一 ...

  2. CodeChef - QRECT Rectangle Query CDQ分治

    题目传送门 题解:现在需要维护的每次的询问矩形和前面插入的所有矩形有公共部分的个数. 我们试着直接去维护这个东西, 发现可能的情况太多,不好维护,所以我们维护每次询问的时候在当前矩阵个数下,有多少个矩 ...

  3. bzoj3032 七夕祭题解

    题面 TYVJ七夕祭和11区的夏祭的形式很像.矩形的祭典会场由N排M列共计N×M个摊点组成.虽然摊点种类繁多,不过cl只对其中的一部分摊点感兴趣,比如章鱼烧.苹果糖.棉花糖.射的屋--什么的.Vani ...

  4. 为什么spark中只有ALS

    WRMF is like the classic rock of implicit matrix factorization. It may not be the trendiest, but it ...

  5. 通过原型继承理解ES6 extends 如何实现继承

    前言 第一次接触到 ES6 中的 class 和 extends 时,就听人说这两个关键字不过是语法糖而已.它们的本质还是 ES3 的构造函数,原型链那些东西,没有什么新鲜的,只要理解了原型链等这些概 ...

  6. PiVot 用法

    基本语法: SELECT <非透视的列>, [第一个透视的列] AS <列名称>, [第二个透视的列] AS <列名称>, ... [最后一个透视的列] AS &l ...

  7. librosa语音信号处理

    librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能.学会librosa后再也不用用python去实现 ...

  8. Java 截取字符串中指定数据及之后数据

    String resCallBackJson="12556{1{{{456858585{";        resCallBackJson = resCallBackJson.su ...

  9. spring字符编码filter

    项目中的字符编码问题,spring提供统一的字符处理filter,只需要在项目入口web.xml中配置CharacterEncodingFilter即可,具体配置如下: <!-- 配置过滤器,同 ...

  10. 利用ShowDoc自动生成api接口文档

    最近在做新项目,感觉写完一个接口 还要去再写一遍api文档 挺浪费时间的,所以借用ShowDoc的api开放功能 自动生成api文档. 首先 去 https://www.showdoc.cc/ 注册一 ...