Linux应用程序管理与安装

news2024/11/19 18:41:39

一.Linux应用程序基础:

1.Linux应用程序与命令的关系:

两者的用途区别:

系统命令:命令文件一般在安装操作系统一起安装,用于辅助操作系统本身的管理。

应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立操作系统的功能,有时候等同于“软件“的概念。

2.Linux应用程序的组成:

安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置,在Linux操作系统中,典型的应用程序通常由以下几部分组成。

普通的可执行程序文件:一般保存在/usr/bin目录中,普通用户即可执行。
服务器程序,管理程序文件:一般保存在/usr/sbin目录中,只有管理员能执行。
配置文件:一般保存在/etc目录中,配置文件较多时会建立相应的子目录。
日志文件:一般保存在/var/log 目录中。
关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中.
执行文件及配置文件的man手册页:一般保存在/usr/share/man/目录中.

3.软件包的封装类型

1)RPM软件包:

这种软件包文件的扩展名为“.rpm”,只能在使用RPM机制的Linux操作系统中安装,如RHEL、Fedora、CentOS等。RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。安装RPM软件包需要使用操作系统中的rpm命令。
(2)DEB软件包:

这种软件包文件的扩展名为“.deb”,只能在使用DPKG机制的Linux操作系统中进行安装,如Debian、Ubuntu等。安装DEB软件包需要使用操作系统中的dpkg命令。
(3)源代码安装包:

这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”或“.tar.bz2”等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为“TarBail”。安装源代码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc。因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译环境。
(4)附带安装程序的软件包:

这种软件包的扩展名不一,但仍以TarBail格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等,有时候会以“.bin”格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据向导程序的提示完成安装操作。

4.挂载:

通式:

mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)

挂载规则:

  • 一个挂载点同一时间只能挂载一个设备

  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏

  • 一个设备可以同时挂载到多个挂载点

  • 通常挂载点一般是已存在空的目录

 二.rpm:

1.概述:

Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的数据库文件(一张对应表将信息写入)

详细记录软件包安装、卸载等变化信息

自动分析软件包依赖关系

2.rpm命令的格式:

RPM软件可以实现几乎所有的功能,新增,删除,更新等

3.查询已安装的RPM软件信息:

格式:

rpm  -q  [子选项]  软件名

选项: 

​ 

4. 查询未安装的RPM 软件包文件中信息:

格式:

rpm     -qp[子选项]     RPM 包文件

选项:

rpm   -qpi  文件名

查询指定软件包的详细信息

rpm  -qpl   文件名

查询指定软件包的文件列表

rpm  -qpc   文件名

查询指定文件包的配置文件

rpm  -qpd   文件名

查询指定软件包的软件包文档的位置

5.安装,卸载,升级  RPM 软件包:

格式:

rpm   [选项]   RPM 包文件

rpm    -ivh   RPM 软件包

选项:

-i安装一个新的rpm软件包
-v显示软件安装过程中的详细信息
-h在安装或升级软件过程中,以“#”号显示安装进度
-e卸载指定名称的软件包
-U升级某个软件包,若未安装过,则进行安装
-F升级某个软件包,若未安装过,则放弃安装

6.维护RPM数据库

当RPM数据库发生损坏,可通过 重建RPM数据库 修复

rpm      --rebuilddb       或                  rpm       --initdb

7.解决软件包的依赖关系

1.安装有依赖关系的多个软件时
被依赖的软件包需要先安装

可同时指定多个.rpm 包文件进行安装

2. 卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载

可同时指定多个软件名进行卸载

3.忽略依赖关系
结合"-nodeps"选项,但可能导致软件异常

四:yum:

1.概述:

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁又好记。

yum是RPM升级版本,解决rpm的弊端

2. 格式:

yum [可选项] [要进行的操作] [安装包名...]

常用命令: 

指令用途
yum  -y  install 软件名安装升级软件包
yum  -y  remove  软件名卸载软件包,可自动解决其依赖关系
yum  -y  update  软件名 升级软件包  

3.本地yum仓库编译安装:

五.源码编译安装:

第一步:

./configure

configure 文件是作者放在 源码包中给我们使用,是一个脚本文件

安装准备工作:

1.选择安装在哪里

2.检测编译环境

3.选择安装模块,默认安装,额外的一写软件功能

./configure -- help 看到可以安装的模块

第二步:

make -j 2            -j 2 代表使用2核cpu编译

将所有的源代码翻译成二进制,会形成一个绿色的可执行文件

第三步:

make install

将执行文件,及相关的一些 依赖文件拷贝到之前指定的目录中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1338002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记11——Spring的XML配置

学习笔记系列开头惯例发布一些寻亲消息 链接:https://www.baobeihuijia.com/bbhj/contents/3/192584.html SSM框架——IOC基础【BeanSetter注入加载xml】 框架总览 Spring Framework 谈谈我对Spring的理解 - 知乎 (zhihu.com)java - 【架构视角】一篇文章带你彻底…

PYTHON基础:K最邻近算法

K最邻近算法笔记 K最邻近算法既可以用在分类中,也可以用在回归中。在分类的方法,比如说在x-y的坐标轴上又两个成堆的数据集,也就是有两类,如果这个时候有个点在图上,它是属于谁? 原则就是哪一类离它比较近…

【Unity6.0+AI】Unity版的Pytorch之Sentis-把大模型植入Unity

本教程详细讲解什么Sentis。以及恶补一些人工智能神经网络的基础概念,概述了基本流程,加载模型、输入内容到模型、使用GPU让模型推理数据、输出数据。 官方文档 Unity Sentis: Use AI models in Unity Runtime | Unity 主页介绍 官方文档链接:Sentis overview | Sentis | 1…

常见的一些库函数

什么是库函数: 库函数是一组预先定义好的函数,可以通过包含相应的头文件来使用。它们提供了各种常用的功能和算法,使得编程更加方便和高效。 库函数的作用如下: 提供常用功能:库函数提供了各种常用的功能,…

深入探究MongoDB:从基础到实战,一个全面的指南

MongoDB:海量数据库的介绍 定义与命名由来: MongoDB源自词“humongous”,意味着“巨大无比”。因此,MongoDB可译为“海量数据库”。类型: MongoDB是一种非关系型(NoSQL)数据库。与传统的关系型数据库相比,它的显著特点是不使用SQL语句。数据结构更灵活,没有固定的数据类…

前端调用后端编写的导出excel表格接口

前提: 我在前人将excel工具封装好的基础上,实现前端导出后端编写的excel表格接口,出现过很多问题。 先看前人的代码: 前端 handleExport() {const params Object.assign({}, this.queryParams.value)this.download(/system/a/fe…

ubuntu多用户环境dockerbug,卸载重装docker流程

之前不小心误操作删除重装docker,结果删除没成功,更没法重装,每次apt install都会报一个docker错误,虽然不影响软件的常规安装~但是现在还是需要装一个完整docker,还是选择删除一下,重点是关闭服…

数据分析——数据预处理和数据管道构建

目标:对于拿到的一个任意数据集,编写类似数据加载程序,以适应深度学习的研究。 框架: 针对不同的时间序列数据集,可以总结如下关键步骤,以编写类似上述代码的深度学习数据处理流程: 1. **了解…

十一.MyBatis的缓存

11.1缓存介绍 为什么使用缓存? 使用缓存的主要原因是为了提高应用程序的性能和响应速度。缓存可以存储经常访问的数据或计算结果,从而避免重复进行相同的计算或查询数据库等耗时的操作。通过使用缓存,你可以减少对原始数据源的访问次数&…

Springboot整合MVC进阶篇

一、概述 1.1SpringBoot整合SpringMVC配置 SpringBoot对SpringMVC的配置主要包括以下几个方面: 自动配置:SpringBoot会自动配置一个嵌入式的Servlet容器(如Tomcat),并为我们提供默认的SpringMVC配置。这样我们无需手动…

电脑显卡驱动停止响应该怎么办?为什么会出现这种情况

显卡驱动停止响应的原因 当你电脑突然弹框说显卡驱动停止响应,你知道是出现什么问题了吗,下面我们为大家总结了有可能造成显卡驱动停止响应的原因。1. 过热:显卡在长时间高负载下可能会过热,导致驱动停止响应。过高的温度可能…

RM3100 stm32驱动(硬件i2c)

目录 RM3100接线HAL库I2C函数HAL_I2C_Mem_ReadHAL_I2C_Mem_WriteHAL_I2C_Master_Transmit / HAL_I2C_Master_Receive例子 HSHAKE寄存器 cubemx配置RM3100寄存器驱动最终效果 RM3100接线 原理图 SA0 SA1接地,此时i2c设备地址为0100000,即0x20 如果SA0接…

PDF编辑工具--Acrobat Pro DC 2023中文

Acrobat Pro DC 2023是一款功能强大的PDF编辑和管理软件,它可以帮助用户在创建、编辑、转换和共享PDF文档方面达到前所未有的高度。这款软件提供了丰富的编辑功能,使用户能够轻松添加注释、高亮、下划线、插入文本等,自由地编辑PDF文档。除了…

django之drf框架(两个视图基类、5个扩展视图类、9个视图子类)

两个视图基类 APIView和GenericAPIView drf提供的最顶层的父类就是APIView,以后所有的类都继承自他 GenericAPIView继承自APIView,他里面封装了一些工能 基于APIViewModelSerializerResposne写5个接口 子路由:app01>>>urls.py …

关于表格太大了jupyter无法单次处理的问题

记录下自己的心路历程…耗时耗精力 我用的数据库单个表格就很大,一个表格有30多G,jupyter无法处理这么大的表格,会直接把电脑的进程全部结束掉,结束掉要是能运行成功倒也行啊,然鹅…给我报错说处理不了,罢工…

关于解决微服务A调用微服务B的接口获取不到数据

前提: 1、首先,你得确保写的不同微服务之间调用接口时没有任何问题的,可以参考我上一篇文章; 2、其次,你需要具备怎么去调试,怎么去定位问题。 具备以上两点其实问题就迎刃而解了。先来看看我的问题吧 问题…

arcpy获取矢量坐标系

代码: shppath "矢量路径" shpdescribe arcpy.Describe(shppath) print(shpdescribe.spatialReference.name) 结果:

ROS学习记录:如何在Github上寻找并安装软件包

一、打开网页输入www.github.com 二、进入github界面 三、打开一个终端,输入mkdir catkin_ws1建立一个工作空间 四、使用cd catkin_ws1进入工作空间 五、使用mkdir src创建一个子目录src就是source,原始资料的意思,指的就是程序源代码这类资源材料&#…

layui表格中预览视频和图片

全代码 <!DOCTYPE html> <html><head><title>Layui&#xff1a;数据表格table中预览图片、视频</title><meta charset"utf-8"/><link rel"stylesheet" href"../dist/css/layui.css"><style>&l…

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-BiLSTM麻雀算法优化…