LINUX系统安装和管理

目录

一.应用程序

对比应用程序与系统命令的关系

典型应用程序的目录结构

常见的软件包装类型

二.RPM软件包管理

1.RPM是什么?

2.RPM命令的格式

查看已安装的软件包格式

查看未安装的软件包

3.RPM安装包从哪里来?

4.挂载的定义

挂载命令mount

查看挂载情况

挂载规则

三.yum安装

1.定义

2.安装过程 

3.实验-----配置本地yum仓库

客户端配置文件的格式

实验过程

四.编译安装

1.编译安装基本介绍

2.安装准备

3.实验过程


Linux系统与Windows系统不兼容,在Windows平台开发出来的软件在Linux上无法运行,在Linux上开发的软件在Windows上又无法运行,这就导致了软件移植困难。

如何在Linux安装、卸载软件

1、编译安装 灵活性搞 难度较大  可以安装较新的版本

2、rpm安装 (redhat) linux 包安装    查软件信息:是否安装,文件列表

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

一.应用程序

对比应用程序与系统命令的关系

角色系统命令应用程序
文件位置一般在/bin和/sbin目录中,或为shell内部指令通常在user/bin和user/sbin目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、命令选项和命令参数通常没有固定的执行格式

典型应用程序的目录结构

文件类型保存目录
普通执行程序文件/usr/bin
服务器执行程序文件和管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
应用程序参考文档文件/usr/share/doc
应用程序手册页文件/usr/local/share/man

常见的软件包装类型

文件类型保存目录
RPM软件包扩展名为“.rpm”
DEB软件包扩展名为“.deb”
源代码软件包一般为“.tar.gz”、“tar.ba2”等格式的压缩包包含程序的原始代码
绿色免安装的软件

软件包的扩展名不一,以TarBall格式的居多

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用

二.RPM软件包管理

1.RPM是什么?

RPM(Red-Hat package Manager):

  • 由Red Hat公司提出, 被众多Linux发行版所采用
  • 建立统一的文件数据库
  • 详细记录软件包安装、卸载、升级等变化信息
  • 自动分析软件包依赖关系

2.RPM命令的格式

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

查看已安装的软件包格式

rpm  -q  软件名

rpm -qa显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q  软件名查询指定软件是否已安装
rpm -qi  软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql  软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc  软件名

列出已安装的指定软件的配置文件

查看未安装的软件包

rpm  -qp  软件名

3.RPM安装包从哪里来?

  • 官网下载  或者  自研
  • 在安装光驱中 ,约4.7G 中,3个G 都是安装包。

4.挂载的定义

系统内部的 一个文件夹和硬件设备关联,只要访问文件夹等于访问硬件设备上的空间。(把硬盘变成文件,让系统识别并使用硬盘的空间

挂载命令mount

[root@localhost ~]#mount /dev/sr0  /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
 

解挂载格式:

umount    挂载的文件夹

卸载软件格式:

rpm -e   软件名

查看挂载情况

df  ——  disk  free 

挂载规则
  • 最好使用空文件夹挂载,如果挂载的文件夹有文件存在,那么文件可能会消失
  • 一个文件夹如果挂载多个设备 只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以挂载在多个文件夹上 一个光驱可以挂载在多个文件夹上
  • 一个挂载点同一时间只能挂载一个设备

三.yum安装

1.定义

  • YUM(Yellow dog Updater,Modified )yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
  • yum是c/s架构(c/s架构是分为客户端和服务端;服务端是存放软件安装包,客户端是进行安装软件包;配置文件指向服务端)
  • yum仓库的分类,本地和网络(本地:自己既是客户端也是服务端;网络:客户端和服务端分开)

2.安装过程 

元信息是一个文件,记录了安装包的路径、安装包的依赖关系

  • 第一次客户端根据配置文件找到服务端;
  • 客户端将元信息下载到本地(元信息是安装包的位置以及安装包的依赖关系)
  • 根据元信息去下载对应的安装包到本地后,然后安装
  • 安装完成后,删除安装包

3.实验-----配置本地yum仓库

本地yum(不需要依赖网络)

yum  install   安装

yum install 软件名 -y (-y表示同意) 

vim /etc/yum.conf        服务端的配置文件

cd /etc/yum.repos.d/    客户端的配置文件

客户端必须要有文件后缀面(必须要以.repo结尾)(必须要放在/etc/yum.repos.d文件夹中)

客户端配置文件的格式

[local]

name=local

baseurl=服务器地址

gpgcheck=0 (代表不验证)

enabled=1是开启/enable=0是关闭

baseurl

file:// 本机位置

file:// /mnt 本机挂载点(本机挂载在mnt文件夹)

http:// 网络地址

https:// 网络地址

作为服务端需要提供安装包、源数据;所以看到repodata、package就可以复制当前地址

实验过程

mount /dev/sr0 /mnt          #挂载提供安装包和元数据
cd /etc/yum.repos.d          #切换到规定的目录
mkdir bak                    #建立备份文件夹
mv *.repo bak                #将所有网络源移走,减少干扰
vim /etc/yum.repos.d/local.repo     #自建本地源的配置文件
 
[local]                      #自定义仓库描述
name=localer                 #自定义仓库名
baseurl=file:///mnt          #指明仓库位置
gpgcheck=0                   #不验证安全性(若为1则验证)
 
yum clean all                #清理缓存
yum makecache                #重新建立元数据

注意:如果出现下面的情况   要kill  114533 或者  kill    -9   114533四.编译安装

建议使用rm -rf /var/run/yum.pid

1.编译安装基本介绍

大部分是c语言开发的,更方便的使用

软件版本比较新,新功能,修复bug

可以自行定义配置文件的路径

源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50

程序包编译安装:

源代码-->预处理-->编译-->汇编-->链接-->执行

多文件:文件中的代码之间,很可能存在跨文件依赖关系

虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度。

2.安装准备

①选择安装在哪里

②检测编译环境

③选择安装模块

3.实验过程

mkdir  /data/               
cd     /data
wget http://nginx.org/download/nginx-1.18.0.tar.gz    #下载安装包
tar xf  nginx-1.18.0.tar.gz      #解压源码包
cd /data/nginx-1.18.0/           #切换目录
yum -y install gcc  gcc-c++  pcre-devel openssl-devel zlib-devel openssl  openssl-devel
#安装编译环境需要的包
 
 
 
./configure --prefix=/apps/nginx             #指明安装路径
make        #将所有的源代码翻译成二进制,会形成一个绿色的可执行文件
make install
会执行文件,及相关的一些依赖文件拷贝到之前指定的目录中
(make  -j 2 && make  install     #启用两核进行安装 )
 
 
 
ln -s  /apps/nginx/sbin/*   /usr/bin/         #为了可以补全
systemctl stop firewalld                      #关闭防火墙
setenforce 0                                   #关闭防护
 
nginx                  #开启服务
ss   -natp|grep  80    #检测服务开启
curl 192.168.91.100    #检测服务开启
 
        
nginx  -s   stop       #关闭服务  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言蛇形矩阵

文章目录 每日一言题目解题思路全部代码结语 每日一言 山有榛,隰有苓。云谁之思?西方美人。 --邶风简兮 题目 解题思路 话不多说,直接看图 通过观察图表,我想到了这种方法: 我将数字放置的位置分为两大类&#xff…

Python深度学习028:神经网络模型太多,傻傻分不清?

文章目录 深度学习网络模型常见CNN网络深度学习网络模型 在深度学习领域,有许多常见的网络模型,每种模型都有其特定的应用和优势。以下是一些广泛使用的深度学习模型: 卷积神经网络(CNN): 应用:主要用于图像处理,如图像分类、物体检测。 特点:利用卷积层来提取图像特…

【UML】第12篇 序列图(1/2)——基本概念和构成

目录 一、什么是序列图(Sequence Diagram) 1.1 定义 1.2 主要用途 1.3 序列图和BPMN的区别和联系 二、序列图的构成 2.1 对象 2.2 生命线 2.3 消息 2.4 激活 序列图,是我个人认为的用处最多的一种图。产品和研发的同学,都…

WorkPlus一站式协同解决方案,助力企业降本增效

在企业数字化转型的过程中,很多企业都会遇到一个共同问题:重复建设基础功能,耗费大量时间和资源。为解决这一难题,WorkPlus已经将一些通用、基础且有技术门槛的功能进行了集成与开发,如IM(即时通讯&#xf…

截断整型提升算数转换

文章目录 🚀前言🚀截断🚀整型提升✈️整型提升是怎样的 🚀算术转换 🚀前言 大家好啊!这里阿辉补一下前面操作符遗漏的地方——截断、整型提升和算数转换 看这一篇要先会前面阿辉讲的数据的存储否则可能看不…

“C语言“——scanf()、getchar() 、putchar()、之间的关系

scanf函数说明 scanf函数是对来自于标准输入流的输入数据作格式转换,并将转换结果保存至format后面的实参所指向的对象。 而const char*format 指向的字符串为格式控制字符串,它指定了可输入的字符串以及赋值时转换方法。 简单来说给一个打印格式(输入…

css radial-gradient 径向渐变基本语法与使用

在之前的文章《深入理解Css linear-gradient线性渐变》我们了解了CSS中的线性渐变,本文将介绍CSS中的另一种渐变———径向渐变(Radial Gradient): CSS中的径向渐变(Radial Gradient)允许你创建从一个颜色…

基于Java SSM框架实现交通事故档案管理系统项目【项目源码+论文说明】

基于java的SSM框架实现交通事故档案管理系统演示 摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于交通事故档案管理系统当然也不能排除在外,随着网络技术的不断成熟&#xff0…

企业知识库:从信息管理到知识创新的转变

在当今这个信息爆炸的时代,企业知识库的建设已经成为了企业持续发展的重要基石。从传统的信息管理到现代的知识创新,企业知识库的角色和功能也在不断地演变和升级。本文将探讨企业知识库的发展历程,以及如何实现从信息管理到知识创新的转变。…

谷歌Gemini演示视频解析

在刚刚过去的前两天 谷歌发布了号称最强的多模态大模型Gemini 不仅提供了Ultra、Pro 和 Nano版本 而且在32项学术基准中 Gemini Ultra都达到了SOTA水平 甚至在MMLU测试中 Gemini Ultra 的得分率高达 90.0%, 是第一个超过人类专家的模型 应该说,G…

【vtkWidgetRepresentation】第十八期 vtkHoverWidget

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkHoverWidget,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. vtkHoverWidget vtkHoverWidget用于在呈现窗口中…

如何在飞书自建项目中接入ChatGPT打造智能问答助手并远程访问

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话,在下面操作步骤中…

10.3 uinput

uinput 简介 uinput 是一个内核驱动,应用程序通过它可以在内核中模拟一个输入设备,其设备文件名是 /dev/uinput 或 /dev/input/uinput。 uinput 使用 使用 uinput 时遵循以下步骤: 通过 open 打开 uinput 设备通过 ioctl 设置属性位图通过…

Windows基础知识:一站式整理指南

目录 学习目标: 学习内容: 学习产出: Windows操作系统的发展历史和版本特点 Windows界面和桌面元素的基本介绍 文件和文件夹管理:创建、复制、移动、删除等操作 系统设置和个性化:调整屏幕分辨率、更改桌面背景、设置…

Python之classmethod和staticmethod的区别

python中3种方式定义类方法,常规方式、classmethod修饰方式、staticmethod修饰方式。 class A(object):def foo(self, x):print(调用foo函数 (%s, %s)%(self, x))print(self:, self)classmethoddef class_foo(cls, x):print(调用class_foo函数 (%s, %s) % (cls, x))…

Azure Machine Learning - 如何使用 GPT-4 Turbo with Vision

介绍如何在Azure中使用GPT-4 Turbo with Vision 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理…

Plantuml之对象图语法介绍(十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

MySQL undo日志精讲3-从回滚段中申请 Undo 页面链表

回滚段-Rollback Segment Header 页面 回滚段的概念 我们现在知道一个事务在执行过程中最多可以分配4个 Undo 页面链表,在同一时刻不同事务拥有的 Undo 页面链表是不一样的,所以在同一时刻系统里其实可以有许许多多个 Undo 页面链表存在。为了更好的管…

qt项目-《图像标注软件》源码阅读笔记-Shape类绘图及其子类

目录 1. Shape 概览 2. Shape 基类 2.1 字段 2.2 方法 2.3 嵌套类型 3. Shape2D 2d形状纯虚基类 3.1 字段 3.2 方法 4. Shape3D 3d形状纯虚基类 5. Shape2D子类 5.1 Rectangle 矩形类 1. Shape 概览 功能:Shape类及其子类负责形状的绘制及形状的存储。…

【SpringBoot】Spring data JPA整合ShardingSphere-JDBC静态读写分离实现

大佬栽树,我乘凉 许大仙老师:【yuque.com/fairy-era/yg511q/ud9uli67b6gxgdh7】 开整 数据库准备 一主两从 数据库脚本 CREATE DATABASE IF NOT EXISTS dbtest CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE dbtest; -- 创建表 CREATE TA…