Hello~大家好!我是今越,本文内容来源于平时的学习笔记,希望对大家有所帮助。鉴于个人水平有限,文中难免会有不足之处,欢迎留言评论。需要转载的朋友,请注明出处。感谢点赞和收藏。一起加油!:)

往期文章回顾
Linux 操作系统 01 - 目录篇
Linux 操作系统 02 - 文件篇
Linux 操作系统 03 - 用户和组管理
Linux 操作系统 04 - 权限管理
Linux 操作系统 05 - 定时任务调度
Linux 操作系统 06 - 磁盘管理
Linux 操作系统 07 - 进程管理
Linux 操作系统 08 - 服务管理
Linux 操作系统 09 - 网络配置

软件包主要分为两类,第一类是源码包,包括脚本安装包,第二类是二进制包,包括 RPM 包,系统默认包。

一、RPM

RPM 是用于互联网下载包的打包及安装的工具,它包含在某些 Linux 发行版中。它生成具有 .RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。Linux 的发行版本都有采用,例如 suse, redhat, centos 等,算是公认的行业标准了。

1.1 安装

包全名:操作的包是没有安装的软件包,使用包全名,即包全路径名称;
包名:操作已经安装的软件包时,使用包名,是搜索 /var/lib/rpm 中的数据库;

rpm 安装分为 rpm 手工安装和 rpm yum 在线安装。

功能描述:安装 rpm 包

rpm -ivh 包全名

选项

-i 安装(install)
-v 显示详细信息(verbose)
-h 显示进度(hash)
--nodeps 不检测依赖性(该选项实际工作中不允许使用)

1.2 升级与卸载

功能描述:升级 rpm 包

rpm -Uvh 包全名

选项

-U 升级(upgrade)
-v 显示详细信息(verbose)
-h 显示进度(hash)

功能描述:卸载 rpm 包

rpm -e 包名

选项

-e 卸载(erase)
--nodeps 不检测依赖性(该选项实际工作中不允许使用)

说明

1)如果其它软件包依赖于要卸载的软件包,卸载时会产生错误信息;
2)如果一定要删除,可以增加参数 --nodeps,强制删除,但是不推荐;

1.3 查询

# 查询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)

1.4 校验

功能描述:校验 rpm 包

rpm -V 包名

选项

-V 校验指定 rpm 包中的文件(verify)

功能描述:rpm 包中文件提取

rpm2cpio 包全名 | cpio -idv .文件绝对路径

选项

-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程

说明

1)rpm2cpio 将 rpm 包转换为 cpio 格式的命令;
2)cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件;

二、YUM

YUM 是一个 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

2.1 yum 基本命令

查询

功能描述:查询 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)服务器使用最小化安装,用什么软件安装什么软件,尽量不卸载;

2.2 yum 软件组管理命令

功能描述:列出所有可用的软件组列表

yum grouplist

注意

1)使用 xshell 终端工具输入命令时软件组名是中文显示的;
2)使用 Linux 本机输入命令时软件组名是英文显示的;

功能描述:安装指定软件组,组名可以由 grouplist 查询出来

yum groupinstall 软件组名

注意

1)此处软件组名必须是英文;
2)使用 xshell 终端工具设置中英文:LANG=en_US LANG=zh_CN.utf8

功能描述:卸载指定软件组

yum groupremove 软件组名

三、源码包安装

3.1 源码包和 RPM 包区别

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

3.2 源码包安装过程

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)源码包的卸载

不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。


慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)

Linux 操作系统 10 - 软件安装管理相关推荐

  1. Linux学习笔记-软件安装管理

    0 Linux 软件安装管理概述 一.软件包管理简介 二.rpm命令管理 三.yum在线管理 四.源码包管理 五.脚本安装包 1 软件包管理简介 软件包的分类 源码包 二进制包 源码包的特点 开源,如 ...

  2. 【Linux学习笔记】管理Linux操作系统:软件安装

    目录 一.RPM安装方法 1.查看rpm的版本与用法​ 2.rpm命令用法 3.安装vsftpd软件 二.yum安装 1.建立yum源本地仓库(注意:红帽Linux8是不行的) 2.查看所有库​ 3. ...

  3. linux软件安装管理

    Linux软件安装管理 TonyLinux系统工程师 难度初级  时长 3小时 6分  学习人数64016  综合评分9.8 收藏 上面是linux 的源代码安装包 linux有两种类型的软件安装方式 ...

  4. linux软件安装非系统盘,linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装...

    linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装 答案:2  信息版本:手机版 解决时间 2020-07-24 14:13 已解决 2020-07-23 16: ...

  5. Linux操作系统下软件的安装与卸载

    在Windows下安装软件时,只需运行软件的安装程序(setup.install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall.unware."卸载" ...

  6. 6、Linux软件安装管理之——dpkg与apt-*详解

    一.序言 上一篇文章<Linux软件安装管理之--源码安装详解>详细介绍了Linux平台下的源码包安装原理,虽然使用源代码进行软件编译可以具有定制化的设置,但对于Linux distrib ...

  7. linux-linux常用命令总结四linux压缩、打包、解压命令软件安装管理rpm及yum的使用

    一.压缩和打包概念 压缩: 指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容. 打包: 指将多个文件(或目录)合并成一个文件,方便传递或部署. 在Linux系统中,文件的后缀名不重要,但 ...

  8. Linux下的软件安装

    Linux下的软件安装 一.软件安装包介绍 1.1 软件包分类 1.2 源码软件包 1.2.1 这里我们使用C语言来编写一个简单的程序,然后来完成编译安装 1.2.2 安装编译所需的工具软件gcc 1 ...

  9. Linux下的软件安装方式+源码安装软件cmatrix代码雨

    Linux下的软件安装方式 1 rpm工具安装 2 yum工具安装 3 源码编译安装 软件包类型 1 二进制软件包(=rpm软件包) 无需编译,直接安装 根据计算机CPU架构类型和操作系统选择合适的软 ...

最新文章

  1. winform 外部组件发生异常
  2. DockerFile和DockerCompose使用总结
  3. 递归生成全排列【C/C++】
  4. python flask跨域_Flask配置Cors跨域的实现
  5. java ee cdi_Java EE CDI依赖关系消歧示例
  6. 基于 HanLP 的 ES 中文分词插件
  7. Hibernate的持久化
  8. 第四次c语言实验报告模板,C语言实验报告模板.doc
  9. 遍历数组是什么意思_漫画:寻找无序数组的第k大元素(修订版)
  10. Atitit.mssql 数据库表记录数and 表体积大小统计
  11. 【元胞自动机】基于matlab元胞自动机人流疏散【含Matlab源码 665期】
  12. 软件过程与项目管理复习
  13. ACCESS-入门思维导图
  14. Discuz大气游戏风格模板/仿lol英雄联盟游戏DZ游戏模板GBK
  15. Laravel框架发送邮件 阿星小栈
  16. Python编程:sh模块执行shell命令
  17. 如何更改linux下的Apache端口号
  18. 淘宝聚划算怎么做?大神导航,一个神奇的网站,从此开启大神之路!
  19. python数据结构基础(单链表,多链表,二叉树)
  20. 计算机唤醒休眠蓝屏,win7唤醒睡眠时经常蓝屏

热门文章

  1. tail -f 暂停方法
  2. nodejs访问mssql数据库
  3. 手游幻想神域服务器显示,幻想神域手游有黑边是怎么回事 屏幕旁边有黑边解决方法...
  4. Python3网络爬虫实战解析——优美壁纸爬取
  5. 公关传播:让企业在品牌竞争中“愈战愈勇”
  6. ctfhub第五空间智能安全大赛真题------PNG图片转换器--file.open漏洞--|管道符
  7. 4399枪神传说服务器维护,枪神传说6月14日更新维护公告 战队系统上线
  8. ElasticSearch(六)【分词器】
  9. C# Console.WriteLine堵塞进程
  10. ELK日志分析系统介绍及部署