Linux软件管理和安装
软件安装和管理
软件包
1、bin文件.bin
2、rpm包
3、源码压缩包
安装软件的步骤:
1、检查是否已经安装
rpm -qa | grep jdk
2、下载软件包
3、安装
依赖
rpm 包,已经编译之后的应用程序。
rpm命令:
1、安装
rpm -i /PATH/TO/PACKAGE_FILE
-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 : 查询已经安装 的所有包
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: 清理缓存
[ 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、安装
tar
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
使用源码安装mysql
Linux软件管理和安装的更多相关文章
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...
- linux软件管理(六)
[教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软 ...
- linux入门基础——linux软件管理RPM
由于linux入门基础是基于CentOS解说的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RP ...
- linux软件管理-RPM
目录 linux软件管理-RPM RPM的基础概述 RPM包安装管理 linux软件管理-RPM RPM的基础概述 rpm:RPM全称RPM Package Manager缩写,由红帽开发用于软件包的 ...
- linux 软件管理--yum工具及源码包
目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...
- Linux软件管理--RPM工具
目录 Linux软件管理--RPM工具 Rpm基础概述: Rpm包安装管理 Linux软件管理--RPM工具 Rpm基础概述: RPM全称RPM Package Manager缩写,由红帽开发用于软件 ...
- linux软件管理
People who cannot find time for recreation are obliged sooner or later to find time for illness.腾不出时 ...
- Linux入门基础(七):Linux软件管理基础
源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要编译成为二进制形式之后才能够运行 源代码基本编译流程 : ./configure 检 ...
- Linux软件管理(rpm、yum、tar)
RPM软件包安装 YUM安装 源代码安装 TAR包管理:实现对文件的备份和压缩 rpm包管理 rpm命令是RPM软件包的管理工具. -a:查询所有套件:-b<完成阶段><套件档> ...
随机推荐
- csu - 1537: Miscalculation (模拟题)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1537 因为给出的式子是必定合法的,只要用两个栈分别保存符号和数字.算出答案后和从左至右算的答案比对 ...
- Organize Your Train part II 字典树(此题专卡STL)
Organize Your Train part II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8787 Acce ...
- 笔记:Javac编译器
Javac编译器是把 *.java 文件转换为 *.class 文件,是一个前端编译器:对应着有一种把字节码转变为机器码的编译器,称为JIT编译器(Just In Time Compiler),比如 ...
- 使用HttpClient调用第三方接口
最近项目中需要调用第三方的Http接口,这里我用到了HttpClient. 首先我们要搞明白第三方接口中需要我们传递哪些参数.数据,搞明白参数以后我们就可以使用HttpClient调用接口了. 1.调 ...
- 006 Cisco switch prewired
Switch>en Switch#config t Enter configuration commands, one per line. End with CNTL/Z. Switch(co ...
- Cocos2D-X2.2.3学习笔记12(瞬时动作)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVjYmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- Unity3D游戏开发最佳实践20技巧(一)
关于这些技巧这些技巧不可能适用于每一个项目. 这些是基于我的一些项目经验.项目团队的规模从3人到20人不等. 框架结构的可重用性.清晰程度是有代价的--团队的规模和项目的规模决定你要在这个上面付出多少 ...
- npm won't install packages “npm ERR! network tunneling socket could not be established, cause=Parse Error”
昨天在使用npm安装react-native的时候一直报网络不能connection,可是在浏览器中直接访问时是成功,搜索百度无果,最后在google中找到了这个解决方案:http://stackov ...
- BZOJ 1037: [ZJOI2008]生日聚会Party 四维DP
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1650 Solved: 971[Submit][ ...
- C++中UINT32和INT32以及int,BOOL和bool的差别
在AndroidHAL层开发中,编写C++代码的时候.遇到了数据类型的困扰.经过查找资料,总结例如以下: 1.UNIT32和int以及INT32的差别: (1).int默认是signed int.也就 ...