linux下yum程序包管理及源码安装

1.yum仓库中的repodata目录中元数据文件:

  primary.xml.gz:代表所有RPM包的列表和依赖关系以及每个RPM安装生成的文件列表;

  filelists.xml.gz:代表当前仓库中所有RPM包的所有文件列表;

  other.xml.gz:代表额外信息,RPM包的修改日志;

  repomd.xml记录的是上面三个文件的时间戳和校验和;

  comps*.xml: RPM包分组信息

2.yum定义repo文件

[Repo_ID]

name=Description

baseurl=

ftp://

http://

file:///

enabled={1|0} 默认启动

gpgcheck={1|0}

gpgkey=

注意gpgkey需手动提前导入:rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 

3.yum命令

格式:yum [选项] [命令] [包名 ...]

-y: 自动回答为yes

--nogpgcheck

list: 列表 

支持glob

all

available:可用的,仓库中有但尚未安装的

installed: 已经安装的

updates: 可用的升级

clean: 清理缓存

[ packages | headers | metadata | dbcache | all ]

repolist: 显示repo列表及其简要信息

all    所有仓库

enabled: 默认

disabled  关闭

install: 安装

  yum install rpm包名

update: 升级

update_to: 升级为指定版本

remove|erase:卸载

info: 说明信息,相当于rpm -qi

provides| whatprovides: 查看指定的文件或特性是由哪个包安装生成的; 

groupinfo 

grouplist 

groupinstall

groupremove

groupupdate

4.自创建yum仓库:

createrepo ./ 创建yum仓库元文件

createrepo -g  /光盘自带的comps.*.xml    /rpm包所在路径   创建包分组信息

5.源代码手动编译安装 

 rpm包是已被编译的二进制格式程序,如需加入额外功能,需手动源码安装程序

make: 项目管理工具,

makefile: 定义了make(gcc,g++)按何种次序去编译这些源程序文件中的源程序

automake: --> makefile.in --> makefile

autoconf:--> configure

源代码编译安装的三步骤:

安装前:

前提:准备开发环境(编译环境),即安装"Development Tools"和"Development Libraries" 

    代表有:gcc,glibc

安装中:

1./configure  功能:1、让用户选定编译特性;2、检查编译环境;3.指定安装路径

--help  查看帮助信息

--prefix=指定安装路径,默认安装在/usr/local

--sysconfdir=/程序配置文件路径

2. make 

            make clean 清除configure配置文件重新./configure

3. make install

           make uninstall 卸載軟件或刪除目錄下所有文件

安装后:

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

1.1.修改/etc/profile文件

1.2.在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义

       export PATH=$PATH:指定程序安装路径

     source *.sh 重新读取该文件

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

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

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

-v: 显示重新搜寻库的过程

3、头文件:输出给系统,

增添头文件搜寻路径,使用软链接进行,系统默认库文件路径:/usr/include

两种方式:

ln -s /usr/local/程序名称/include/* /usr/include/ 或

ln -s /usr/local/程序名称/include  /usr/include/程序名称

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

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