Linux软件包管理(rpm, yum, 源码包)

软件包

常见的三种安装包类型:
Linux软件包管理(rpm, yum, 源码包)_第1张图片
三种安装包特点:
源码包: 有开放的源代码, 手动编译安装, 速度慢
脚本安装包: 相对于源码包而言, 不需要手动编译安装, 实现自动安装, 方便.
二进制包: 没有开放的源代码, 但是没有编译过程, 安装速度快.

RPM

RPM(Red hat package management):
对rpm包进行管理:
安装rpm软件包:

#rpm -ivh .rpm包全名

升级软件包:

#rpm -Uvh 软件名

卸载软件包:

#rpm -e 软件名

查询:
普通查询:

//查询以安装的软件
#rpm -q 软件名
//查询所有以安装的软件
#rpm -qa
//查询以安装的软件信息
#rpm -qi 软件名
//查询未安装的软件包信息
#rpm -qip .rpm包全名
//查询软件安装位置
#rpm -ql 软件名
//查询系统文件属于哪个rpm包
#rpm -qf 系统文件名

查询未安装包依赖包:

#rpm -qRp .rpm包全名

rpm包的最大缺陷是不能解决依赖性问题:

1. 树依赖: a -> b -> c
#rpm -ivh c; rpm -ivh b; rpm -ivh a   --- 按顺序安装
2. 环依赖: a -> b -> c -> a
#rpm -ivh a b c		---	 同时安装
3. 模块依赖: 指的是安装这个包, 需要另一个包的依赖包
可通过 www.rpmfind.net 查询依赖包全名

RPM包校验
主要是查看最近是否对软件的相关文件进行修改:

#rpm -V 软件名

RPM包中文件提取:
主要是用于软件修复, 以恢复ls为例
1.首先先获得该软件的从属包:
在这里插入图片描述
删除ls:
Linux软件包管理(rpm, yum, 源码包)_第2张图片
2.从指定RPM包中提取指定文件:

//将rpm转化成cpio格式 --- cpio用于创建软件档案文件或从档案文件中提取文件
//将ls提取到./bin/ls  ---  -i:copy-in还原 -d:还原时自动创建目录 -v:显示提取信息
#rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-47.el6.i686 | cpio -idv ./bin/ls

3.拷贝到真正的默认目录下, 即可正常使用.

#cp -r ./bin/ls /bin/

yum在线管理

yum安装的流程是, 先到指定服务器上去搜索软件包, 然后下载, 安装软件包(以及相关依赖包), 这样很好的解决了软件包依赖性问题.
配置IP
1.临时配置:

#ifconfig eth0 本机IP

2.保存配置

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes
#service network restart

yum源
在这里插入图片描述
默认是已经配置好的, CentOS-Base.repo是网络yum源, 通过互联网访问; CentOS-Media.repo是光盘yum源, 通过本地光盘访问.
yum安装软件:

#yum install 包名

yum升级软件:

#yum update 包名
//不加包名, 升级所有软件, 包括内核信息, 内核更新后如果不进行配置会出现问题
//因此这种操作尽量谨慎

yum卸载软件:

// 卸载掉软件包及其所有依赖包, 可能会由于模块依赖而卸载掉系统依赖文件, 导致崩溃
// 因此yum的卸载操作尽量谨慎
#yum remove 包名

yum查询

// 查看所有以安装的软件
#yum list
// 查询指定软件包
#yum search 包名

yum管理软件组:

// 查询所有软件组
#yum grouplist
// 安装指定软件组
#yum groupinstall 软件组名
// 卸载指定软件组
#yum groupremove 软件组名

光盘yum源搭建:
1.挂载光盘:

#mount /dev/cdrom	//或者mount	/dev/sr0
//查看挂载:
#mount

2.使/etc/yum.repos.d/下的CentOS-Media.repo唯一生效:

//可以暂时修改其他repo的后缀

3.配置CentOS-Media.repo的挂载信息及生效信息

//vi进入CentOS-Media.repo
//修改光盘挂载地址
baseurl=file://光盘挂载地址	---:baseurl=file:///mnt/cdrom
//注释多余地址:
	#file:///media/cdrom/
	#file:///media/cdrecorder/
//使yum源生效
	enabled=1

源码包安装

一般将源码包安装到 /usr/local/ 下.
源码包安装步骤:
1.下载源码包
可以通过从网站上下载.tgz包或者通过wget+下载网址来完成对源码包的下载.
2.解压缩源码包:
源代码存放位置: /etc/local/src
软件安装位置: /etc/local/软件名

// 解压到当前目录
#tar -zxvf 源码包路径

3.查看安装手册, 一般为INSTALL

//软件配置与检查
#./configure --prefix /usr/local/软件名
//生成Makefile, 编译
#make
//安装
#make install

4.执行
只能通过绝对路径执行(可以配置成简单方式, 比如说软链接)

#/usr/local/软件名/bin/可执行文件  start

源码包与rpm包区别:
安装前: 概念不同
源码包是开放源代码, 但是安装速度慢且安装繁杂; rpm包为二进制文件, 没有源代码, 但是安装速度快.
安装后:位置不同
源码包一般是安装到/etc/local/ 下, 并且只能通过绝对路径进行执行; rpm包可通过rpm -ql 来查看默认安装位置, 不仅能通过绝对路径(默认为/etc/rc.d/init.d/软件名)来执行, 还可以通过service 软件名 start (这正是由于rpm默认绝对路径的原因)来启动执行.

脚本安装包

与安装源码包的前两步一样, 只不过可以直接执行解压文件中的install.sh脚本文件来进行自动安装而已.

你可能感兴趣的:(Linux,Linux的圈子不好混)