Linux程序包管理
     
    概述
        API:Application Program Interface
        ABI:Application Binary Interface
            Unix-like,
                ELF
            Windows
                exe, msi
                     
            库级别的虚拟化:
                Linux: WinE
                Windows: Cywin
                 
        系统级开发:
            C/C++:httpd, vsftpd, nginx
            go
        应用级开发:
            java/Python/perl/ruby/php:
                java: hadoop,  hbase,   (jvm)
                Python:openstack, (pvm)
                perl: (perl)
                ruby: (ruby)
                php: (php)
                 
        C/C++程序格式:
            源代码:文本格式的程序代码;
                编译开发环境:编译器、头文件、开发库
            二进制格式:文本格式的程序代码 --> 编译器 --> 二进制格式(二进制程序、库文件、配置文件、帮助文件)
             
        java/python程序格式:
            源代码:编译成能够在其虚拟机(jvm/pvm)运行的格式;
                开发环境:编译器、开发库
            二进制
             
        项目构建工具:
            c/c++: make
            java: maven
             
    程序包管理器:
        源代码  --> 目标二进制格式(二进制程序、库文件、配置文件、帮助文件) --> 组织成为一个或有限几个“包”文件;
            安装、升级、卸载、查询、校验
             
        程序包管理器:
            debian:dpt, dpkg, ".deb"
            redhat:redhat package manager, rpm, ".rpm"; rpm is package manager;
            S.u.S.E:rpm, ".rpm",
             
            Gentoo:ports
            ArchLinux:
             
        源代码:name-VERSION.tar.gz
            VERSION:major.minor.release
        rpm包命名格式:
            name-VERSION-release.arch.rpm
                VERSION:major.minor.release
                release.arch:rpm包的发行号
                    release.os: 2.el7.i386.rpm
                    archetecture:i386, x64(amd64), ppc, noarch
                     
                redis-3.0.2.targz --> redis-3.0.2-1.centos7.x64.rpm
             
            拆包:主包和支包
                主包:name-VERSION-release.arch.rpm
                支包:name-function-VERSION-release.arch.rpm
                    function:devel, utils, libs, ...
                 
        依赖关系:
            X, Y, Z
             
                X --> Y,Z
                    Y --> A, B, C
                    C --> Y
                     
            前端工具:自动解决依赖关系;
                yum:rhel系列系统上rpm包管理器的前端工具;
                apt-get (apt-cache):deb包管理器的前端工具;
                zypper:suse的rpm管理器前端工具;
                dnf:Fedora 22+系统上rpm包管理器的前端工具;
                 
        程序包管理器:
            功能:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查询等管理操作;
             
            1、程序包的组成清单(每个程序包都单独实现);
                文件清单
                安装或卸载时运行的脚本
            2、数据库(公共)
                程序包的名称和版本;
                依赖关系;
                功能说明;
                安装生成的各文件的文件路径及校验码信息;
                等等等
                 
                /var/lib/rpm/
                 
    获取程序包的途径:
        (1) 系统发行版的光盘或官方的文件服务器(或镜像站点):
            http://mirrors.aliyun.com,
            http://mirrors.sohu.com,
            http://mirrors.163.com
        (2) 项目的官方站点
        (3) 第三方组织:
            (a) EPEL
            (b) 搜索引擎
                http://pkgs.org
                http://rpmfind.net
                http://rpm.pbone.net
        (4) 自动动手,丰衣足食
         
        建议:检查其合法性
            来源合法性;
            程序包的完整性

【Linux】【Services】【Package】Basic的更多相关文章

  1. 【Linux&Unix--open/close/write/read系统调用】

    个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 系列博文:      Linux&Unix学习第一弹 -- 文件描写叙述符与权限  Linux&Unix学习 ...

  2. 【linux之设备,分区,文件系统】

    一.设备 IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推), y代表分区的号码(由1开始,..3以此类推) ...

  3. 【linux之挂载,Raid,LVM】

    一.挂载,卸载 挂载:将新的文件系统关联至当前根文件系统卸载:将某文件系统与当前根文件系统的关联关系移除 cat /etc/mtab 存储着已经挂载的文件系统 (跟 mount 一样) mount:显 ...

  4. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

  5. 【Linux磁盘优化管理--RAID和LVM】

    在现阶段的企业环境中,为了数据的安全性及完整性必须要有一个合理的存储方案.面对着每秒可能产生超过几TB的数据,考虑到磁盘能不能实现 热冗余,及扩容,缩容.Linux给出了RAID(磁盘阵列)以及LVM ...

  6. 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)

    原文:http://blog.csdn.net/wenqian1991/article/details/46700177 通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关 ...

  7. 【linux之链接,函数,随机数】

    一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...

  8. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

  9. 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆

    深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...

  10. 【Linux下安装使用virtualenv与virtualenvwrapper】

    virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的 ...

随机推荐

  1. Linux usb 1. 总线简介

    文章目录 1. USB 发展历史 1.1 USB 1.0/2.0 1.2 USB 3.0 1.3 速度识别 1.4 OTG 1.5 phy 总线 1.6 传输编码方式 2. 总线拓扑 2.1 Devi ...

  2. Typora图片自动上传至码云

    Typora图片自动上传至码云 下载PicGo图片上传工具 PicGo下载地址 下载完毕后打开PicGo,点击插件设置,搜索Gitee,点击安装gitee 2.0.3 码云仓库创建 创建参数是点击设置 ...

  3. Json跨域登录问题的之Access-Control-Allow-Origin 站点跨域请求的问题

    跨域调用json问题 闲暇之时,做了一个博客站点,站点发布网络之后程序功能完成,最后发现了一个跨域的问题,比如我使用abc.com打开系统,一切正常,后台没有任何文件请求报错问题,然后我又使用了www ...

  4. Python学习周总结(二)

    Python-SecondWeek知识汇总 本周学了好多内容,最头痛的地方还是自己的思维逻辑不过关,还是敲的代码比较少,一个员工管理系统,第一天写搞得头大 ,结果第三遍自己突然懂了,个人的努力才是自己 ...

  5. <C#任务导引教程>练习七

    //55,类的声明示例using System;class Date{    public int year;    public int month;    public int day;    p ...

  6. [bzoj5294]二进制

    首先可以发现$2^k$模3意义下有循环节,也就是1,-1,1,-1--考虑对于x个1,y个0,判断是否存在3的倍数1.x为偶数时一定可以,选择等量的1和-1即可2.x为奇数,要满足$x\ge 3$且$ ...

  7. poi上传下载

    本教程只实现poi简单的上传下载功能,如需高级操作请绕行! <!--poi start--> <dependency> <groupId>org.apache.po ...

  8. 定时任务注解@Scheduled

    概述 要使用@ Scheduled注解,首先需要在启动类添加@ EnableScheduling,启用Spring的计划任务执行功能,这样可以在容器中的任何Spring管理的bean上检测@ Sche ...

  9. k8s-数据持久化存储卷,nfs,pv/pvc

    目录 数据持久化-储存卷 官方文档 存储卷类型 1.emptyDir 2.hostpath 3.pv/pvc(推荐使用) nfs官方文档 安装测试nfs pv/pvc管理nfs 官方文档 pv/pvc ...

  10. Codeforces 605D - Board Game(树状数组套 set)

    Codeforces 题目传送门 & 洛谷题目传送门 事实上是一道非常容易的题 很容易想到如果 \(c_i\geq a_j\) 且 \(d_i\geq b_j\) 就连一条 \(i\to j\ ...