Linux 软件安装 - 软件包管理

标签: Linux  linux

一、软件包管理简介

1.1 软件包分类

  • 源码包(绝大多数C语言写的)
    • 脚本安装包 (不需要手动安装,安装界面)
  • 二进制包(RPM包,系统默认包)(经过编译之后的)

1.2 源码包

优点

  • 开源
  • 自由选择所需功能
  • 软件是编译安装,所以更加适合自己的系统,稳定高效
  • 卸载方便(可直接删掉目录)

缺点

  • 安装步骤多,容易出现拼写错误
  • 编译过程时间长,安装比二进制安装时间长
  • 因为是编译安装,安装过程中一旦报错新手很难解决

1.3 RPM 包

优点

  • 包管理系统简单,只通过几个命令就可以
  • 安装速度更快
    缺点
  • 看不到源代码
  • 功能选择不如源码包灵活
  • 依赖性

二、RPM包管理-rpm命令管理

2.1 rpm 命令管理 - 包命名与依赖性

在这里插入图片描述
noarch - 任何平台都可以

2.2 RPM包依赖性

树形依赖:a -> b -> c
环形依赖:a -> b -> c -> a
模块依赖:模块依赖查询网站:www.rpmfind.net

2.3 包全名和包名

  • 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。
  • 包名:操作已经安装的软件包时,使用包名。是搜索 /var/lib/rpm中的数据库。

2.4 RPM安装

rpm -ivh 包全名
选项:
	-i (install)		安装
	-v (verbose)		显示详细信息
	-h (hash)			显示进度
	--nodeps			不检测依赖性
rpm -ivh httpd-(要安装的包全名)

根据提示的依赖包信息一步步安装

2.5 RPM包升级与卸载

rpm -Uvh 包全名
选项:
		-U (upgrade) 升级

rpm -e 包名
选项:
	-e (erase)	卸载
	--nodeps	不检测依赖性

2.6 RPM命令管理 - 查询

2.6.1 查询是否安装

2

2.6.2 查询软件包详细信息

3

未安装的包信息
rpm -qip + 包全名

2.6.3 查询包中文件安装位置

4

2.6.4 查询系统文件属于哪个RPM包

5

2.6.5 查询软件包的依赖性

6

2.7. rpm命令管理 - 检验和文件提取

2.7.1 RPM包检验

11
12
13

2.7.2 RPM包中文件提取

\ 代表换行
14
15
16

三、RPM包管理-yum在线管理

为解决依赖性提出的方法。

yum命令是为了管理 RPM 包。

3.1 IP地址配置和网络yum源

3.1.1 IP地址配置

setup 进入窗口模式 设置 重启网络服务

在这里插入图片描述
保证Linux能连接到网络。ping www.sina.com

3.1.2 网络yum源

34

3.2 yum命令

3.2.1 常用yum命令

1
yum中不再有包名和包全名概念。
234

yum -y install gcc

235
注意:远程升级所有的包,会导致服务器崩溃。
236
注意:yum卸载依赖包也会被卸载,可能会导致同时依赖相同包的其他包无法使用。

3.2.2 YUM 软件组管理命令

41

3.3 光盘yum源搭建

不需要再上网,安装速度大大增加。

3.3.1 光盘yun源搭建步骤

51
改名,让源文件失效,方法是让后缀不是.repo
52

四、源码包管理

4.1 源码包和RPM包的区别

4.1.1 区别

安装之前的区别:概念上的区别
安装之后的区别:安装位置不同

4.1.2 RPM包安装位置

61
不建议手工去改,写的时候就确定好了的位置。

4.1.3 源码包安装位置

安装在指定位置当中,一般是 /usr/local/软件名

4.1.4 安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如 RPM 包安装的Apache的启动方法是:

/etc/rc.d/init.d/httpd start
service httpd start

service 命令会到默认的安装位置搜索包。

而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:

/usr/local/apache2/bin/apachectl start

4.2 源码包安装过程

4.2.1 安装准备

安装 C 语言编译器
下载源码包
http://mirror.bit.edu.cn/apache/httpd/

4.2.2 安装注意事项

  • 源代码保存位置:/usr/local/src
  • 软件安装位置:/usr/local
  • 如何确定安装过程报错:
    • 安装过程停止
    • 并出现error warning 或 no 的提示

4.2.3 源码包安装过程

  • 下载源码包
  • 解压缩下载的源码包
  • 进入解压缩目录

./configure 软件配置与检查
- 定义需要的功能选项
- 检测系统环境是否符合安装要求
- 把定义好的功能选项和检测系统环境的信息都写入 Makefile 文件,用于后续的编辑。

  • make 编译
  • make install 编译安装

五、脚本安装包

5.1 脚本安装包

  • 脚本安装包并不是独立的软件包类型,常见安装的是源码包。
  • 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
  • 非常类似于Windows下软件的安装方式。

5.2 Webmin的作用

Webmin是一个基于 Web 的 Linux 系统管理界面。可以通过图形化的方式设置用户账户、Apache、DNS、文件共享等服务。

5.3 Webmin安装过程

  • 下载软件 http://sourceforge.net/projects/webadmin/files/webmin
  • 解压缩,并进入加压缩目录
  • 执行安装脚本
版权声明:本文为weixin_38746310原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38746310/article/details/107134639

智能推荐

Linux内核贡献全球第二,开源四大基础软件,为什么华为要啃下这块硬骨头

作者 | Just 出品 | CSDN(ID:CSDNnews) 回顾计算机发展的历史,任何一个计算架构的成功都离不开强大的硬件,但这背后更需要繁荣的软件生态。 1960年的集中式计算出现后,诸多基础软件应运而生,随后进入“Win-tel”独霸PC的时代,近年来,Intel和Linux又带来了分布式计算的高潮。   如今,随着5G的到来,移动互联网业务进一步发展,...

在liunx中安装elasticsearch(Elasticsearch head插件安装,kibana安装,ik分词器安装)

目录 安装Elasticsearch(单节点Linux环境) Elasticsearch head插件安装 kibana安装 安装ik分词器 安装Elasticsearch(单节点Linux环境) 我安装的是7.6.1版本以下是提供的安装包主要官网下载太慢 elasticsearch-7.6.1-linux-x86_64.tar.gz elasticsearch-analysis-ik-7.6.1...

前端小练习:jQuery酷炫照片墙

jQuery酷炫照片墙 效果展示: HTML代码: css代码: jQuery代码: 方法 解释 transform transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。W3scool Math.random() 产生随机数。编程狮 translate 绘图函数编程狮 attr attr() 方法设置或返回被选元素的属性和值。编程狮 anima...

springMVC拦截器

一、     SpringMVC拦截器实现原理 用户请求到DispatherServlet中,DispatherServlet调用HandlerMapping查找Handler,HandlerMapping返回一个拦截器链(HandlerExecutionChain),springmvc中的拦截器是通过HandlerMapping发起的。 &nbs...

Unity Json反序列化

Json反序列化 结果:...

猜你喜欢

[机器学习-回归算法]Sklearn之线性回归实战

Sklearn之线性回归实战 一,前言 二,热身例子 三,贸易公司的简单例子 四,Sklearn 官网里的一个例子 参考资料 一,前言 一元线性回归的理论片请看我这个链接 二,热身例子 预测直线 y=1x1+2x2+3y = 1x_1 + 2x_2 +3y=1x1​+2x2​+3 导入LinearRegression 从Sklearn.liear_model 包里 拟合数据也可以说是训练 检验正确...

Android 开发者,你真的懂 Context 吗?

Android Context 详解 前言 一、Context是什么 二、Context结构 1、ContextImpl类介绍 2、ContextWrapper类介绍 3、ContextThemeWrapper 三、Context的数量 四、Context注意事项 五、如何正确回复以上面试题? 前言 Context 相信所有的 Android 开发人员基本上每天都在接触,因为它太常见了。但是这并不...

SpringMVC ----Json的简单交互处理

SpringMVC--Json Json的介绍 什么是JSON? JSON 和 JavaScript 对象互转 Controller返回JSON数据 Jackson 乱码 乱码的解决方法一 代码优化 乱码统一解决方法 返回json字符串统一解决 测试多个对象的集合输出 输出时间对象 抽取为工具类 FastJson fastjson 三个主要的类: JSONObject JSONArray JSON...

微信小程序自定义组件简单实现

本文将教你如何实现一个自定义的toast提示框,实现后的基本效果图如下: 小程序中一个自定义组件由 json wxml wxss js 4个文件组成的。下面我们一步一步地来创建文件及完成其中的配置: step1:创建自定义组件 首先创建一个components文件夹,用于放置所有自定义的组件,创建之后的目录结构为 其中的toastedit是我们本次...

PyTorch学习(四)--用PyTorch实现线性回归

教程视频:https://www.bilibili.com/video/BV1tE411s7QT 废话不多说,代码如下: 结果: 0 56.52023696899414 1 25.170454025268555 2 11.214292526245117 3 5.001270771026611 4 2.2352840900421143 5 1.0038176774978638 6 0.4554775...