1  编译的过程复杂有需要准备编译的环境,和硬件有关,32位64位,内核的不同等等所以需要编译多次



    Java特殊但是他需要安装jvm,



2  各种版本的都编译了放那就是rpm(官网)  windows上面是exe的文件



    还是不够好,但是也会有一些失败,让你安装一些其他的软件,它有一定的依赖,比如依赖的库



3  解决依赖用yum(仓库)yum只是一个框架,底层还是rpm,他会帮助我们分析出依赖哪些软件,然后帮助我们下载



    但是yum不是万能的,软件少(4000多个软件),有些需要去rpm下载比如jdk。而 EPEL上面的软件多, 2w





 bash启动的时候读取的初始化的文件profile



 export JAVA_HOME=/usr/java/jdk1.7.0_67



 export PATH=$PATH:$JAVA_HOME$/bin



 source /etc/profile



 source 是bash内建的命令



 bash输入命令的时候就是通过PATH找到命令的路径 



 指定了Java的PATH,当我们输入Java的时候他就会通过PATH找到Java是什么执行它






 bin



 rpm



 yum 



 编译安装 > 使得目标程序更符合客户的需求



可配置



裁剪






解压直接得到程序 (完全使用,补全依赖:tomcat jdk)





rpm 包,已经编译之后的应用程序。






rpm命令:



1、安装



rpm -i /PATH/TO/PACKAGE_FILE 



        -i  :是安装



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



-v: 显示详细过程



-vv: 更详细的过程





rpm -ivh /PATH/TO/PACKAGE_FILE      文件名






--nodeps: 忽略依赖关系;



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



--force: 强行安装,可以实现重装或降级;





安装jdk





配置环境变量:编辑/etc/profile 或者 ~/.bash_profile



export JAVA_HOME=/usr/java/jdk1.7.0_71



        export PATH=$PATH:$JAVA_HOME/bin





2、查询



文件名可以改,包不行      查询是否安装时用包查询



rpm -q PACKAGE_NAME: 查询指定的包是否已经安装



rpm -qa : 查询已经安装的所有包<font color="#000000"></font>



rpm -qa |grep  jdk     得到 PACKAGE_NAME



centos yum install 特别慢 centos安装yum rpm_操作系统



 




 rpm -qi PACKAGE_NAME: 查询指定包的说明信息;

 

centos yum install 特别慢 centos安装yum rpm_数据库_02


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


centos yum install 特别慢 centos安装yum rpm_Java_03


 




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


centos yum install 特别慢 centos安装yum rpm_JAVA_04


 




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


centos yum install 特别慢 centos安装yum rpm_运维_05


 




rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本



rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;反推的时候


centos yum install 特别慢 centos安装yum rpm_数据库_06


 



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


rpm -qpi /PATH/TO/PACKAGE_FILE


rpm -qpl 




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



6、重建数据库


rpm 


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


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






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


加密类型:


对称:加密解密使用同一个密钥


公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;



单向:




# ls /etc/pki/rpm-gpg/


RPM-GPG-KEY-redhat-release



rpm -K /PAPT/TO/PACKAGE_FILE


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


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








yum: Yellowdog Update Modifier


yum


apt-get




yum install zsh




yum源配置


[Repo_ID]


name=Description


baseurl=


ftp://


http://


file://


enabled={1|0}


gpgcheck={1|0}


gpgkey=






yum [options] [command] [package ...]




-y: 自动回答为yes


--nogpgcheck






list: 列表 


支持glob


all


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


installed: 已经安装的


updates: 可用的升级








clean: 清理缓存  makecache


[ packages | headers | metadata | dbcache | all ]







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


all


enabled: 默认


disabled




install: 安装


yum install PACKAGE_NAME




update: 升级


update_to: 升级为指定版本




remove|erase:卸载




info: 




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



groupinfo


grouplist


groupinstall


groupremove


groupupdate








手动编译安装




步骤:


1、下载


2、查看源码


3、准备编译环境


4、检查(依赖、兼容)


5、编译


6、安装








gcc: GNU C Complier, C


g++: 








make




make install






编译安装的三步骤:


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


安装"Development Tools"和"Development Libraries" 




yum groupinstall Development Tools Development Libraries




 


tar -zxvf 压缩包 ,tar.gz


# tar 


# cd


# ./configure  


--help 


--prefix=/path/to/somewhere


--sysconfdir=/PATH/TO/CONFFILE_PATH


功能:1、让用户选定编译特性;2、检查编译环境;


# make


# make install




# tar xf tengine-1.4.2.tar.gz


# cd tegnine-1.4.2


# ./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf


# make


# make install








安装apache




解压:tar -zxvf httpd-2.4*****.tar.gz




apache 依赖apr,和apr-util 


下载安装apr和apr-util