Linux自有服务与软件包管理

这次来学习一下Linux自有服务与软件包管理相关内容,如下。
在这里插入图片描述

一、systemctl管理系统服务

什么是Linux自有服务?

服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务,windows系统中,把这些自动运行的进程,称为"服务"。

eg:当我们使用SSH客户端软件连接linux的时候,我们的服务器为什么会对连接做出响应?是因为SSH服务开机就自动运行了。

所谓自有服务,简单来说,可以理解为Linux系统开机自动运行的服务(程序)。

1、systemctl概述

CentOS6版本:

service命令(管理服务开启、停止以及重启)+ chkconfig(定义开机启动项)

service network start|stop|restart

CentOS7版本:
systemctl命令 = system系统 + control控制(服务管理+开启启动项管理)

systemctl start|stop|restart network

2、显示系统服务

基本语法:

systemctl [选项]
选项说明:
list-units --type service --all:列出所有服务(包含启动的和没启动的)
list-units --type service:列出所有启动的服务

案例1:列出Linux系统中所有的服务(包含启动的和没启动的)

systemctl list-units --type service --all

在这里插入图片描述

案例2:只列出已经启动的Linux系统服务

systemctl list-units --type service

在这里插入图片描述

注:空格可以翻页,q退出

把systemctl显示系统服务与管道命令相结合,筛选我们想要的服务信息(重点常用)

案例3:列出sshd的服务信息

systemctl list-units --type service | grep sshd

在这里插入图片描述

3、Linux系统服务管理

3.1 status查看状态

查看系统服务的状态

systemctl status 系统服务的名称

案例1:查询系统中网络服务的状态信息

systemctl status network

在这里插入图片描述

案例2:查询系统中sshd服务的状态信息

systemctl status sshd

在这里插入图片描述

3.2 stop停止服务
systemctl stop 系统服务的名称

案例:使用systemctl命令停止network网络服务

systemctl stop network
3.3 start启动服务
systemctl start 系统服务的名称

案例:使用systemctl命令启动network网络服务

systemctl start network
3.4 restart重启服务
systemctl restart 系统服务的名称
等价于
systemctl stop 系统服务的名称
systemctl start 系统服务的名称

案例:使用systemctl命令重启crond计划任务的服务信息

systemctl restart crond
3.5 reload热重载技术

热重载reload是指在不停止当前服务的前提下重新加载配置文件

systemctl reload 系统服务名称

reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)

有些服务,如Nginx,更改了配置文件,但是不能重启Nginx服务,只是想立即让我们配置文件的更改生效,则就可以使用热重载技术了。

案例:使用热重载技术重新加载crond服务

systemctl reload crond

在这里插入图片描述

4、服务持久化(开机自启与开机不自启)

所谓服务持久化,就是服务在开机的时候,是否自动启动。

4.1 开机自启
systemctl enable 系统服务的名称

案例1:把network网络服务设置为开机自启动

systemctl enable network结果显示
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on以上提示代表network.service不是一个本地的系统服务,所以想设置开机自启需要使用/sbin/chkconfig进行操作
/sbin/chkconfig network on

在这里插入图片描述

案例2:把crond计划任务的服务信息添加到开机自启动中

systemctl enable crond
4.2 开机不自启
systemctl disable 系统服务的名称

案例:把crond计划任务的服务信息从开机自启动中移除

systemctl disable crond

在这里插入图片描述

5、systemctl参数总结

systemctl参数相关总结见下图:
在这里插入图片描述

二、扩展:系统运行级别

1、什么是运行级别

运行级别全称(Running Level),代表Linux系统的不同运行模式。

2、CentOS6的运行级别

vim /etc/inittab

分析

0   系统关机状态   halt (Do NOT set initdefault to this)
1   单用户工作状态   Single user mode (类似Windows的安全模式,Linux忘记密码)
2   多用户状态(没有NFS) Multiuser, without NFS (The same as 3, if you do not have networking)
3   多用户状态(有NFS)   Full multiuser mode (字符模式,服务基本都是此模式)
4   系统未使用,留给用户   unused
5   图形界面    X11 (图形模式,个人计算机都是此模式)
6   系统正常关闭并重新启动   reboot (Do NOT set initdefault to this)

3、CentOS7的运行级别

0   shutdown.target
1   emergency.target
2   rescure.target
3   multi-user.target   字符模式
45   graphical.target    图形模式
6

4、init命令(临时更改运行模式)

init 模式编号

案例1:立即关机

shutdown -h 0或now
或
halt -p
或
init 0

案例2:立即重启

reboot
或
init 6

案例3:把计算机切换到字符模式(黑窗口)

init 3

之前切换到黑窗口是按 Ctrl + Alt + Fn + F2~F6

案例4:把计算机切换到图形模式(图形界面)

init 5

之前切换回图形界面是按 Ctrl + Alt + Fn + F1

5、CentOS6中的chkconfig

问题:在CentOS7中,设置network开机启动时,系统要求使用chkconfig命令

chkconfig network on

设置完成后,怎么查看network有没有随开机自动启动呢?

chkconfig --list |grep network 

在这里插入图片描述

分析(重点是3和5)

0 关机模式
1 单用户模式
2 多用户模式(无NFS)
3 字符模式
4 自定义模式
5 图形模式
6 重启模式

三、NTP时间同步服务

1、什么是NTP服务

NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

工作场景:

公司开发了一个电商网站,由于访问量很大,网站后端由100台服务器组成集群。50台负责接收订单,50台负责安排发货,接收订单的服务器需要记录用户下订单的具体时间,把数据传给负责发货的服务器,由于100台服务器时间各不相同,记录的时间经常不一致,甚至会出现下单时间是明天,发货时间是昨天的情况。

2、NTP时间同步的原理

问题:标准时间是哪里来的?

现在的标准时间是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时),所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。

在NTP中,定义了时间按照服务器的等级传播,Stratum层的总数限制在15以内

工作中,通常我们会直接使用各个组织提供的,现成的NTP服务器

在这里插入图片描述

备注:千万不要改Windows系统时间!

3、从哪里找合适的NTP服务器呢?

NTP授时网站:http://www.ntp.org.cn/pool
在这里插入图片描述

4、NTP时间同步操作

同步服务器时间方式有2 个:一次性同步手动同步、通过服务自动同步。

4.1 手工同步

基本语法:

ntpdate NTP服务器的IP地址或域名

案例1:查看Linux系统时间

date

案例2:从NTP服务器中同步系统时间

ntpdate cn.ntp.org.cn

在这里插入图片描述

4.2 自动同步

基本语法:

① 启动ntpd服务
systemctl start ntpd
② 把ntpd服务追加到系统开机启动项中
systemctl enable ntpd

在这里插入图片描述

问题1:启动ntpd服务后,是不是时间就自动同步了?

问题2:需不需要让ntpd服务,开机自动运行?

需要

ntpd服务配置文件位置 /etc/ntp.conf

四、Linux下的软件包管理

1、什么是软件包

这是什么?
在这里插入图片描述

由上图可知,这个QQ.exe是Windows中的软件安装包。

Linux下也有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包和二进制包。

软件安装包即软件的安装程序,所谓的Linux软件包就是Linux下软件的安装程序

2、Linux下软件的安装方式

① RPM软件包安装 => 软件名称.rpm

② YUM包管理工具 => yum install 软件名称 -y

③ 源码安装 => 下载软件的源代码 => 编译 => 安装(最麻烦的,但是也最稳定)

3、二进制软件包

二进制包,也就是源码包经过成功编译之后产生的包。

二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:

  • RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
  • DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写

作用:rpm 的作用类似于豌豆荚,华为应用市场,App Store,主要作用是对linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装/更新。

4、获取*.rpm软件包

a. 去官网去下载(http://rpm.pbone.net);
在这里插入图片描述

在这里插入图片描述

b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;CentOS7.6*.iso

5、查询系统中已安装的rpm软件

rpm -qa |grep 要搜索的软件名称
选项说明:
-q :query,查询操作
-a :all,代表所有

案例1:查询计算机中已安装的rpm软件包

rpm -qa

案例2:搜索计算机中已安装的 firefox软件包

rpm -qa |grep firefox

在这里插入图片描述

结合管道搜索指定的软件,提高查找效率

6、卸载CentOS系统中的rpm软件包

rpm -e 软件名称 [选项]
选项说明:
--nodeps :强制卸载

案例:把系统中的firefox浏览器进行卸载操作

先查询完整软件名称:
rpm -qa |grep firefox查询结果:firefox-60.2.2-1.el7.centos.x86_64再卸载:
rpm -e firefox-60.2.2-1.el7.centos.x86_64

7、rpm软件包的安装

基本语法:

rpm -ivh 软件包的名称.rpm
选项说明:
-i:install,安装
-v:显示进度条
-h:表示以"#"形式显示进度条

8、rpm软件包的获取(光盘)

第一步:在VMware虚拟机中加载CentOS7.6的安装光盘
在这里插入图片描述

第二步:使用 lsblk(list block devices)或者df -T 查看块状设备的信息

lsblk
或
df -T

在这里插入图片描述

由上图,/dev/sr0代表光驱设备,挂载点为 /run/media/zhengyquan/CentOS 7 x86_64文件夹

注:Linux操作系统的中所有存储设备必须先挂载后使用

第三步:使用cd命令,切换到挂载目录

cd /run/media/zhengyquan/CentOS\ 7\ x86_64

在这里插入图片描述

注:空格的前面都要加上反斜杠 /

第四步:使用cd命令,切换到Packages软件包中

cd Packages

第五步:结合管道查询我们要安装的软件包

ls |grep firefox

第六步:使用rpm -ivh命令安装软件

rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm

在这里插入图片描述

在这里插入图片描述

小技巧:对于软件名称,不用全部手动输入,输入firefox + Tab,让其自动补全

9、rpm软件包的升级

基本语法:

rpm -Uvh 升级后的软件包名称.rpm
选项说明:
-U :Update,更新操作

案例:使用rpm -Uvh对firefox-60.2.2版本进行升级

rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm

10、rpm扩展

10.1 依赖关系

一个软件必须先有其他软件才能运行,例如之前xmind启动过程中提示的缺少DLL,称之为依赖。

WAMP(Windows + Apache + MySQL + PHP)安装前必须先安装VC++ 2014 x86_64,这种情况就称之为有依赖关系。

60.8.0的firefox可以更新成功

下面我们尝试更新到68.4.1的版本

用法:rpm -Uvh 软件包名称rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm
使用rpm命令,安装68.4.1版本的软件包

在这里插入图片描述

错误提示:

error:Failed dependencies:
提示安装68版本的firefox需要依赖nspr4.21的版本,nss的3.44的版本,这就是我们说的依赖关系

为了解决依赖关系的问题,有另外一个管理工具叫做yum,后面会讲到。

A软件
A软件 => 需要依赖B软件
B软件 => 需要依赖C软件
C软件

依赖关系的解决:使用YUM软件包管理工具对其进行安装(自动解决依赖关系)

yum install firefox -y

在这里插入图片描述

10.2 查看文件所属的包名

基本语法:f = file

rpm -qf 文件名称

主要功能:判断某个文件所属的包名称

案例:查询/etc/ntp.conf 属于哪个软件包

rpm -qf /etc/ntp.conf

在这里插入图片描述

10.3 查询软件安装完成后,生成了哪些文件

基本语法:l = list,显示这个软件安装后生成了哪些文件

rpm -ql 软件名称

案例1:查询firefox软件生成了哪些文件

rpm -ql firefox特别说明:软件安装完成后,一共生成了以下几类文件
配置文件类:/etc目录
程序文件本身,二进制文件命令:/usr/bin或/usr/sbin目录
文档手册:/usr/share/doc或man目录

案例2:查询openssh软件生成了哪些文件

rpm -ql openssh

11、光盘的挂载与解挂

在Linux操作系统中,所有的存储设备都必须先挂载然后才能使用。

问题:为什么当我们直接访问 /run/media/zhengyquan/CentOS\ 7\ x86_64就相当于访问光盘

因为CentOS7的操作系统自动把光驱设备挂载到此目录了,访问这个目录就相当于访问光盘。

11.1 解挂
cd ~
umount /run/media/zhengyquan/CentOS\ 7\ x86_64

常见问题:当我们执行以上命令时,系统提示target is busy!

出现以上问题的主要原因在于我们当前所在的目录为挂载目录。

11.2 挂载
mount 设备文件 挂载目录

提示:光驱的设备文件为/dev/sr0

案例1:把光驱挂载到/mnt/cdrom目录

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrommount: /dev/sr0 is write-protected, mounting read-only

案例2:把/mnt/cdrom进行解挂操作

cd ~
umount /mnt/cdrom

在这里插入图片描述

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

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

相关文章

[基础IO]文件描述符{重定向/perror/磁盘结构/inode/软硬链接}

文章目录 1. 再识重定向2.浅谈perror()3.初始文件系统4.软硬链接 1. 再识重定向 图解./sf > file.txt 2>&1 1中内容拷贝给2 使得2指向file 再学一个 把file的内容传给cat cat拿到后再给file2 2.浅谈perror() open()接口调用失败返回-1,并且错误码errno被适当的设置,…

SSL协议是什么?关于SSL和TLS的常见问题解答

SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些相关技术称为“SSL”或“SSL/TLS”。那么…

python flask 魔术方法

魔术方法作用_init_对象的初始化方法_class_返回对象所属的类_module_返回类所在的模块_mro_返回类的调用顺序,可以找到其父类(用于找父类)_base_获取类的直接父类(用于找父类)_bases_获取父类的元组,按它们…

springboot集成easypoi导出多sheet页

pom文件 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.0</version> </dependency> 导出模板&#xff1a; 后端代码示例&#xff1a; /*** 导出加油卡进便利店大额审批列…

JRT监听程序

本次设计避免以往设计缺陷&#xff0c;老的主要为了保持兼容性&#xff0c;在用的设计就不好调了。 首先&#xff0c;接口抽象时候就不在给参数放仪器ID和处理类了&#xff0c;直接放仪器配置实体&#xff0c;接口实现想用什么属性就用什么属性&#xff0c;避免老方式要扩参数时…

5-4、S加减单片机程序【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍实现步进电机S曲线运动的代码 一、目标功能 实现步进电机转动总角度720&#xff0c;其中加减速各90 加速段&#xff1a;加速类型&#xff1a;S曲线  加速角度&#xff1a;角度为90  起步速度…

微软Windows生态是怎么打造成功的?

&#xff08;1&#xff09;2015年Windows10&#xff1a;兼容性 我不得不再次佩服一下微软&#xff0c;Windows10是2015年出品的&#xff0c;但是仍然能正常运行绝大多数的Windows95软件&#xff0c;不用做任何的适配修改&#xff0c;连重新编译都不用&#xff0c;运行照样正常。…

视觉SLAM十四讲学习笔记(一)初识SLAM

目录 前言 一、传感器 1 传感器分类 2 相机 二、经典视觉 SLAM 框架 1 视觉里程计 2 后端优化 3 回环检测 4 建图 5 SLAM系统 三、SLAM 问题的数学表述 四、Ubuntu20.04配置SLAM十四讲 前言 SLAM: Simultaneous Localization and Mapping 同时定位与地图构建&#…

SSRF漏洞给云服务元数据带来的安全威胁

文章目录 前言元数据服务威胁1.1 Metadata元数据1.2 RAM资源管理角色1.3 STS 临时凭据利用1.4 CF云环境利用框架1.5 元数据安全性增强 TerraformGoat2.1 永久性AccessKey2.2 SSRF靶场环境搭建2.3 腾讯云CVM配角色2.4 接管腾讯云控制台 SSRF组合拳案例3.1 上传图片功能SSRF3.2 文…

DataX详解和架构介绍

系列文章目录 一、DataX详解和架构介绍 二、DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录DataX是什么&#xff1f…

外包干了10个月,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法

苹果电脑删除数据恢复该怎么做&#xff1f;Mac电脑误删文件的恢复方法 如何在Mac上恢复误删除的文件&#xff1f;在日常使用Mac电脑时&#xff0c;无论是工作还是娱乐&#xff0c;我们都会创建和处理大量的文件。然而&#xff0c;有时候可能会不小心删除一些重要的文件&#x…

电缆线的阻抗50Ω,真正含义是什么?

当我们提到电缆线的阻抗时&#xff0c;它到底是什么意思&#xff1f;RG58电缆通常指的是50Ω的电缆线。它的真正含义是什么&#xff1f;假如取一段3英尺(0.9144米)长的RG58电缆线&#xff0c;并且在前端测量信号路径与返回路径之间的阻抗。那么测得的阻抗是多少&#xff1f;当然…

unity实现第一人称和第三人称

在角色设置两个挂载点&#xff0c;第一人称时&#xff0c;相机放在eys上面&#xff0c;切换第三人称时&#xff0c;放置到3rd节点上面&#xff0c;调整节点位置&#xff0c;达到期望效果 代码 void ThirdView(){Debug.Log("切换到第三人称");camera.SetParent(third…

财务数据处理问题及解决方案分享

一、平台介绍 财务自营计费主要承接京东自营数据在整个供应链中由C端转B端的功能实现&#xff0c;在整个供应链中属于靠后的阶段了&#xff0c;系统主要功能是计费和向B端的汇总。 二、问题描述 近年来自营计费数据量大增&#xff0c;有百亿的数据量&#xff0c;一天中汇总占…

ChatGPT Plus如何升级?信用卡付款失败怎么办?如何使用信用卡升级 ChatGPT Plus?

ChatGPT Plus是OpenAI提供的一种高级服务&#xff0c;它相较于标准版本&#xff0c;提供了更快的响应速度、更强大的功能&#xff0c;并且用户可以优先体验到新推出的功能。 尽管许多用户愿意支付 20 美元的月费来订阅 GPT-4&#xff0c;但在实际支付过程中&#xff0c;特别是…

【ES数据可视化】kibana实现数据大屏

目录 1.概述 2.绘制数据大屏 2.1.准备数据 2.2.绘制大屏 3.嵌入项目中 1.概述 再来重新认识一下kibana&#xff1a; Kibana 是一个用于数据可视化和分析的开源工具&#xff0c;是 Elastic Stack&#xff08;以前称为 ELK Stack&#xff09;中的一部分&#xff0c;由 Ela…

机器学习 | 一文看懂SVM算法从原理到实现全解析

目录 初识SVM算法 SVM算法原理 SVM损失函数 SVM的核方法 数字识别器(实操) 初识SVM算法 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种经典的监督学习算法&#xff0c;用于解决二分类和多分类问题。其核心思想是通过在特征空间中找到一…

【Linux网络编程三】Udp套接字编程(简易版服务器)

【Linux网络编程三】Udp套接字编程(简易版服务器&#xff09; 一.创建套接字二.绑定网络信息1.构建通信类型2.填充网络信息①网络字节序的port②string类型的ip地址 3.最终绑定 三.读收消息1.服务器端接收消息recvfrom2.服务器端发送消息sendto3.客户端端发送消息sendto4.客户端…

海康威视球机摄像头运动目标检测、跟踪与轨迹预测

一、总体方案设计 运动目标检测与跟踪方案设计涉及视频流的实时拍摄、目标检测、轨迹预测以及云台控制。以下是四个步骤的详细设计&#xff1a; 1.室内场景视频流拍摄 使用海康威视球机摄像头进行室内视频流的实时拍摄。确保摄像头能覆盖整个室内空间&#xff0c;以便捕捉所…