第4章 软件包管理
📝 Linux学习笔记 - 第4章 🎯 共5节
本章目录
RPM包-rpm命令
RPM包安装
rpm -ivh 包全名| 选项 | 说明 |
|---|---|
| -i | 安装 |
| -v | 显示详细信息 |
| -h | 显示进度 |
| —nodeps | 不检测依赖性 |
RPM包升级
rpm -Uvh 包全名| 选项 | 说明 |
|---|---|
| -U | 升级 |
| -v | 显示详细信息 |
| -h | 显示进度 |
| —nodeps | 不检测依赖性 |
RPM包卸载
rpm -e 包名| 选项 | 说明 |
|---|---|
| -e | 卸载 |
| —nodeps | 不检查依赖性 |
RPM包查询
rpm -q 包名
# 查询包是否安装
rpm -qa
# 查询所有已经安装的RPM包查询软件包详细信息
rpm -qi 包名| 选项 | 说明 |
|---|---|
| -i | 查询软件信息 |
| -p | 查询未安装包信息 |
查询包中文件安装位置
rpm -ql 包名| 选项 | 说明 |
|---|---|
| -l | 列表 |
| -p | 查询未安装包信息 |
查询系统文件属于哪个RPM包
rpm -qf 系统文件名| 选项 | 说明 |
|---|---|
| -f | 查询系统文件属于哪个软件包 |
查询软件包的依赖性
rpm -qR 包名| 选项 | 说明 |
|---|---|
| -R | 查询软件包的依赖性 |
| -p | 查询未安装包信息 |
RPM包校验
rpm -V 已安装的包名| 选项 | 说明 |
|---|---|
| -V | 校验指定RPM包中的文件 |
校验内容信息:
| 标记 | 说明 |
|---|---|
| S | 文件大小是否改变 |
| M | 文件的类型或文件的权限(rwx)是否被改变 |
| 5 | 文件MD5校验和是否改变(可以看成文件内容是否改变) |
| D | 设备的主从代码是否改变 |
| L | 文件路径是否改变 |
| U | 文件的属主(所有者)是否改变 |
| G | 文件的属组是否改变 |
| T | 文件的修改时间是否改变 |
文件类型:
| 标记 | 说明 |
|---|---|
| c | 配置文件(config file) |
| d | 普通文档(documentation) |
| g | ”鬼”文件(ghost file),很少出现 |
| l | 授权文件(license file) |
| r | 描述文件(read me) |
RPM包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径- rpm2cpio:将rpm包转换为cpio格式的命令
- cpio:标准工具,用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]| 选项 | 说明 |
|---|---|
| -i | copy-in模式,还原 |
| -d | 还原时自动新建目录 |
| -v | 显示还原过程 |
RPM包-yum命令
yum在线管理
查询
yum list
# 查询所有可用软件包列表
yum search 关键字
# 搜索服务器上所有和关键字相关的包安装
yum -y install 包名| 选项 | 说明 |
|---|---|
| install | 安装 |
| -y | 自动回答yes |
升级
yum -y update 包名| 选项 | 说明 |
|---|---|
| update | 升级 |
| -y | 自动回答yes |
卸载
yum -y remove 包名| 选项 | 说明 |
|---|---|
| remove | 卸载 |
| -y | 自动回答yes |
⚠️ 注意:yum卸载会卸载依赖包,可能影响系统稳定性,慎用
yum软件组管理
yum grouplist
# 列出所有可用的软件组列表
yum groupinstall 软件组名
# 安装指定软件组
yum groupremove 软件组名
# 卸载指定软件组光盘yum源搭建
- 挂载光盘
mount /dev/cdrom /mnt/cdrom- 让网络yum源失效
cd /etc/yum.repos.d/
# 重命名.repo文件使其失效- 修改光盘yum源文件
vi CentOS-Media.repo修改内容:
baseurl=file:///mnt/cdrom光盘挂载地址enabled=1使此yum源生效
源码包与RPM包的区别
安装之前的区别:概念上的区别
安装之后的区别:安装位置不同
RPM包默认安装路径
| 路径 | 说明 |
|---|---|
| /etc/ | 配置文件安装目录 |
| /usr/bin/ | 可执行的命令安装目录 |
| /usr/lib/ | 程序所使用的函数库保存位置 |
| /usr/share/doc/ | 基本的软件使用手册保存位置 |
| /usr/share/man/ | 帮助文件保存位置 |
源码包安装位置
安装在指定位置当中,一般是 /usr/local/软件名/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,源码包则不能。
RPM包安装的apache启动方法:
/etc/rc.d/init.d/httpd start
# 启动apache服务
service httpd start
# 等同如上的命令源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理:
/usr/local/apache2/bin/apachectl start
# apache2是自定义目录名称源码包安装
安装准备
- 安装C语言编译器
yum -y install gcc- 下载源码包
- 官方网站下载
- 例如:http://mirror.bit.edu.cn/apache/httpd/
安装注意事项
- 源代码保存位置:
/usr/local/src - 软件安装位置:
/usr/local/ - 如何确定安装过程报错:
- 安装过程停止
- 并出现error、warning或no的提示
源码包安装过程
- 下载源码包
- 解压缩下载的源码包
- 进入解压缩目录
./configure 软件配置与检查
- 定义需要的功能选项
- 检测系统环境是否符合安装要求
- 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑
查看帮助:
./configure --help指定安装路径:
./configure --prefix=/usr/local/apache2编译安装步骤
./configure --prefix=/usr/local/apache2
# 指定安装路径
make
# 编译
make install
# 编译安装
make clean
# 若编译出错需要清空编译缓存源码包卸载
rm -rf /usr/local/apache2
# 源码包安装的软件卸载直接使用删除目录命令即可💡 虽然rpm包安装的apache和源码包安装的apache可以同时存在,但是在启用的时候都会占用80端口,所以只能启动其中的一个。
脚本安装包
脚本安装包
- 脚本安装包并不是独立的软件包类型,常见安装的是源码包
- 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装
- 非常类似于Windows下软件的安装方式
Webmin的作用
Webmin 是一个基于Web的Linux系统管理界面,可以通过图形化的方式设置用户帐号、Apache、DNS、文件共享等服务。
Webmin安装过程
-
下载软件
-
解压缩,并进入加压缩目录
-
执行安装脚本
./setup.sh
# 执行安装脚本(一般是setup.sh文件)