码迷,mamicode.com
首页 > 其他好文 > 详细

0530 第十节课

时间:2016-06-07 11:19:43      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:linux

一.软件包管理内容


     rpm包管理


     yum


     编译安装


注意:安装软件必须要管理员身份才可以

   

   安装用到的命令


    ldconfig -p:查看本机库

             -v:生成缓存

   安装用到的配置文件


    /etc/ld.so.conf


   缓存文件


    /etc/cache


二.rpm包管理


rpm -i [install-options] PACKAGE_FILE



rpm数据库-----/var/lib/rpm


rpm --initdb:初始化,数据库实现不存在的话会创建


rpm --rebuild :重建,无论数据库存不存在都重新创建一个数据库



install-options


--test:不真实安装,只是测试

--nodeps:忽略依赖直接安装

--replacepkgs|replacefiles:重新安装,覆盖安装|覆盖相同文件重新安装

--nosinature:不检查来源合法性(默认是检查的)

--nodigest:不检查包的完整性

norpm数据库-----scripts:不执行脚本程序

      %pre:安装前脚本     -nopre:不执行

      %post:安装后脚本    -nopost:不执行

      %preun:卸载前脚本   -nopreun:不执行

      %postun:卸载后脚本  -nopostun:不执行



注意:重新安装时,只会更新二进制文件或者是目录,但是所有的配置文件都不会被替换,

所写的用户设置会全部保留下来

想要重新安装配置文件,需要将配置文件删除或者移动后,在确保改目录下没有配置文件后,

在安装,那样会被认定没有配

置文件而新安装一个配置文件





1.rpm包查询 


rpm -q* pkgs


    -q  :检查pkgs是不是安装上了

    -ql :检查包内信息,保内文件列表

    -qa :产看所有的安装的rpm包

    -qf  :后接/PATH/TO/FILE查看文件属于哪个rpm包

    -qpl:查看未安装的包的文件列表(装好后会生成的文件)


    --whatprovides 能力:查询哪个包提供的该项能力

    --whatrequires 能力:被查看的能力被哪个包所依赖


    rpm2cpio 包             | cpio -tv:预览包内文件

    rpm2cpio 包(完整路径) | cpio -idv ./程序+路径(如/usr/bin/tree)

    (支持通配符,如-idv “*.conf”) 释放包内文件


    -qc :配置文件

    -qd :帮助文档

    --scripts :查看自带脚本

    -qi :信息,版本作者安装时间等

    -qR :查询指定包所依赖的capability

    --provides:查看查询的包提供的capability


2.rpm包检验


rpm -V pkgs :rpm包检验 

    -Va     :所有包都进行检验

    -K pkgs :检测包来源

 S.M.5.D.L.V.G.T.P:原本是----------,哪一项出现问题哪一项显示出来

 如---------D------


注意:要在导入秘钥后才能检验


rpm --import /PATH/TO/FILE:导入秘钥

             /etc/pki/rpm-gpg/RPM~


删除秘钥:将gpg-pubkey删掉(用rpm -e)


3.安装

   rpm -ivh PKGS

     -v:显示过程

     -h:用#号做一个进度条


4.升级

  rpm -U pkgs

    升级安装:有旧版程序,升级

              无旧版程序,安装


  rpm -F pkgs

        升级:有旧版程序,升级

              无旧版程序,停止



      --oldpackage:降级安装

      --force:强制安装



注意:不要对内核做升级,linux是支持多内核共存的,想要新内核请直接开始一个新安装就行


5.卸载

  rpm -e install-options pkgs

         --nodeps:忽略依赖,强制卸载

         --noscripts:不运行脚本直接卸载




三.yum


yum的文件服务器有三种


注意:能作为yum的仓库的地方,必须有repodata,反过来说就是有repodata的地方差不多

就可以作为yum的仓库来使用

    

    http://

     ftp://

    file:///(file后的/有三根是因为file代表的本地文件的路径,需要加上根目录/,索性就写在一起了)


yun的配置文件

    

    /etc/yum.conf:为所有库提供配置文件

 

    /etc/yum.repos.d/*repo:为仓库的指向提供配置。内容如下,安装下面的内容哦配置就行


yum的日志


    /usr/log/yum.log


[name仓库名]


baseurl:仓库的路径,必须要有的,http,ftp,file


enabled={1|0}:可有可无的一项,是说该仓库是不是启用,默认是1启用的


gpgcheck={1|0}:可有可无的一项,是说是不是进行包检验,默认是1检查的,但必须要有秘钥


gpgkey:导入的秘钥


enablegroup:支不支持包组,可有可无,默认就是支持


failovermethod={roundrobin|priority}:可有可无,默认是roundrobin,意思是随机挑选


cost=1000,1000是默认值,值越大优先级越低



   有上述可见,一个仓库配置最少只要有三行就行,一个name行,一个baseurl行,一个gpgcheck行


yum命令格式



yum  options command pkgs1 pkgs2



1.yum的command部分


仓库启用禁用


yum-config-manager --enable “仓库名” ----启用仓库

                   --disable “仓库名”----禁用仓库


显示仓库列表


yum repolist [all|enabled|disabled]

              

             all:所有的仓库列表

             enabled:启用的仓库列表

             disable:禁用的仓库列表


显示程序包


yum list [all|available|installed|updates]

             

             all:全部的程序包

             available:可用的程序包

             installed:已安装的程序包

             updates:可升级的程序包


安装重新安装


yum install pkgs1 pkgs2(可最多接5个,5个程序一起安装,但是不同终端哪怕是

子shell中,同一时间都只能有一个yum在运行)


yum reinstall ~


升级降级


yum update pkgs      升级程序

    

    downgrade pkgs   降级程序


检查升级


yum check-update


卸载


yum remove pkgs1 pkgs2.。。


查看程序包信息


yum info pkgs


查看制定的特性


yum provides|whatprovides feature1 feature2


清理本地缓存


yum clean [pkgs|metadata|expire_cache|rpmdb|plugins|all]


构建缓存


yum makecache


搜索


yum search 关键字


查看制定包所依赖的capability


yum deplist pkgs1.。。。。


查看yum事务历史


yum history :用yum安装卸载或者升级等操作的历史


yum history info #:第#号历史的详细信息


yum history undo #:第#号历史做相反的操作(如#号是安装,那么这里就卸载,#号是卸载,这里就做安装)



安装和升级本地程序包


yum localinstall pkgs1 pkgs2.....


yum localupdate pkgs1 pkgs2....


包组的相关命令


yum grouplist grp1...

    

    groupinstall

    

    groupupdate

    

    groupremmove


    groupinfo



用光盘作为yum 的仓库


基本上没什么区别,只是要事先挂载光盘,注意的是命令挂载的光盘会在重启后

失效,不想每次都挂载的话可以写入配置文件中



2.yum的options部分


yum -y:对每个问题都自动回答yes选项

    

    --nogpgcheck:不对此进行检查


    -q:静默模式


    --disable=仓库名:临时(针对此次操作)禁用这个仓库


    --enable=仓库名 : 临时启用这个仓库


    --noplugins:禁用所有插件


3.yum的可用变量部分


$releasever:当前os的版本号

$arch:平台号,i386.i486.i586.x86_64等

$basearch:基础平台,只有i386和x86_64

$YUM0-$YUM9:自定义变量



4.建立yum库


这个是建立那个有repodata文件夹的那个仓库,不是仓库的配置文件,他的路径就

是配置文件中的baseurl后边填写的路径


createrepo  dir






四.编译安装的步骤


很多时候,我们得到的并不是一个制作好的rpm包,而是一些源代码,这个时候

就要我们自己进行编译安装

具体步骤我分了三部分,第一部分是安装过程,分三小步;第二部分是检查,检

查是否安装成功;第三部分是善后部分,分了四小步


第一部分:安装过程


    第一步:执行得到的压缩包中的configure脚本


 

    第二步:make(在解压缩得到的目录下直接输入make命令,注意必须在该目录下)



    第三步:make install (同样是在解压缩得到的目录下)


第二部分:检查


    直接运行一下,看看是不是能正常使用


第三部分:善后部分


    第一步:将二进制程序的路径写到配置文件里,或者写个脚本开机运行


            /etc/profile.d/name.sh内容是在环境变量PATH中添加程序的路径


    第二步:将库文件给导入


            创建/etc/ld.so.conf.d/name.conf目录

            将程序的目录下的lib目录内的库文件复制过来


    第三步:将头文件导入


            a.软连接方式

              在/usr/include下创建新目录,然后将程序的头文件目录用于新目录

              设置成软连接


            b.直接复制到/etc/include


    第四步:设置man帮助


            编辑/etc/man.config(centos6)|mandb.conf(centos7)文件,在里边添加

            一个MANPATH即可



    以上是编译安装的全部步骤,再添加完帮助后一个编译安装才算是完成了


                                                                                                                                                                                                                                                                       












本文出自 “博客作业初版” 博客,谢绝转载!

0530 第十节课

标签:linux

原文地址:http://11602120.blog.51cto.com/11592120/1786790

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!