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       #关闭服务  

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

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

相关文章

adobe 书签怎么设置_让我们设置一些规则…没有Adobe Analytics处理规则

adobe 书签怎么设置Originally published at Analyst Admin.最初发布于Analyst Admin 。 In my experience working with Adobe Analytics, I’ve found that Processing Rules help in some cases, but oftentimes they create more work. I try to avoid using Processing R…

详解linux下安装python3环境

1、下载python3.5源码包首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,表示源码包,这里选择最新版本3.5.2&am…

重学TCP协议(8) TCP的11种状态

TCP的11种状态 为了逻辑更加清晰,假设主动打开连接和关闭连接皆为客户端,被动打开连接和关闭连接皆为服务端 客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 &…

肯尼亚第三方支付_肯尼亚的COVID-19病例正在Swift增加,我们不知道为什么。

肯尼亚第三方支付COVID-19 cases in Kenya are accelerating rapidly. New cases have increased 300% month-over-month since April of this year while global and regional media have reported on the economic toll of stringent lock-down measures and heavy-handed go…

Java 集合 List Arrays.asList

2019独角兽企业重金招聘Python工程师标准>>> 参考链接:阿里巴巴Java开发手册终极版v1.3.0 【强制】使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方 法,它的 add/remove/clear 方法会抛出 UnsupportedO…

重学TCP协议(9) 半连接队列、全连接队列

1. 半连接队列、全连接队列基本概念 三次握手中,在第一步server收到client的syn后,把相关信息放到半连接队列中,同时回复synack给client(第二步),同时开启一个定时器,如果超时还未收到 ACK 会进…

分类预测回归预测_我们应该如何汇总分类预测?

分类预测回归预测If you are reading this, then you probably tried to predict who will survive the Titanic shipwreck. This Kaggle competition is a canonical example of machine learning, and a right of passage for any aspiring data scientist. What if instead …

“机器换人”之潮涌向珠三角,蓝领工人将何去何从

企业表示很无奈,由于生产需要,并非刻意换人。 随着传统产业向更加现代化、自动化的新产业转型,“机器换人”似乎是历史上不可逆转的潮流。 据报道,珠三角经济圈所在的广东省要从传统的制造大省向制造强省转变,企业转型…

深入理解InnoDB(6)—独立表空间

InnoDB的表空间 表空间可以看做是InnoDB存储引擎逻辑结构的最高层 ,所有的数据都是存放在表空间中。 1. Extent 对于16KB的页来说,连续的64个页就是一个区,也就是说一个区默认占用1MB空间大小。 每256个区被划分成一组,第一组的前3个页面是…

神经网络推理_分析神经网络推理性能的新工具

神经网络推理Measuring the inference time of a trained deep neural model on different hardware devices is a critical task when making deployment decisions. Should you deploy your inference on 8 Nvidia V100s, on 12 P100s, or perhaps you can use 64 CPU cores?…

Eclipse断点调试

1.1 Eclipse断点调试概述Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug1.2 Eclipse断点调试常用操作:A:什么是断点:就是一个标记,从哪里开始。B:如何设置断点:你想看哪里的程序,你就在那个有效程序的左边双击即可。C…

深入理解InnoDB(7)—系统表空间

系统表空间 可以看到,系统表空间和独立表空间的前三个页面(页号分别为0、1、2,类型分别是FSP_HDR、IBUF_BITMAP、INODE)的类型是一致的,只是页号为3~7的页面是系统表空间特有的 页号3 SYS: Insert Buffer …

CodeForces - 869B The Eternal Immortality

题意&#xff1a;已知a,b&#xff0c;求的最后一位。 分析&#xff1a; 1、若b-a>5&#xff0c;则尾数一定为0&#xff0c;因为连续5个数的尾数要么同时包括一个5和一个偶数&#xff0c;要么包括一个0。 2、若b-a<5&#xff0c;直接暴力求即可。 #include<cstdio>…

如何在24行JavaScript中实现Redux

90% convention, 10% library. 90&#xff05;的惯例&#xff0c;10&#xff05;的图书馆。 Redux is among the most important JavaScript libraries ever created. Inspired by prior art like Flux and Elm, Redux put JavaScript functional programming on the map by i…

卡方检验 原理_什么是卡方检验及其工作原理?

卡方检验 原理As a data science engineer, it’s imperative that the sample data set which you pick from the data is reliable, clean, and well tested for its usability in machine learning model building.作为数据科学工程师&#xff0c;当务之急是从数据中挑选出的…

Web UI 设计(网页设计)命名规范

Web UI 设计命名规范 一.网站设计及基本框架结构: 1. Container“container“ 就是将页面中的所有元素包在一起的部分&#xff0c;这部分还可以命名为: “wrapper“, “wrap“, “page“.2. Header“header” 是网站页面的头部区域&#xff0c;一般来讲&#xff0c;它包含…

27个机器学习图表翻译_使用机器学习的信息图表信息组织

27个机器学习图表翻译Infographics are crucial for presenting information in a more digestible fashion to the audience. With their usage being expanding to many (if not all) professions like journalism, science, and research, advertisements, business, the re…

面向Tableau开发人员的Python简要介绍(第4部分)

用PYTHON探索数据 (EXPLORING DATA WITH PYTHON) Between data blends, joins, and wrestling with the resulting levels of detail in Tableau, managing relationships between data can be tricky.在数据混合&#xff0c;联接以及在Tableau中产生的详细程度之间进行搏斗之间…

蝙蝠侠遥控器pcb_通过蝙蝠侠从Circle到ML:第二部分

蝙蝠侠遥控器pcbView Graph查看图 背景 (Background) Wait! Isn’t the above equation different from what we found last time? Yup, very different but still looks exactly the same or maybe a bit better. Just in case you are wondering what I am talking about, p…

camera驱动框架分析(上)

前言 camera驱动框架涉及到的知识点比较多&#xff0c;特别是camera本身的接口就有很多&#xff0c;有些是直接连接到soc的camif口上的&#xff0c;有些是通过usb接口导出的&#xff0c;如usb camera。我这里主要讨论前者&#xff0c;也就是与soc直连的。我认为凡是涉及到usb的…