linux软件包管理(开始上正菜了)

linux程序包管理:
     API:数据接口
     ABI:应用程序二进制接口
        库级别的虚拟化:
             linux:wine
             windows:cywin
     系统级开发: c/c++ :httpd,nginx,vsftpd,go
     应用级开发:java python perl php 


c/c++程序格式:

          源代码:文本格式的程序代码;
             编译开发环境:编译器,头文件,开发库
          二进制格式:文本格式的程序代码–>编译器–>二进制格式
             开发环境:编译器,开发库

程序包管理器:
     源代码–>目标二进制格式–>组织成为一个或有限几个“包”文件;
          协助安装,升级,卸载,查询,校验
程序包管理器
                 debian: dpt,dpkg “.deb”
                 rehat : rpm “.rpm”
                 suse  : rpm,

前段工具:自动解决依赖关系:
          yum:rpm包管理的前段工具
          apt-get:deb包管理器的前段工具
          zypper:suse的rpm管理器前端工具
          dnf:也是一种rpm包管理器的前端工具

查看二进制程序所依赖的库文件               ldd /PATH/TO/BINARY_FILE

获取程序包的途径:
         系统发行版的光盘或官方的文件服务器(或镜像站点)
         http://mirrors.aliyun.com
         http://mirror.sohu.com
         http://mirror.163.com
         项目的官方站点
         第三方组织:EPEL
               搜索引擎:http://pkgs.org
                         http://rpmfind.net
                         http://rpm.phone.net
         自己动手,丰衣足食
         建议:检查其合法性
               来源合法性
               程序包的完整性
centos系统上rpm命令管理程序包:
          安装,升级,卸载,查询和校验,数据库维护
          rpm命令:
                 -i :安装
                 -u :升级
                 -e :卸载
                 -q :查询
                 -v :校验
                 –builddb:数据库维护
               –test:测试安装,检查并报告依赖关系及冲突消息等
               –nodeps:忽略依赖关系,不建议
               –replacepkgs:重新安装
升级:
        rpm -u :升级或安装
               -f :只升级
        rpm -uvh
             –oldpackage: 降级
             –force     : 强制升级
     注意:(1)不要对内核做升级操作,linux支持多内核版本并存,因此,直接安装新版本
              (2)如果某原程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原版本的配                       置文件,而是把新版本的配置文件重命名后提供;
     卸载: 直接给包名即可
         rpm -e :卸载
               –allmatches:卸载所有匹配指定名称的程序包的各版本
               –nodeps    :忽略依赖关系
               –test      : 测试卸载

     查询:   rpm -qa  -qc  -ql  等
          rpm -q :查询  
              -a :查询所有已经安装过的包
              -f file :查询指定的文件由哪个程序包安装生成
              -l :程序包安装生成的所有文件列表
              -i : 程序包相关信息,版本号,大小,所属的包组等
              -c : 查询指定的程序包提供的配置文件
              -d : 查询指定的程序包提供的文档
              -p : 指定未安装的包文件做查询操作
     校验: rpm -v  filenam      

包来源合法性验证和完整性验证:
             获取并导入信任的包制作者的秘钥
             验证:
                        安装此组织签名的程序时,会自动执行验证;
                        手动验证:rpm -k packagefile
数据库重建:
            rpm管理器数据库路径:/var/lib/rpm        rpm –initdb     初始化  如果 事先不存在数据库,则新建之否则
            查询操作:通过此处的数据库进行;           rpm –rebuliddb    重建已安装的包的数据库索索引

            获取帮助:
                          man rpm    centos6
                          man rpmdb  centos7  


YUM: Yellowdog Update Modifier ,rpm 的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date
的替代工具
yum repository: yum repo ,存储了众多rpm 包,以及包的相关的元数据文件(放置于特定目录repodata 下)
                       文件服务器:
                                        ftp://
                                        http://
                                        file://

yum 客户端配置文件:
               /etc/yum.conf :为所有仓库提供公共配置
               /etc/yum.repos.d/*.repo :为仓库的指向提供配置
                             配置格式:   [repositoryID]

                                                baseurl=ftp://        或者http://      file://

                                                gpgcheck=0           不检查签名

             yum repolist     检查是否成功 ,会显示具体信息

ftp服务器创建yum源:

     rpm -ivh /mnt/P…    vsftp           安装FPT服务
     service vdftpd  start                  开启FTP服务
     systemctl start vsftpd.service         centos7 开启FPT
     iptables  -F                          清除防火墙
                -vnL                        查看防火墙
     setenforce 0                        禁用selinux
     mkdir /var/ftp/pub/6            光碟挂载路径
     mount -o loop centos.iso  /var/ftp/pub/   生产
     mount –bind /misc/cd/ /var/ftp/pub/      实验

     http://server/centos/$releasever/$basearch/      通用格式

经过查找帮助: 以上设置最好设置开机自动启动:

                     开机自动挂载光碟:/etc/fstab        

                           格式       /dev/cdrom        /var/ftp/pub/     iso9660   auto     0      0

                    自动开启FPT服务:chkconfig  vsftpd    on      

                    自动关闭防火墙:  chkconfig iptables   off 

                    开机关闭selinux:vim /etc/sysconfig/selinux    把第七行改成permissive     (打开文件里面有说明的)  

 yum history       查看以前yum安装信息

yum   history info  #      具体查看某信息

yum   history   undo #     撤销#此次操作, 可以把曾经安装过的依赖包都卸载

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/70663

(0)
sheweishewei
上一篇 2017-03-07
下一篇 2017-03-07

相关推荐

  • iptables的DNAT、SNAT配置

    DNAT:目的地址转换。当外网主机访问内网的某台服务器的时候,如果直接暴露服务器的IP于公网,可能会遭受各种各样的攻击,而DNAT的主要作用就是在服务器前面添加一台防火墙。将防火墙的地址公布出去,让外网客户端通过访问防火墙的地址就可以访问到本地服务器。这样就起到了保护服务器的目的; SNAT:源地址转换。内网主机在访问互联网的时候所有源地址都转换为防火墙的外…

    2017-06-12
  • 第一周博客作业

       第一次自己动手写博客,而不是转载或者收藏,还是满忐忑的,希望是一个好的开始,以下内容均为依照记忆或者说学习到的知识总结,之后会另写一篇博文根据网络查询到的更严谨完整的答案作为总结。一、描述计算机的组成及其功能。答:计算机主要有五个部分组成,分别是:运算器、控制器、存储器、输入设备、输出设备。  1、控制器为整个计算机工作中的核心,负责调度所有组件之间的…

    Linux干货 2016-12-04
  • 第一周-Linux Basic

        本文主要介绍了计算机的组成及功能、Linux的发行版、Linux哲学思想、一些基本命令、命令帮助的获取、文件系统层级结构标准。 一、计算机的组成及功能     计算机由硬件和软件两大类组成     硬件   &n…

    Linux干货 2016-11-28
  • 马哥教育网络班第25期-第1周作业

    一、计算机的组成及其功能 计算机由硬件与软件组成 硬件     1、运算器                           &…

    Linux干货 2016-12-05
  • LVS详解

    概述     LVS是工作在4层的负载均衡调度器,可根据请求报文的目标IP和目标协议及端口,根据指定的调度算法,将请求调度转发至某RealServer,本篇就针对LVS的原理,配置和使用进行简单介绍,具体包含:     1、LVS的四种类型的介绍   &nbs…

    Linux干货 2016-10-27
  • Linux三剑客之sed命令

    一.sed命令概述 Stream EDitor ,行编辑器 sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变除非你使用重定向存储输出.sed主…

    Linux干货 2016-08-15