Hello~大家好!我是今越,本文内容来源于平时的学习笔记,希望对大家有所帮助。鉴于个人水平有限,文中难免会有不足之处,欢迎留言评论。需要转载的朋友,请注明出处。感谢点赞和收藏。一起加油!:)
往期文章回顾
Linux 操作系统 01 - 目录篇
Linux 操作系统 02 - 文件篇
Linux 操作系统 03 - 用户和组管理
Linux 操作系统 04 - 权限管理
Linux 操作系统 05 - 定时任务调度
Linux 操作系统 06 - 磁盘管理
Linux 操作系统 07 - 进程管理
Linux 操作系统 08 - 服务管理
Linux 操作系统 09 - 网络配置
软件包主要分为两类,第一类是源码包,包括脚本安装包,第二类是二进制包,包括 RPM 包,系统默认包。
RPM 是用于互联网下载包的打包及安装的工具,它包含在某些 Linux 发行版中。它生成具有 .RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。Linux 的发行版本都有采用,例如 suse, redhat, centos 等,算是公认的行业标准了。
包全名:操作的包是没有安装的软件包,使用包全名,即包全路径名称;
包名:操作已经安装的软件包时,使用包名,是搜索 /var/lib/rpm 中的数据库;
rpm 安装分为 rpm 手工安装和 rpm yum 在线安装。
功能描述:安装 rpm 包
rpm -ivh 包全名
选项
-i
安装(install)
-v
显示详细信息(verbose)
-h
显示进度(hash)
--nodeps
不检测依赖性(该选项实际工作中不允许使用)
功能描述:升级 rpm 包
rpm -Uvh 包全名
选项
-U
升级(upgrade)
-v
显示详细信息(verbose)
-h
显示进度(hash)
功能描述:卸载 rpm 包
rpm -e 包名
选项
-e
卸载(erase)
--nodeps
不检测依赖性(该选项实际工作中不允许使用)
说明
1)如果其它软件包依赖于要卸载的软件包,卸载时会产生错误信息;
2)如果一定要删除,可以增加参数 --nodeps,强制删除,但是不推荐;
# 查询rpm包是否安装
rpm -q 包名
# 查询安装的所有rpm包
rpm -qa
rpm -qa | more
rpm -qa | grep 包名
# 查询软件包详细信息
rpm -qi 包名
# 查询软件包中文件的安装位置
rpm -ql 包名
# 查询文件属于哪个rpm包
rpm -qf 文件全路径名
# 查询软件包依赖性
rpm -qR 包名
选项
-q
查询(query)
-a
所有(all)
-i
查询软件包信息(information)
-p
查询未安装包信息(package)
-l
列表(list)
-f
查询系统文件属于哪个rpm软件包(file)
-R
查询软件包的依赖性(requires)
功能描述:校验 rpm 包
rpm -V 包名
选项
-V
校验指定 rpm 包中的文件(verify)
功能描述:rpm 包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径
选项
-i
copy-in模式,还原
-d
还原时自动新建目录
-v
显示还原过程
说明
1)rpm2cpio 将 rpm 包转换为 cpio 格式的命令;
2)cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件;
YUM 是一个 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
查询
功能描述:查询 yum 服务器所有可用软件包列表
yum list
功能描述:查询 yum 服务器是否有需要安装的软件
yum list | grep 关键字
yum search 关键字
安装
功能描述:安装软件包
yum [选项] install 包名
选项
-y
自动确认安装(yes)
说明
1)yum 安装只需写包名即可,不同于 rpm 安装;
案例
1)安装 gcc 编译器 yum -y install gcc
升级(慎用!!)
功能描述:升级软件包
yum [选项] update 包名
选项
-y
自动确认升级(yes)
卸载
功能描述:卸载已经安装的 yum 包
yum [选项] remove 包名
选项
-y
自动确认卸载(yes)
注意
1)rpm 包安装时,有依赖性;同样卸载时也有依赖性,所以原则上尽量不卸载;
2)服务器使用最小化安装,用什么软件安装什么软件,尽量不卸载;
功能描述:列出所有可用的软件组列表
yum grouplist
注意
1)使用 xshell 终端工具输入命令时软件组名是中文显示的;
2)使用 Linux 本机输入命令时软件组名是英文显示的;
功能描述:安装指定软件组,组名可以由 grouplist 查询出来
yum groupinstall 软件组名
注意
1)此处软件组名必须是英文;
2)使用 xshell 终端工具设置中英文:LANG=en_US LANG=zh_CN.utf8
功能描述:卸载指定软件组
yum groupremove 软件组名
1)安装之前的区别:概念上的区别;
2)安装之后的区别:安装位置不同;
源码包安装在指定位置当中,一般是 /usr/local/软件名/,因为源码包没有卸载命令,所以必须指定安装位置。
安装位置不同带来的影响
RPM 包安装的服务可以使用系统服务管理命令 service 来管理,例如 RPM 包安装的 apache
启动方法有两种
1)/etc/rc.d/init.d/httpd start
2)service httpd start
service 命令搜索的目录实际上就是 etc 目录
源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中,只能使用绝对路径进行服务管理。
/usr/local/apache2/bin/apachectl start
1)安装准备
安装 c 语言编译器,Linux 下源文件都是用 c 语言编写的;
下载源码包,例如 apache 源码包下载地址:http://mirror.bit.edu.cn/apache/httpd/
2)安装注意事项
源码包保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错?
安装过程停止,并且出现 error、warning 或 no 的提示。
3)源码包安装过程
第一步:下载源码包;
第二步:解压缩下载的源码包;
第三步:进入解压缩目录(不是可选项,必须要执行);
第四步:./configure 软件配置与检查
./configure --prefix=/usr/local/apache2
#指定apache安装位置
a. 定义需要的功能选项;
b.检测系统环境是否符合安装要求;
c. 把定义好的功能选项和检测系统环境的信息都写入 Makefile 文件,用于后续的编辑;
第五步:make 编译
make clean
#如果编译时出现报错,使用此命令清除编译时的缓存文件
第六步:make install 编译安装
这一步骤如果报错,需要删除 /usr/local/apache2 目录
第七步:启动服务
prefix/bin/apachectl start
#prefix=/usr/local/apache2
4)源码包的卸载
不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。
慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)