centos 关闭postfix centos7

CentOS怎样开启关闭系统服务

CentOS使用systemd服务管理程序来管理服务

1、systemd的服务管理程序介绍:

systemctl是主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。

systemctl可以列出正在运行的服务状态:

systemd-cgls以树形列出正在运行的进程,它可以递归显示控制组内容。

2、启动/关闭、启用/禁用服务

启动一个服务:systemctl start postfix.service

关闭一个服务:systemctl stop postfix.service

重启一个服务:systemctl restart postfix.service

显示一个服务的状态:systemctl status postfix.service

在开机时启用一个服务:systemctl enable postfix.service

在开机时禁用一个服务:systemctl disable postfix.service

查看服务是否开机启动:systemctl is-enabled postfix.service;echo$?

查看已启动的服务列表:systemctl list-unit-files|grep enabled

RHEL7和CentOS 7都有哪些变化CentOS 7有什么不一样

一、CentOS的Services使用了systemd来代替sysvinit管理

1、systemd的服务管理程序:

systemctl是主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。

systemctl可以列出正在运行的服务状态,如图:

systemd-cgls以树形列出正在运行的进程,它可以递归显示控制组内容。如图:

2、如何启动/关闭、启用/禁用服务?

启动一个服务:systemctl start postfix.service

关闭一个服务:systemctl stop postfix.service

重启一个服务:systemctl restart postfix.service

显示一个服务的状态:systemctl status postfix.service

在开机时启用一个服务:systemctl enable postfix.service

在开机时禁用一个服务:systemctl disable postfix.service

查看服务是否开机启动:systemctl is-enabled postfix.service;echo$?

查看已启动的服务列表:systemctl list-unit-files|grep enabled

说明:启用服务就是在当前“runlevel”的配置文件目录/etc/systemd/system/multi-user.target.wants/里,建立/usr/lib/systemd/system里面对应服务配置文件的软链接;禁用服务就是删除此软链接。如图:

查看了/usr/lib/systemd/system里的文件,语法跟旧版/etc/init.d/里的系统服务脚本完全不同了。

二、修改系统运行级别:

1、systemd使用比sysvinit的运行级更为自由的target替代。第3运行级用multi-user.target替代。第5运行级用graphical.target替代。runlevel3.target和runlevel5.target分别是指向 multi-user.target和graphical.target的符号链接。

可以使用下面的命令切换到“运行级别3”:

systemctl isolate multi-user.target或systemctl isolate runlevel3.target

可以使用下面的命令切换到“运行级别5”:

systemctl isolate graphical.target或systemctl isolate runlevel5.target

2、如何改变默认运行级别?

systemd使用链接来指向默认的运行级别。在创建新的链接前,可以通过下面命令删除存在的链接: rm/etc/systemd/system/default.target

默认启动运行级别3:

ln-sf/lib/systemd/system/multi-user.target/etc/systemd/system/default.target

默认启动运行级别5:

ln-sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target

systemd不使用/etc/inittab文件。

3、如何查看当前运行级别?

旧的runlevel命令在systemd下仍然可以使用。可以继续使用它,尽管systemd使用‘target’概念(多个的‘target’可以同时激活)替换了之前系统的runlevel。

等价的systemd命令是systemctl list-units–type=target

三、其他配置工具:

1、setup和ntsysv工具还是保留了,但是功能已大大减弱,以前ntsysv工具可以控制所有系统服务的自启动,现在只能控制少部分服务。

2、/etc/resolv.conf这个DNS配置文件没变。

3、/etc/sysconfig/network-scripts/ifcfg-ens192网卡配置文件名字和一些选项有所变化。

4、引导方式改用grub2引导,grub2有如下特点:1、模块化设计;2、支持多体系硬件架构;3、支持国际化多语言;4、独立内存管理;5、支持脚本语言。

附:systemd简介

systemd是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。

与多数发行版使用的System V风格init相比,systemd采用了以下新技术:

采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;

用cgroups代替PID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。

从设计构思上说,由于systemd使用了cgroup与fanotify等组件以实现其特性,所以只适用于Linux。

【实用】CentOS 7系统优化脚本

作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。

脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。

脚本结构如下:

1.主菜单

2.二级菜单

主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。

脚本代码如下:

sh

#!/bin/sh

./etc/rc.d/init.d/functions

exportLANG=zh_CN.UTF-8

#一级菜单

menu1(){

clear

cat</etc/locale.conf</dev/null

echo'#firewall-cmd--state'

firewall-cmd--state

systemctldisablefirewalld.service&>/dev/null

echo'#systemctllist-unit-files|grepfirewalld'

systemctllist-unit-files|grepfirewalld

action"完成禁用firewalld,生产环境下建议启用!"/bin/true

echo"==========================================================="

sleep5

}

#精简开机启动

chkset(){

echo"=======================精简开机启动========================"

systemctldisableauditd.service

systemctldisablepostfix.service

systemctldisabledbus-org.freedesktop.NetworkManager.service

echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'

systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"

action"完成精简开机启动"/bin/true

echo"==========================================================="

sleep2

}

#修改文件描述符

limitset(){

echo"======================修改文件描述符======================="

echo'*-nofile65535'>/etc/security/limits.conf

ulimit-SHn65535

echo"#cat/etc/security/limits.conf"

cat/etc/security/limits.conf

echo"#ulimit-Sn;ulimit-Hn"

ulimit-Sn;ulimit-Hn

action"完成修改文件描述符"/bin/true

echo"==========================================================="

sleep2

}

#安装常用工具及修改yum源

yumset(){

echo"=================安装常用工具及修改yum源==================="

yuminstallwget-y&>/dev/null

if[$?-eq0];then

cd/etc/yum.repos.d/

\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)

ping-c1mirrors.aliyun.com&>/dev/null

if[$?-eq0];then

wget-O/etc/yum.repos.d/CentOS-Base.repo

yumcleanall&>/dev/null

yummakecache&>/dev/null

else

echo"无法连接网络"

exit$?

fi

else

echo"wget安装失败"

exit$?

fi

yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null

action"完成安装常用工具及修改yum源"/bin/true

echo"==========================================================="

sleep2

}

#优化系统内核

kernelset(){

echo"======================优化系统内核========================="

chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`

if[$chk_nf-eq0];then

cat>>/etc/sysctl.conf</dev/null

if[$?-eq0];then

/usr/sbin/

echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root

else

echo"ntpdate安装失败"

exit$?

fi

action"完成设置时间同步"/bin/true

echo"==========================================================="

sleep2

}

#history优化

historyset(){

echo"========================history优化========================"

chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`

if[$chk_his-eq0];then

cat>>/etc/profile<<'EOF'

#设置history格式

exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"

#记录shell执行的每一条命令

exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF

source/etc/profile

else

echo"优化项已存在。"

fi

action"完成history优化"/bin/true

echo"==========================================================="

sleep2

}

main(){

menu1

case$num1in

1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;

2) menu2

case$num2in

1) localeset;;

2) selinuxset;;

3) firewalldset;;

4) chkset;;

5) limitset;;

6) yumset;;

7) kernelset;;

8) sshset;;

9) restartset;;

10) ntpdateset;;

11) historyset;;

12) main;;

13) exit;;

*) echo'Pleaseselectanumberfrom[1-13].';;

esac

;;

3) exit;;

*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;

esac

}

main$*

将脚本保存为init.sh,赋予执行权限并执行即可。

chmod+xinit.sh&&./init.sh

通过一键命令执行,同样能达到脚本的效果:

bash-c"$(curl-Ls.aaa.al/init.sh)"

如需新增功能,可在脚本基础上进行修改实现。

本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。

阅读剩余
THE END