RHEL/CentOS 7.x如何启动/关闭、启用/禁用服务? 修改系统运行级别

PS:和CentOS7出来有一段时间了,拿出点时间研究下,有几个地方跟6和5系列相比改变比较大,估计不少童鞋有点不太习惯。下面简要举例说明改变比较大的要点:

  一、的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。


引用地址   http://js.13168.org/2014a/0801/22507.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要封装自己的CentOS 7镜像,需要执行以下步骤: 1. 在一台CentOS 7系统上安装所有必要的软件包(如livecd-tools、squashfs-tools、syslinux等)。 2. 创建一个工作目录,并将CentOS 7的ISO文件复制到该目录中。 3. 挂载ISO文件并将其内容复制到工作目录中。 4. 使用livecd-creator工具创建一个新的CentOS 7镜像。 5. 对镜像进行自定义配置,包括添加软件包、修改配置文件、添加脚本等。 6. 使用livecd-iso-to-disk工具将镜像写入USB驱动器或将其转换为ISO文件进行分发。 以下是详细步骤: 1. 确保系统上安装了所有必要的软件包。您可以使用以下命令安装它们: ``` sudo yum install livecd-tools squashfs-tools syslinux ``` 2. 创建一个工作目录,并将CentOS 7的ISO文件复制到该目录中: ``` mkdir ~/customcentos cp CentOS-7-x86_64-DVD-1810.iso ~/customcentos ``` 3. 挂载ISO文件并将其内容复制到工作目录中: ``` sudo mount -o loop CentOS-7-x86_64-DVD-1810.iso /mnt cp -r /mnt/* ~/customcentos sudo umount /mnt ``` 4. 使用livecd-creator工具创建一个新的CentOS 7镜像: ``` sudo livecd-creator --verbose --config=centos7.ks --fslabel=CentOS7Custom --cache=/var/cache/live ``` 其中,`--config`选项指定了一个Kickstart文件,该文件包含了自定义的配置信息,`--fslabel`选项指定了文件系统标签,`--cache`选项指定了缓存目录。 5. 对镜像进行自定义配置。您可以在Kickstart文件中添加软件包、修改配置文件、添加脚本等。 以下是一个Kickstart文件的示例: ``` #version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Use graphical install graphical # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=vda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 network --hostname=localhost.localdomain # Root password rootpw --iscrypted $6$3P4iHJ9I7zW.0a4X$P5S9x233Q4r2Uu/6nLW3pAY8z9i5Fj2iQzoz3bThZgjX1rjvWx8JGxk1JL5h8tzNkN1X6H4O7x3zL7R5QzvGq0 # System timezone timezone Asia/Shanghai --isUtc # System bootloader configuration bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=vda autopart --type=lvm # Partition clearing information clearpart --all --initlabel --drives=vda # Package installation %packages --nobase @^minimal @core kexec-tools kernel kernel-devel kernel-headers kernel-tools kernel-tools-libs openssh-clients openssh-server sudo vim-enhanced yum yum-utils @development @hardware-support @large-systems @network-file-system-client @performance @server-platform @virtualization %end # Post-installation scripts %post --error-onfail # Disable SELinux sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config # Enable ssh root login sed -i 's/^PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config systemctl restart sshd %end ``` 在上面的示例中,我们禁用了SELinux,启用了SSH根登录,并在安装后重启了SSH服务。 6. 使用livecd-iso-to-disk工具将镜像写入USB驱动器或将其转换为ISO文件进行分发: ``` sudo livecd-iso-to-disk CentOS7Custom.iso /dev/sdb ``` 其中,`CentOS7Custom.iso`是你的自定义镜像的文件名,`/dev/sdb`是你的USB驱动器的设备名称。 当然,您也可以使用以下命令将镜像转换为ISO文件: ``` sudo mv ~/customcentos/images/boot.iso ~/customcentos ``` 这将把生成的ISO文件放到工作目录中的`boot.iso`文件中。 以上就是封装自己的CentOS 7镜像的步骤。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值