您的位置:首页 > 编程语言 > Java开发

Java私塾跟我学系列――JAVA篇 第五章 Java高级类特性

2012-02-03 16:31 459 查看
一、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 文件被删除
S 文件大小改变
M 文件权限改变
5 md5码改变
D 设备文件主次号不匹配
L 连接路径不匹配
U 属主改变
G 属组改变
T 最近修改时间改变

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软件包
元数据文件
1、primary.xml.gz
所有rpm包的列表
依赖关系
每个rpm安装生成的文件列表
2、filelists.xml.gz
当前仓库中所有rpm包的所有文件列表
3、other.xml.gz
额外信息,rpm包的修改日志;
4、repomd.xml
记录上面三个文件的时间戳和校验戳(当上面三个文件被缓存到本地时,每次使用进行比对,不同则重新下载)
5、comps*.xml:rpm包分组信息

红帽5和红帽6光盘仓库的结构有所不同
红帽5将rpm包和repodata放在同一目录(有四个仓库)
红帽6将rpm包和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"

1、tar 解压源程序
2、cd 到程序文件目录
3、./configure
--help 查看选项
--prefix=/path/to/somewhere 指定安装目录
--sysconfdir=/path/to/CONFFILE_PATH 指定配置文件路径
功能: 1、让用户选择编译特性 2、检查编译环境和依赖关系
--without_http_rewrite_module 忽略依赖关系
4、make
5、make 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 【将头文件的目录链接过去】

4、man文件路径 :安装在--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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: