【linux】自有服务与软件包管理

本文详细介绍了Linux系统服务的管理,包括systemctl的使用,系统服务的显示和管理,服务持久化,以及运行级别的理解。此外,文章还涵盖了NTP时间同步服务的配置,讲解了Linux下软件包的安装方式,如RPM和YUM,以及源码安装的步骤。同时,介绍了Linux防火墙firewalld的设置和规则管理,并探讨了计划任务crontab的使用和管理。
摘要由CSDN通过智能技术生成

文章目录

systemctl管理系统服务

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

案例:列出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

系统运行级别

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

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)

CentOS7的运行级别

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

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

init 模式编号

案例:立即关机

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

案例:立即重启

# reboot
或
# init 6

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

# init 3

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

# init 5

CentOS6中的chkconfig

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

# chkconfig network on

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

# chkconfig --list |grep network 
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off

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

NTP时间同步服务

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

手工同步

基本语法:

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

案例:查看Linux系统时间

# date

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

# ntpdate cn.ntp.org.cn

☆ 自动同步

基本语法:

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

Linux下的软件包管理

Linux下软件的安装方式

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

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

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

软件包类型

☆ 二进制软件包(rpm包)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWVmT78P-1670311416358)(media/image-20200403162253401.png)]

  1. 二进制包,指的是已经[^编译]好了的软件包,只需要直接安装就可以使用。
  2. 二进制包,不需要编译,直接下载安装即可
  3. 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适

类似Windows中的.exe文件,如qq.exe

☆ 软件源码包(重点)

什么是源码包?有什么特点?

  1. 源码包,指的是程序员写的原始的程序代码文件不能直接在计算机上运行
  2. 源码包,需要进行编译,变成二进制的软件包后,才可安装使用
  3. 源码包,一般可以在任何的计算机上安装使用
  4. 源码包,命名方式一般为:
    • 软件包名.tar.gz
    • 软件包名.tar.bz2
    • 软件包名.tar.xz
    • 软件包名.zip

类似于腾讯QQ开发工程师 => QQ的源代码发给你了 .c => 编译 => QQ.exe文件

☆ 二进制源码包(.src.rpm)

什么是二进制源码包?有什么特点?

  1. 二进制源码包,是一个半成品,安装后不能直接使用
  2. 二进制源码包,需要使用rpmbuild工具重建成真正的rpm包或者重建成源码包才可安装使用
  3. 二进制源码包,命名方式一般为:
    • mysql-community-5.7.25-1.el6.==src.==rpm
    • mysql-community-5.7.25-1.el7.src.rpm

二进制软件包的安装方式

① 基于RPM进行安装(先下载软件然后本地进行安装)

② 基于YUM进行安装(在线下载然后安装)

二进制软件包

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

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

  • RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。

  • DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。

      RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
    
获取*.rpm软件包

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

  1. 推荐网站
    • www.rpmfind.net
    • rpm.pbone.net
  2. 相应软件官方网站
    • http://www.mysql.com
    • http://nginx.org/packages/
如何选择合适的软件
  1. 选择适合当前系统的版本号
    • 找不到适合的,才去尝试别的系统版本号
    • el6兼容el5;el5无法安装 el6
  2. 选择适合当前计算机cpu的架构
    • x86_64包,只能安装在64位的系统上
    • i386,i586,i686的软件包可以安装在32和64位系统上
    • noarch表示这个软件包与硬件构架无关,可以通用
    • 32位系统不能安装64位包

建议: 建议不要跨大版本号去安装软件包,尽量使用当前系统版本自带软件包安装

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

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

# rpm -qa

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

# rpm -qa |grep firefox
<
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值