码迷,mamicode.com
首页 > 系统相关 > 详细

Linux软件管理

时间:2015-08-08 23:03:37      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:详细信息   数据库   软件包   rpm   yum   make   

一、rpm命令

     rpm:

         数据库:/var/lib/rpm

     rpmbuild:

         创建软件包

 

 

1、安装

rpm -i /PATH/TO/PACKAGE_FILE

    -h : #显示进度:每个#表示2%

    -v:显示安装详细信息

    -vv:显示更详细信息

 

    --nodeps:忽略依赖关系,软件可以装但装上也无法运行

    --replacepkgs:重新安装,替换原有安装

    --oldpackage:降级安装

    --force:强行安装,可以实现重装或降级(相当于--replacepkgs--oldpackage--replacefiles)

    --test:不真正安装,仅测试

 

  通常:

    rpm -ivh /PATH/TO/PACKAGE_FILE

 

 

2、查询

rpm -q PACKAGE_NAME(只需跟包名即可)

rpm -qa : 查询已安装的所有包

rpm -qi PAKAGE_NAME: 查询指定软件包的说明信息

rpm -ql PACKAGE_NAME:查询指定软件包安装后生成的文件列表

rpm -qf /path/to/somefile : 查询某文件是由哪个软件包安装生成的

rpm -qc PACEAGE_NAME : 查询指定软件包安装的配置文件

rpm -qd PACKAGE_NAME : 查询指定软件包安装的帮助文件

 

rpm -q --scripts PACKEAGE_NAME : 查询指定的文件是由哪个rpm包安装生成的

   

如果某rpm包尚未安装,我们需要查询其说明信息、安装以后会生成的文件

rpm -qpi /PATH/TO/PACKAGE_FILE (说明信息)

        rpm -qpl ......(将会生成的文件列表)

            同样   -qp{f,c,d}都可使用

 

3、升级

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE  :如果装有老版本的,则升级;否则,安装

rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE  :如果装有老版本的,则升级;否则,退出

    --oldpackage:降级

 

 

4、卸载

rpm -e PACKAGE_NAME (如果某软件包被其他软件依赖,则不能卸载)

    --nodeps:忽略依赖关系(强行卸载)

 

5、校验

rpm  -V PACKAGE_NAME   查看软件安装文件是否被改动过

missing 文件被删除

文件大小改变

文件权限改变

5 md5码改变

设备文件主次号不匹配

连接路径不匹配

属主改变

属组改变

最近修改时间改变

 

6、重建数据库

     rpm 

       --rebuilddb:重建数据库 , 一定重新建立

       --initdb:初始化数据库,没有建立,有就不用建立

 

 

7、检验来源合法性及软件包完整性

rpm -K /PATH/TO/PACKAGE_FILE

   dsa,gpg:验证来源合法性,也及验证签名;可以用--nosignature略过此项

   sha1,md5:验证软件包完整性;可以使用--nodigest,略过此项

 

验证前要导入秘钥文件

   rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-radhat-release

 

二、yum软件包管理

yum仓库包括

    rpm软件包

    元数据文件

       1primary.xml.gz

          所有rpm包的列表

          依赖关系

          每个rpm安装生成的文件列表

       2filelists.xml.gz

          当前仓库中所有rpm包的所有文件列表

       3other.xml.gz

          额外信息,rpm包的修改日志;

       4repomd.xml

          记录上面三个文件的时间戳和校验戳(当上面三个文件被缓存到本地时,每次使用进行比对,不同则重新下载)

       5comps*.xml:rpm包分组信息

 

 

红帽5和红帽6光盘仓库的结构有所不同

    红帽5rpm包和repodata放在同一目录(有四个仓库)

    红帽6rpm包和repodata放在不同的目录下

 注意:在使用的时候必须以repodata所在的目录作为yum仓库的真正目录

 

 

 

yum命令

 

使用仓库要先在配置文件中指定仓库位置

/etc/yum.conf配置文件中指定要想添加一个yum仓库必须在/etc/yum.repos.d/目录下面创建.repo结尾的文件;repo文件创建规则:

[Repo_Name] 表示名(id)

name=     (Description描述信息)

baseurl=  (仓库位置)

          仓库位置支持3中格式:

          ftp://   

          http://

          file:///  本地目录

enabled={1|0}  (定义该仓库是否启用)

gpgcheck={1|0}  (是否验证软件包的合法性,如果指定为1,则必须指定下一个gpgkey)

gpgkey=   (秘钥文件位置,也支持3种格式【当gpgcheck设置为1时必须指定】)

          

【一个repo文件下可以创建多个yum仓库,都按照以上规则】

 

yum 

  list 软件包列表

  clean 清空缓存

  repolist 查看repo列表信息[all | enabled | disabled]

  

 

如何创建yum仓库

createrepo

1、将rpm包放到将要创建为仓库的目录下

2、使用createrepo -g /path/to/comps-rhel5-vt.xml /仓库路径/  【创建依赖关系等文件】

   comps-rhel5-vt.xml为 红帽创建依赖关系等文件所需要的文件,一般仓库内都有

3、将添加repo文件创建仓库

 

make install编译安装

前提:准备开发环境(编译环境)

      安装"Development Tools" 和 "Development Libraries"

 

1tar  解压源程序

2cd 到程序文件目录

3./configure

     --help  查看选项

     --prefix=/path/to/somewhere    指定安装目录

     --sysconfdir=/path/to/CONFFILE_PATH  指定配置文件路径

     功能: 1、让用户选择编译特性  2、检查编译环境和依赖关系

     --without_http_rewrite_module 忽略依赖关系

4make

5make install

 

安装完成后:

1、修改PATH环境变量,以能够识别此程序的二进制文件路径

   (1)将安装好的程序添加到PATH查找路径中:修改 /etc/profile  添加PATH=$PATH:/新装程序路径

   (2)/etc/profile.d/目录建立一个一.sh为名称后缀的文件,在里面定义 :export PATH=$PATH:/path/to/somewhere(程序路径)

2、如果新安装的程序可能会被别的程序依赖的话:

     默认情况下,系统搜索库文件的路径是:/lib /usr/lib ;要添加额外的搜寻路径

     在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中

     ldconfig  通知系统重新搜寻库文件

         -v : 显示重新搜寻过程

3、添加头文件搜寻:【头文件定义了库函数信息,包括接收的参数、参数类型个数、返回值等】 

    系统默认路径:/usr/include

    增加头文件搜寻路径,使用链接:

    将 /usr/新程序的库头文件路径/    链接到  /usr/include

       两种方式:

       ln -s /usr/local/tengine/include/*  /usr/include   【将所有头文件都链接过去】 

       ln -s /usr/local/tengine/include  /usr/include/tengine  【将头文件的目录链接过去】

 

4man文件路径 :安装在--prefix指定的目录下的man目录 :/usr/share/man

      1、在/etc/man.config中添加一条MANPATH

      2、每次使用指定man地址 : man -M /PATH/TO/MAN_DIR COMMAND


本文出自 “Mr.Zhu -- 技术交流” 博客,请务必保留此出处http://bjishu.blog.51cto.com/7481301/1682961

Linux软件管理

标签:详细信息   数据库   软件包   rpm   yum   make   

原文地址:http://bjishu.blog.51cto.com/7481301/1682961

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