任何程序都是先写代码,拿到源码去编译得到一个目标程序。
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



Linux rpm yum 等安装软件的更多相关文章

  1. Linux系统yum命令安装软件时保留(下载)rpm包 -- 转载

    昨天在部署zabbix监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用.而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有外网的服务器的yum命令来安装这些软件,并自 ...

  2. Linux使用yum命令安装软件时,连接不了网路报错:ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"

    错误: 解决方案: 在/etc/sysconfig/network-scripts/ifcfg-eth0文件中配置DNS信息: vim /etc/sysconfig/network-scripts/i ...

  3. linux RPM/YUM包管理

    linux RPM/YUM包管理 目录 linux RPM/YUM包管理 RPM RPM包管理 查询rpm包 卸载rpm包 安装rpm包 YUM 查看yum服务器是否有需要安装的软件 下载安装指定的y ...

  4. 通过本地yum源安装软件报错[Errno 14] PYCURL ERROR 56 - "Failure when receiving data from the peer"

    通过本地yum源安装软件报错 http://192.168.3.85/centos/6/os/x86_64/Packages/php-pdo-5.3.3-47.el6.x86_64.rpm: [Err ...

  5. 【OS_Linux】yum命令安装软件

    1.YUM的简介 Yum(全称为 Yellow dog Updater, Modified)是一个rpm包管理器.它能够从指定的服务器上自动下载RPM包并安装,可以自动处理包之间的依赖性关系,并且一次 ...

  6. Linux使用yum install 安装程序时,提示“另外一个程序锁定了 yum;等待它退出……”

    Linux使用yum install 安装程序时,提示“另外一个程序锁定了 yum:等待它退出……” 原因: yum命令一次只能安装一个软件,所以当你下载安装第二个软件包时,系统进程锁会锁定yum,这 ...

  7. yum命令安装软件时,出现--centos 7 安装apache 出现 Could not resolve host: mirrorlist.centos.org; 未知的错误"--CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决

    CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决 今天在虚拟机上安装完CentOS6.5之后,首次使用时yum命令安装软件时,出现 ...

  8. CentOS8Linux中配置网易云网络yum源安装软件

    在CentOS8Linux中配置网易云网络yum源安装软件 前提是你的操作系统是CentOS-Linux 你已经配置好了本地yum源,并且你的网络是可用的. 本地yum源配置请参考:https://w ...

  9. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

随机推荐

  1. Struts2(五)

    以下内容是基于导入struts2-2.3.32.jar包来讲的 1.文件上传 A.单文件上传 <body> <form action="${pageContext.requ ...

  2. jQuery之元素查找

    在已经匹配出的元素集合中根据选择器查找孩子/父母/兄弟标签1. children(): 子标签中找2. find() : 后代标签中找3. parent() : 父标签4. prevAll() : 前 ...

  3. 修改mac的hosts文件

    第一步:请先打开 Mac 系统中的 Finder 应用,接下来请按快捷键组合 Shift+Command+G 三个组合按键,并输入 Hosts 文件的所在路径:/etc/hosts , 随后即可在 F ...

  4. 使用JsonConfig中的setExcludes方法过滤不需要转换的属性

    Hibernate的many-to-one双向关联中,查询many方时会将one方数据顺带着查询,同时one中会有List<Many>,然后又会去查Many中的数据... 周而复始,结果j ...

  5. Android性能测试工具:Emmagee介绍

    简介 Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具.该工具的优势在于如同windows系统性能监视器类似,它提供的是数据采集的功能,而行为则基于用户真实 ...

  6. list的迭代器能解决并发问题,collection 的迭代器不能解决并发问题,for可以解决并发问题

    list的迭代器能解决并发问题,collection 的迭代器不能解决并发问题 为什么list支持add,collection不支持 例如有两个人同时添加第三个元素 list的迭代器能锁定线程 只有等 ...

  7. Android四大组件之Intent(续)

  8. 降雨量 HYSBZ - 1067(RMQ)

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ Login Register 捐赠本站 Notice:1:注册本OJ方式请见ht ...

  9. Eclipse如何将代码变成大写/小写

    代码变小写:选中要换的代码,操作Ctrl+Shift+y即可将大写变小写 代码变大写:选中要换的代码,操作Ctrl+Shift+x即可将小写变大写

  10. linux系统启动自动激活网卡的解决方法

    linux每次启动的时候网卡都需要激活才能上网,实在是很麻烦. 上网找了找资料,最后是这样解决的: #   vi   /etc/sysconfig/network-scripts/ifcfg-eth0 ...