• Linux 程序包管理


    Linux程序包管理
        API:Application Programming Interface
            各个平台的库文件对外呈现相同标准的接口,虽然它们的实现方式不同;但是相同的源代码在不同平台上经过编译以后都可以运行;
        POSIX:Portable OS
            程序源代码→预处理→编译→汇编→连接   
                详细解释:https://blog.csdn.net/derkampf/article/details/71597684
                静态编译:库文件整合到程序内部的;
                共享编译(动态链接库):多个程序调用共同的库文件;
        ABI:Application Programming Interface
            不同源代码在经过编译以后形成的可执行程序文件格式不尽相同,所以经过编译的源代码通常不能在不同平台上运行;
                linux:ELF格式
                Windows:EXE格式
                可以通过库级别的虚拟化来实现不同平台的兼容
                    Linux:WINE
                    Windows:Cywin
            系统级开发:C,C++
            应用级开发:Python,Java,PHP(世界上最好的语言)等;(滑稽脸)
            二进制应用程序的组成部分
                二进制文件,库文件(程序本身提供给他人的,容许其调用进行二次开发的库文件),配置文件,帮助文档;
            程序包管理器:
                debin:deb格式,dpt管理器;
                redhat:rpm格式,rpm管理器;
                    rpm:redhat package manager
                    rpm:rpm is Package Manager
            源代码:name-VERSION.tar.gz
                VERSION:major.minor.release
                rpm包命名方式:
                    name-VERSION-ARCH.rpm
                        VERSION:major.minor.release
                        ARCH:release.so.arch
                        
                        zlib-1.2.7-13.el7.i686.rpm
                    testapp:拆包
                        testapp-VERSION-ARCH.rpm:主包
                        testapp-devel-VERSION-ARCH.rpm:子包
                        testapp-testing-VERSION-ARCH.rpm:子包
                    包依赖关系:
                        rpm包之间可能存在依赖关系,比如安装某个包之前需要提前安装另一个或多个包;
                        yum:rpm包管理器的前端工具;
                        apt-get:deb包管理器的前端工具;
                        zypper:suse上rpm的前端管理工具;
                    查看依赖关系的命令:
                        ldd /PATH/TO/ELF_FILE:显示某二进制程序所依赖的库文件;
                        ldconfig -p:显示加载到内存中的所有可用库文件名称,及文件路径映射关系;
                            其配置文件为:/etc/ld.so.conf,/etc/ld.so.conf.d/*.conf
                            缓存文件:/etc/ld.so.cache
                程序包管理:
                    功能:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,从而方便快捷的完成程序包的安装、卸载、查询、升级和检验等管理操作;
                    
                        程序的组成清单(每个包独有):
                            文件清单
                            安装或卸载时运行的脚本
                        数据库(公共):
                            程序包的名称及版本
                            依赖关系
                            功能说明
                            安装生成的各文件的路径及校验码信息
                    管理程序包的方式:
                        使用包管理器:rpm,deb等
                        使用前端工具:yum,apt-get等
                    获取程序包途径:
                        系统发行版所带的光盘或官网;
                        Centos镜像:
                            http://mirrors.aliyun.com
                            http://mirrors.sohu.com
                            http://mirrors.163.com
                        项目官方站点
                        第三方组织
                            Fedora-EPEL
                        搜索引擎:
                            http://pkgs.org
                            http://rpmfind.net
                            http://rpmpbone.net
                        自己制作
                    建议:使用前检查其合法性;
                        来源合法性;
                        程序包完整性;
                        
        

    注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删

  • 相关阅读:
    【HackerRank】Sherlock and MiniMax
    【HackerRank】Game Of Rotation
    【HackerRank】Bus Station
    【HackerRank】 有洞的地图
    【HackerRank】Sherlock and Array
    【HackerRank】QuickSort(稳定快排,空间复杂度O(n))
    【HackerRank】 The Full Counting Sort
    51获取6050原始数据并通过匿名上位机显示波形
    51单片机之IIC通信原理及软件仿真
    寻迹小车开发日记
  • 原文地址:https://www.cnblogs.com/guowei-Linux/p/9787334.html
Copyright © 2020-2023  润新知