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

    注:以下第一段代码是 文章 提供的代码,但是简书的代码粘贴下来不换行,所以我在这里贴了一遍.其原理在原文中也说得很明白了. 算个旅行商问题 基本介绍 戳 代码解释与来源 代码整个计算过程使用的以下公式 ...

  2. IT行业大学生就业分析报告感想

    现如今的高校毕业生每年都在增长,就业压力只增不减,人才市场挤满了人 学生们普遍的表现出就业难的情况,并且适合自己的工作也难找 从报告中也容易看出IT行业很吸引人,也是人数最多的,因此机会也就变少了 在 ...

  3. 1029 C语言文法定义

    program à external_declaration | program external_declaration <源程序> ->  <外部声明> |  < ...

  4. PAT 甲级 1081 Rational Sum (数据不严谨 点名批评)

    https://pintia.cn/problem-sets/994805342720868352/problems/994805386161274880 Given N rational numbe ...

  5. js & 快捷键

    js & 快捷键 demo js-keyboard-shortcuts.html https://codepen.io/webgeeker/pen/MLYrNq let isCtrl = fa ...

  6. codepen & js demos

    codepen & js demos Mutation Observer & customize resize event listener & demo https://co ...

  7. (转)Redis使用详细教程

    转载至http://www.cnblogs.com/wangyuyu/p/3786236.html 一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 ************ ...

  8. webpack打包css样式出错

    有两个组件home和search 两个组件中都有class为footer的元素 但是search的footer比home的多一条background的样式 本地开发的时候没问题,但是打包之后,home ...

  9. TortoiseSVN 和 VisualSVN Server 使用教程

    TortoiseSVN 和 VisualSVN Server 使用教程 来源 https://blog.csdn.net/xgf415/article/details/75196360 目录: SVN ...

  10. 飞舞的蝴蝶(GraphicsView框架)

    飞舞的蝴蝶(GraphicsView框架) 一.简介 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(容器).QGraphicsView(视图).QGraphicsI ...