Day08Linux自有服务与软件包管理一、systemctl管理系统服务1、systemctl概述

CentOS6版本:

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

shell"># 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:列出所有启动的服务

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

# systemctl list-units --type service --all

案例二:只列举早已启动的Linux系统服务

# systemctl list-units --type service

案例三:把systemctl显示系统服务与管线命令相结合,筛选我们想要的服务信息

# systemctl list-units --type service | grep sshd

3、Linux系统服务管理☆status查看状态

查看系统服务的状态

# systemctl status 系统服务的名称

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

# systemctl status network

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

# systemctl status sshd

☆stop停止服务

# systemctl stop 系统服务的名称

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

# systemctl stop network

☆start启动服务

# systemctl start 系统服务的名称

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

# systemctl start network

☆restart重启服务

# systemctl restart 系统服务的名称
等价于
# systemctl stop 系统服务的名称
# systemctl start 系统服务的名称

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

# systemctl restart crond

☆reload热重载技术

# systemctl reload 系统服务名称

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

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

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

# systemctl reload crond

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

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

☆开机自启

# systemctl enable 系统服务的名称

案例:把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

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

# systemctl enable crond

☆开机不自启

# systemctl disable 系统服务的名称

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

# systemctl disable crond

二、扩展:系统运行级别1、什么是运行级别

运行级别全称(RunningLevel),代表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的运行级别

linux系统下更新时间的命令是什么_linux版本更新命令_linux更新内核命令

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

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

# init 模式编号

案例:立刻死机

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

案例:立刻重启

# reboot# init 6

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

# init 3

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

# init 5

5、CentOS6中的chkconfig

问题:在CentOS7中,设置network开机启动时linux系统下更新时间的命令是什么,系统要求使用chkconfig命令

# chkconfig network on

设置完成后,如何查看network有没有随开机手动启动呢?

# chkconfig --list |grep network 
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
只要 3 和 5 开启,network就开启。
0 关机模式
1 单用户模式
2 多用户模式(无NFS)
3 字符模式
4 自定义模式
5 图形模式
6 重启模式

4、NTP时间同步操作☆手工同步

基本句型:

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

案例:查看Linux系统时间

# date

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

# ntpdate cn.ntp.org.cn

☆自动同步

基本句型:

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

四、Linux下的软件包管理1、什么是软件包

这是哪些?

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

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

2、Linux下软件的安装方法

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

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

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

3、二补码软件包

​二补码包,也就是源码包经过成功编译以后形成的包。

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

​RPM是RedHatPackageManager(RedHat软件包管理工具)的简写

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

4、获取*.rpm软件包

a.去官网去下载();

b.不介意老版本的话linux系统下更新时间的命令是什么,可以从光碟(或则镜像文件)中读取;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(listblockdevices)或则df-T查看球状设备的信息

# lsblk
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  4.3G  0 rom  /run/media/itheima/CentOS 7 x86_64
由以上图解可知,/dev/sr0代表光驱设备 => 挂载点 => /run/media/localhost/CentOS 7 x86_64文件夹
或
# df -T

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

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

# cd /run/media/localhost/CentOS 7 x86_64

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

# cd Packages

第五步:查询我们要安装的软件包

# ls |grep firefox
firefox-60.2.2-1.el7.centos.x86_64.rpm

第六步:使用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扩充☆依赖关系

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

WAMP(Windows+Apache+MySQL+PHP)安装前必须先安装VC++2014x86_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:Faileddependencies:

提示安装68版本的firefox须要依赖nspr4.21的版本,nss的3.44的版本,这就是我们说的依赖关系。

为了解决依赖关系的问题,有另外一个管理工具称作yumlinux课程,前面我们会谈到。

linux系统下更新时间的命令是什么_linux更新内核命令_linux版本更新命令

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

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

# yum install firefox -y

☆查看文件所属的包名

基本句型:f=file

# rpm -qf 文件名称

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

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

# rpm -qf /etc/ntp.conf
ntp-4.2.6p5-28.el7.centos.x86_64

☆查询软件安装完成后国内linux主机,生成了什么文件

基本句型: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/itheima/CentOS7x86_64就相当于访问光碟

答:主要诱因就是由于CentOS7的操作系统手动把硬盘设备挂载到此目录了,访问这个目录就相当于访问光碟。

☆解挂

# cd ~
# umount /run/media/localhost/CentOS 7 x86_64

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

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

☆挂载

# mount 设备文件 挂载目录

提示:硬盘的设备文件为/dev/sr0

案例:把硬盘挂载到/mnt/cdrom目录

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

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

# cd ~
# umount /mnt/cdrom

本文原创地址:https://www.linuxprobe.com/lxtfwglxtdjb.html编辑:刘遄,审核员:暂无