改动时间
2020-03-12 19:30:23
软件包分类
源码包
脚本安装包(不常用,不多)1
2
3
4
5
6
7
8
9* 优点
+ 开源,C语言编写,可以查看修改源码
+ 自由选择所需功能
+ 编译安装,效率高
+ 卸载方便,把安装位置直接删除
* 缺点
+ 安装步骤多
+ 编译时间长
+ 安装时出错,新手解决不了二进制包
也称RPM包,系统默认包1
2
3
4
5
6
7
8* 优点
+ 包的管理系统简单,几个命令就可以安装,升级,查询,卸载
+ 安装速度比源码包快得多
* 缺点
+ 不能看到源码
+ 功能选择没有源码包灵活
+ 依赖性
+ 例如a让我先装b,b让我先装c 所以装包顺序 c b a 卸载与装包相反
rpm命令管理
RPM包管理-rpm命令管理
包命名与依赖性
命名规则
RPM包命名规则httpd-2.2.15-18.e16.centos.1.i686.rpm
httpd
软件包的名称2.2.15
软件版本18
软件发布的次数e16.centos
适合Linux的平台i686
适合的硬件平台rpm
rpm包的扩展名
依赖性
RPM包依赖性
树形依赖
a->b->c 安装顺序 c b c 卸载与装包相反环形依赖
a->b->c->a 安装一条命令安装a b c即可解决模块依赖
模块依赖查询网址www.rpmfind.net
安装升级与卸载
包全名与包名
包全名
- 没有安装的包
- 挂载目录的
Packages
目录下的文件名称 - 需指定路径
包名
- 安装过的包
- 搜索
/var/lib/rpm
下的数据库 - 无需指定路径
RPM安装
rpm -ivh 包全名
-i
install 安装-v
verbose 显示详细信息-h
hash 显示进度
需要一步步来安装依赖,比较麻烦推荐yum
安装
RPM包升级
rpm -Uvh 包全名
卸载
rpm -e 包名
查询
是否安装
rpm -q 包名
查询是否安装-q
query查询rpm -qa
查询所有安装的RPM包,管道符查询
包信息
rpm -qi 包名
查询包信息-i
information信息rpm -qip 包全名
了解即可,查询未安装的包信息-p
package
包安装位置
rpm -ql 包名
查询包安装位置-l
list列表rpm -qlp 包全名
查询为安装包的安装位置,要安装到哪儿
包依赖
rpm -qR 包名
查询软件包的依赖性-R
requires需要rpm -qRp 包全名
查询未安装软件包的依赖性
属于哪个包
rpm -qf 系统文件名
查询系统文件属于哪个RPM包
检验和文件提取
校验
RPM包校验
rpm -V 已安装包名
检验指定RPM包中的文件-V
verify验证
S
文件大小是否改变M
文件类型或权限(rwx)被改变5
文件MD5校验是否改变(也可以看成内容是否被改变)D
代码是否改变L
路径是否改变U
所有者是否改变G
所属组是否改变T
文件修改时间是否改变
文件提取
RPM包中文件提取
跳过学习
yum命令管理
RPM包管理-yum在线管理
IP配置和网络yum源
IP配置
配置联网
设置Linux之CentOS7的网络的两种方式动态IP+静态IP网络yum源
不需要进行配置vi /etc/yum.repos.d/CentOS-Base.repo
可以进行查看配置
yum命令
查询
yum list
查询所有软件包yum search 包名
查询指定包
安装
yum -y install 包名
安装指定软件包install
安装-y
自动回答yes
例如,安装gcc
升级
yum -y update 包名
升级指定软件包update
升级
卸载
不推荐使用
软件组管理
yum grouplist
列出所有可用软件组列表yum groupinstall "软件组名"
安装软件组yum groupremove "软件组名"
卸载指定软件组
光盘yum源
- 除了
CentOS-Media.repo
,全部都把后缀名.repo
改为.repo.1
使其失效 - 进入
vi CentOS-Media.repo
- 把16行改为
baseurl=file:///mnt/cdrom
这里的/mnt/cdrom
为你的挂载目录 - 把17,18行注释
- 把20行
0
改为1
表示开启1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-7. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c7-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c7-media [command]
# 这个内容为`yum list`显示第三列内容
[c7-media]
name=CentOS-$releasever - Media
# file表示文件系统中查找 而不是联网的http
# file:/ 后面跟的是挂载路径
baseurl=file:///mnt/cdrom/
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- 把16行改为
源码包管理
源码包和RPM包区别
安装前:概念区别
安装后:安装位置区别
- RPM包默认安装位置
1
2
3
4
5`/etc/`配置文件路径
`/usr/bin/`可执行命令路径
`/usr/lib/`程序所使用的函数库路径
`/usr/share/doc/`基本的软件使用手册路径
`/usr/share/man/`帮助文件路径 - 源码包安装位置
一般是在/usr/local/软件名/
- 位置不同的影响
1
2
3
4
5
6RPM包可以使用系统管理命令service来管理
例如:重启网卡
绝对路径启动:/etc/rc.d/init.d/network restart
简化启动:service network restart
源码包没有安装默认路径中,只能使用绝对路径来启动
例如启动Apache:/usr/local/apache2/bin/apachectl start
源码包安装过程
安装准备
- 安装C语言编辑器,联网执行
yum -y install gcc
- 下载源码包
httpd-2.4.41.tar.gz
http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.41.tar.gz
安装注意事项
- 源代码保存位置
/usr/local/src/
- 软件安装位置
/usr/local/
- 安装过程出错
- 安装过程停止
- 并且出现
error
warning
no
的提示
安装过程
演示用,但不能成功安装,因为我这里会出错
- 把文件传入到
/root/
目录下 - 解压
tar -zxvf httpd-2.4.41.tar.gz
- 进入解压目录
- 进行安装,
vi INSTALL
查看安装说明- 安装所需
./configure --prefix=/usr/local/apache2
定义安装目录- 检测系统环境是否符合安装要求,这里需要安装gcc,联网安装
yum -y install gcc
- 定义好的功能和检测的系统环境写入Makefile文件
- 执行
make
进行编译 make install
安装/usr/local/apache2/bin/apachectl start
启动
卸载
直接删除/usr/local/
下的包就行了