您的位置:首页 > 产品设计 > 产品经理

程序包管理(RPM,yum与编译安装)

2015-09-03 16:34 831 查看
RPM|YUM|编译安装
篇一RPM:
了解RPM; Linux程序以源代码的形式发行,用户把源代码构建为所需的程序或程序集
(需要注意的事项:初装环境,需要满足依赖关系)
rpm的命名格式
name-version-relase.arch.rpm
name:程序包的名称
version:程序包源代码的发行号。
relase:rpm程序包版本号.
arch:适用于的硬件平台(x86.x86_64,ppc等)
rpm包的安装
命令:rpm [option] /path/to/package_file
选项
-i  :install 安装
-v  :可视安装进度
-h  :可以看到安装进度条
-ivh :安装过程中能够看到安装进度,安装rpm包时必须要找到rpm本身
rpm包的卸载
命令:rpm [option] package_name
-e :        注意:后面跟所要卸载安装包的名字,不是路径
过程中可能会出现依赖关系不考虑的话(--nodepes)

rpm升级程序包
命令:rpm [option] /path/to/package_file
-Uvh: 升级或安装 :有没有老版本都没问题有就替换,没有就安装。
-Fvh: 纯升级 (必须要有老版本才能升级)
--force: 强制升级。
注意:对内核不能进行升级,只能对内核进行安装。
(Linux允许多内核版本共存)

rpm查询程序包
命令:rpm [option] package_name....
-q   包名  查询某单个包是否安装
-ql  包名  查询安装包生曾的列表的位置
-qf  文件  查询某文件是那个包安装生成的
-qd  包名  查询包安装后生成的帮助文档
-qc  包名  查询安装后生成的配置文件
-q --scripts 包名  查询包相关的脚本

rpm安全检测
校验:检查包安装后生成的文件是否被修改过
rpm -V package_Name
校验来源合法性和软件完整性
rpm -K /path/to/somefile
rpm --checksig /path/to/package_file
--nosigeature:不检查来源合法性
--nodigest:不检查包完整性
rpm数据库
位置:/var/lib/rpm
重建:rpm --initdb:初始化
如果事先不存在一个数据库,则新建之
rpm --rebuilddb 重建
直接新建数据库,会覆盖原有库
篇二YUM:
了解yum(基于rpm上的工具|可以理解为一份详细的菜谱,里面包含了每道菜需要的材料和配方)

定义了当前仓库中所有的rpm包列表以及各包之间的依赖关系和每个软件包安装生成的文件列表
基于C/S架构的服务,需要Server和Client来进行使用,即yum仓库和本地的yum工具
最好的用处就是自动解决依赖关系

要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中
/etc/yum.conf
/etc/yum.repo.d/*.repo
[root@localhost yum.repos.d]# vi centos6.6.repo.b
[root@localhost yum.repos.d]# ls
centos6.6.repo.b  CentOS6-Base-163.repo
[root@localhost yum.repos.d]#
[名字唯一]
name=见名知意
baseurl=仓库的访问路径
ftp ftp://server/path/to/repo http http://server/path/to/repo nfs nfs://servr/nfs_path
file file:///path/to/path (本地以/开始)

enabled={1|0}1,表示启用。0表示不启用
gpgcheck={1|0}1,验证gpg。0表示不验证
gpgkey=公钥地址(可以是本地,也可以是服务器端路径)
cost=定义此仓库开销,默认为1000
[bashoooo]
name=localcentos6.6
baseurl=file:///etc/zhong
enabled=1
gpgcheck=0

[class]
name=classcentos6.6
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
enabled=0
gpgcheck=0
yum安装
命令:yuminstall package_name
yum命令执行后会自动分析安装文件所依赖的包并下载下来后一并安装。

yum卸载
命令:yumremove package_name

yum缓存清理

命令 : yum clean{all|packages|metadata|expire-cache|rpmdb|plugins}

yum查询
命令 : yum repolist {enabled|disabled|all}
列出所有可用的repo yum list {all|installed|available}
列出rpm包

升级
yumupdate package_name yum的命令历史查看
yum history
[root@localhost Packages]# yum grouplist
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
Installed Groups:(安装的)
Additional Development
Base
Console internet tools
Available Groups:(可安装)
Backup Client
Backup Server
CIFS file server
Client management
yum groupinfo "package_group_name": 显示包组信息
三个跟开发相关的包组:
Desktop Platform Development:有图形程序时需安装此组
Server Platform Development
Development Tools

yum groupinstll "group_name" : 安装包组

yum groupremove"group_name":卸载组
如果系统为Centos 5,开发包组为Development Tools,DeveLopment Libraries
如何系统为centos 6,常用的开发包为Development tools,Server Platform Development
yum配置文件中可用的变量
$releasever:程序的版本,对Yum而言指的是redhat-relrase版本。
只替换为主版本号,如 Redhat6.5则替换为6
$arch:系统架构
$basharch:系统基本架构,如i686,i586等的基本架构为i386
$YUM0-9:在系统定义的环境变量,可以在yum中使用

篇三YUM编译安装:
编译安装的步骤:
先要确定Development tools,Server Platform Development 开发软件已安装

1.拿到源代码,并解压
tar -xf package-version.tar.{gz|bz2|xz}
注意:展开后的目录通常为package-version
[root@localhost ~]# ls
201312121212.12        ddtr.rar  httpd-2.2.31.tar.gz  one.sh    zhong
anaconda-ks.cfg        echo      install.log          scripts
CentOS6-Base-163.repo  etc       install.log.syslog   zero.tar
2.切换至源码目录中
cd package-version
[root@localhost ~]# tar xf httpd-2.2.31.tar.gz -C /etc/zhong826
[root@localhost ~]# cd /etc/zhong826/
3.执行configure脚本 configure脚本的通用功能:
我们需要定义的配置:
1.指定安装路径
--prefix=前缀,用于指定安装路径
--sysconfdir=/etc/package_name
2.指定启动/禁用的特性
--enable-feature:例如--enable-fpm
--disable-fecture;例如 --disable-socket
3.指定所依赖功能、程序或文件
--with-function: 启用某功能
--without-function: 禁用某功能
[root@localhost httpd-2.2.31]# ./configure --prefix=/etc/httpd2 --sysconfdir=/etc/httpd2
不同的程序,其configure不尽相同,应获取帮助信息 ./configure --help ./configure (不是默认目录需要改环境变量)
4.编译
make
5.安装
make install 二进制程序的访问方法 (摘要) /etc/profile.d/apache.sh
PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
expore PATH=source /etc/profile.d/apache.sh

头文件输出给系统
ln -sv /usr/local/apache/include /usr/include/httpd
库文件
vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache/lib

让系统重新生成库文件路径缓存
ldconfig

导出man文件
/etc/man.conf
添加
MANPATH /usr/local/apache/man

本文出自 “Hotel California” 博客,请务必保留此出处http://zhongshixun.blog.51cto.com/10314910/1691116
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: