linux使用yum对程序包管理相关知识

 yum客户端:

         配置文件:

             /etc/yum.conf: 为所有仓库提供公共配置

             /etc/yum.repos.d/* .repo: 为仓库的指向提供配置

  仓库的定义:

     [repositoryID]

     name-Some name for this repository

     baseur1=ur1://path//to/repository/

     enabled={1|0}

     gpgcheck={1|0}

     gpgkey=URL 能访问到密钥的路径

     failovermethod={roundrobin|priority}

       默认为1000

 yum命令用法:

     yum [options] [command] [package …]

 command is one of:

        * install package1 [package2] […]   安装指定的软件包

        * update [package1] [package2] […]  全部更新软件包;

        * update-to [package1] [package2] […] 全部更新到

        * update-minimal [package1] [package2] […]  最小化更新

        * check-update   检测可更新的软件包

        * upgrade [package1] [package2] […]   升级软件包组名

        * upgrade-to [package1] [package2] […] 升级到

        * distribution-synchronization [package1] [package2] […] 同步安装的软件包到最小版本

        * remove | erase package1 [package2] […]删除指定软件包

        * autoremove [package1] […]

        * list […] 列出目前yum所管理的所有的软件包名称与版本;

        * info […]列出目前yum所管理的所有的软件名称,版本和详细信息;

        * provides | whatprovides feature1 [feature2] […]

        * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除缓存数据

        * makecache [fast] 生成源数据缓存

        * groups […] 

        * search string1 [string2] […] 

        * shell [filename]

        * resolvedep dep1 [dep2] […]确定那个软件包提供了给定的依赖关系

           (maintained for legacy reasons only – use repoquery or yum provides)

        * localinstall rpmfile1 [rpmfile2] […]

           (maintained for legacy reasons only – use install)

        * localupdate rpmfile1 [rpmfile2] […]

           (maintained for legacy reasons only – use update)

        * reinstall package1 [package2] […]

        * downgrade package1 [package2] […]

        * deplist package1 [package2] […]

        * repolist [all|enabled|disabled]显示配置的软件仓库

        * repoinfo [all|enabled|disabled]

        * repository-packages <enabled-repoid> <install|remove|remove-or-reinstall|remove-or-distribution-synchronization> [package2] […]

        * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

        * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

        * load-transaction [txfile]

        * updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all | check-running-kernel]

        * fssnapshot [summary | list | have-space | create | delete]

        * fs [filters | refilter | refilter-cleanup | du]

显示当前列表:

 repolist [all|enabled|disabled] 显示配置的软件仓库

显示程序包:

        list 

        #yum list [all | glob-exp1] [glob-exp2] […]

        #yum list{available | installed | updates}

安装程序包:

      install package1 [package2] […]

 升级程序报:

      update [package1] [package2][…]

 检查可用升级:

          check-update

 卸载程序包:

         remove | erase package1 [package2][…]

查看程序包information:

       info […]

查看程序提供的特性(可以是某文件)是由那个程序报提供:

       provides | whatprovides feature1 [feature2][…]

清理本地缓存:

        makecache

搜索:

    search  string1 [string2] […]

以指定的关键字搜索程序报名及summary 信息:

查看指定包所依赖的capabilities:

        deplist package1 [pachage2] […]

查看yum事物历史:

        history [info|list | packages-list | packages-info | summary | addon-info | redo | undo | rollback | new | sync | stats]

安装及升级本地程序包:

        localinstall rpmfile1 [rpmfile2] […]

        (maintained for legacy reasons only – use install)

        localupdate rpmfile1 [rpmfile2] […]

        (maintained for legacy reasons only – use update

包组管理

groupinstall group1 [group2] […]

        * groupupdate group1 [group2] […]

        * grouplist [hidden] [groupwildcard] […]

        * groupremove group1 [group2] […]

        * groupinfo group1 […]

        * search string1 [string2] […]

        * shell [filename]

如何使用光盘当作本地yum仓库:

(1)挂载光盘至某目录,例如/media/cdrom

    # mount -r -t iso9660 /dev/cdrom /media/cdrom

(2)创建配置文件

[CentOS7]

   name=

   baseur1=gpgcheck=

   enabled=

yum的命令行选项:

   –nogpgcheck: 禁止进行gpg check;

   -y:自动回答为“yes"

   -q :静默模式:

   –disablerepo=repoidglob: 临时禁用此处指定的repo:

   –enablerepo=repoidglob: 临时启用此处指定的repo:

   –noplugins:禁用所有插件:

yum的repo配置文件中的可用的变量:

    $releasever:当前OS的发行版的主版本号:

    $arch: 平台:

    $basearch: 基础平台:

    http://mirrors.magedu.com/centos/$releasever/$basearch/os

创建yum仓库:

    createrepo [options] <directory>

程序报编译安装:

    testapp-VERSION-release.src.rpm –>安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装;

        源代码 –> 预处理 –>编译(gcc)–> 汇编 –> 链接 –> 执行

        源代码组织格式:

            多文件:文件中的代码之间,很可能存在跨文件依赖关系;

               c , c++: make (configure –>Makefile.in –>makefile)项目管理工具

               java:  maven

      编译安装三步骤:

          ./configure

         (1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定一及makefile.in  文件生成

        (2)检查依赖到的外部环境:

             make

             make install

开发工具:

    autoconf: 生成configure脚本

    automake:  生成Makefile.in

j建议:安装前查看INSTALL, README

开源程序代码的获取:

    官方自建站点:

        apache.org (ASF)

        mariadb.org

       ……

       代码托管:

           SourceForge

           Github.comc

           code.google.com

       c/c++: gcc (GNU C  Complier)

         前提:提供开发工具及开发环境

              开发工具: make, gcc 等

              开发环境:开发库,头文件

              glibc: 标准库

     通过“包组”提供开发组件:

         CentOS 6:“Development Tools" ,"Server Platform Development",

   第一步:configure 脚本

         选项:指定安装位置、指定启用的特性

         –help: 获取其支持使用的选项’

          选项分类:

          安装路径设定:

          –prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置:

          –sysconfdir=/PATH/TO/SOMEWHERE: 配置文件安装位置:

         System types:

         Optional Features:可选特性

         — disable-FEATURE

         –enable-FEATURE[=ARG]

         Optional Packages: 可选包

         –with – PACKAGE [=ARG]

         –without-PACKAGE

     第二部:make

     第三步:make install

安装后的配置:

   (1)导出二进制程序目录至PATH环境变量中:

        编辑文件/ETC/profile.d/NAME.sh

         export PATH=/PATH/TO/BIN:PATH

   (2)导出文件路径

      编辑/etc/ld.so.conf.d/NAME.conf

      添加新的库文件所在目录至此文件中:

      让系统重新生成缓存:

      ldconfig [-v]

   (3) 导出头文件

      ln  -sv 

   (4) 导出帮助手册

       编辑/etc/man.config 文件

       添加一个MANPATH

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

(0)
shadowshadow
上一篇 2017-01-01
下一篇 2017-01-02

相关推荐

  • 网络基础知识札记

    Linux网络属性管理(1)     Bell(AT&T), PARC(Xerox)        以太网     计算机网络:共享底层通信信道         CSMA/CD算法      &nbsp…

    Linux干货 2016-09-06
  • 根据作业浅析正则表达式

        什么是正则?正则就是,那种体现出某种规律的不变性或者对称性的物理量或关系。     正则表达式(Regular Expression):由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能(linux中,可以使用:man …

    Linux干货 2017-07-30
  • 面向对象魔术方法

    ##**特殊属性**– __name__ 类、函数、方法等的名字– __module__ 类定义所在的模块名– __class__ 对象或类所属的类– __bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序– __doc__ 类、函数的文档字符串,如果没有定义则为None–…

    Linux干货 2017-11-21
  • 有证说话硬–实现CA和证书申请

    centos下利用openssl来实现证书的颁发 直接进入正题,细节坑就不说了,自己解决起来更有挑战性不是 步骤流程: 我是拿的7.3版本做CA主机,6.8版本做客户端 1.创建CA 2.生成私钥 3.生成自签名证书 4.到客服端 5.生成私钥 6.生成证书申请文件 7.将请求发送给-CA主机 8.CA主机-验证签署 9.拷回给客户端使用 用法:openss…

    2017-04-11
  • linux的发展与入门

    1,计算机的组成和功能如下: CPU:是由运算器(是用来对数据进行数据运算和逻辑运算), 控制器(是用来对总线的控制,内存寻址的控制,以及对读,写访问的控制), 寄存器和缓存器(都是用来暂存数据的。) 存储器:内存RAM(随机接入存储器)和硬盘:都是用来存储数据的。 输入设备:用来输入需要处理的数据和指令。 输出设备:是用来显示加工过的数据。 2,LINUX…

    Linux干货 2017-07-03
  • 第四周小结

    这周我们主要学习了写脚本的简单语法,写了一些简单的脚本,下面就由我来简单介绍一下: 第一步使用文本编辑来创建脚本: 创建好后在里面写想要运行的脚本即可,然后按Esc—wq退出保存即可。也可以按q不保存退出;q!不保存强制退出;wq!保存强制退出。 第二步运行脚本,给予执行权限,在命令行上指定脚本的相对路径和绝对路径 对了,当在脚本里输入内容时,要Ese&#8…

    2017-08-06

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 08:05

    有点像直接帖笔记哦,其实要有自己的实验过程,学习Linux多动手敲敲是没错的,在总结方面如果能按照自己的思路去总结往往在后期回顾的时候会有意想不到的效果。