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 10:11
下一篇 2017-03-07 15:01

相关推荐

  • yum仓库配置

    yum仓库搭建 yum客户端在安装之前要在服务器下载相关的源数据缓存在 cachedir=/var/cache/yum/$basearch/$releasever中 gpgcheck=1检查数据包的签名完整性 导入钥匙或gpgcheck=0就不检查否侧安装不了yum 在/etc/yum.conf设置配置文件 在/etc/yum.repos.d中创建一个后缀是…

    2017-12-03
  • M22 Centos6上编译安装httpd2.4并实现HTTPS浏览

    随着网络技术的发展,人们对信息安全越来越重视,传统的http浏览互联网的方式由于未经加密,其安全性广为人们诟病,https协议作为加密的互联网解决方案解决了这一问题。下面我就简要说明下如何实现通过https发布web页面的。   实验目的: 模拟Centos6上安装httpd2.4,并实现https加密访问主页 实验器材: Centos6.8虚拟机…

    Linux干货 2017-04-20
  • Linux网络协议命令介绍(3)

      在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。 1、序列号和确认号有什么区别? 2、网络功能 3、网络命令 4、配置文件 1、序列号和确认号有什么区别?   发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序…

    Linux干货 2016-11-29
  • 主从DNS 子域授权 基于域的转发和DNS视图的配置

    先把软件包的安装: yum install bind yum install bind-utils(DNS的查询工具,dig nslookup host) 事先我已经安装好了。 主从DNS的网络拓扑图: 主从DNS配置: 主从DNS服务器的同步可以有:完全区域同步(AXFR)和增量区域同步(IXFR),配置过程中要注意,增量备份时,需要调整区域文件中的SOA…

    Linux干货 2015-08-24
  • 计算机的组成及其功能

    计算机由运算器,控制器、存储器及输入、输出装置五部分组成。 第一,运算器(Arithmetical and Logical Unit),也称作算术逻辑单元,主要是对数据进行各种运算。 第二,控制器(Control Unit)是计算机的控制中心,协调各计算机各部分按照预先的目标和步骤有序的工作。控制器从存储器中逐条取出指令,分析每条指令规定的操作和所需数据的存…

    Linux干货 2016-09-17
  • 第一周博客作业

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

    Linux干货 2016-12-04