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
rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本
rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;反推的时候
如果某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