因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用systemctl管理libvirtd服务,只能通过libvirtd -d的方式手动启动。然而,手动启动的Libvirtd服务并不符合开发规范,所以只能手动把libvirtd.service添加到systemctl管理。


这就要详解下systemctl管理程序了

一、systemctl介绍

systemctl 是一个systemd工具,主要负责控制systemd系统和服务管理器,而Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程,当前redhat系列的Linux发行版都是采用这种方式。Systemd的功能是用于集中管理和配置类UNIX系统。而我们要通过systemctl管理服务原因之一也是想让系统进程启动我们的服务,这在标签机制中涉及到标签的继承问题,这里不在深入。

二、通过systemctl管理服务

通过systemctl管理服务简单高效,本来还是想深入分析写勒,但是突然发现一个大牛的博客,这里我就不画蛇添足了,需要的可以参考:

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

重点写下通过systemctl管理libvirtd的具体步骤:

1、systemctl管理的每个单元都有一个文件与之对应,以sshd服务来讲,对应的就是sshd.service,存在于/usr/lib/systemd/system/文件夹下,而在/etc/systemd/system/文件夹下有该文件的软连接,表明这是自动启动的。为了简便,我是从别处通过rpm包安装的libvirt机器上拷贝其libvirtd.service文件到本机的/etc/systemd/system/文件夹下。

文件内容如图所示:

其中的大部分内容不需要改动,就是下面的文件的路径需要改,因为手动编译安装的libvirt安装路径在/usr/local/sbin/libvirtd

另外需要注意的是上面Unit单元里面after表示该服务以来上面的服务,这里libvirt-guest.service在手动编译安装的版本里面没有,需要我们自行安装,其具体作用不详。没有libvirt-client.service,libvirt仍然可以正常工作可以看出这个并不影响Libvirt基本功能,其所作的应该是管理类的工作。没有libvirt-client.service通过systemctl 没办法正常管理libvirtd.service

2、复制配置文件/etc/sysconfig/libvirtd文件到本机同等目录

3、安装libvirt-guests

yum install libvirt-guests

4、执行函数重新载入

systemctl damon-reload

5、测试

systemctl status libvirtd.service

systemctl start libvirtd.service

systemctl restart libvirtd.service

systemctl enable libvirtd.service

查看状态:

手动编译安装Libvirt之后利用systemctl管理libvirtd服务的更多相关文章

  1. centos7手动编译安装Libvirt常见问题

    由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...

  2. 二进制编译安装nginx并加入systemctl管理服务

    一.安装nginx所需环境 # yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y 二.安装ngi ...

  3. web服务器学习1---httpd-2.4.29源码手动编译安装

    环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一  Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...

  4. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  5. 手动编译安装tmux

    tmux的好处就不多说了,总之是多屏管理的神器.通常我们用系统通用的安装方式可以安装到tmux,但有时候,安装到的可能不是我们所需要的版本,又或者软件源里面没有带tmux.这个时候就需要手动编译安装了 ...

  6. CentOS手动编译安装gcc

    最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...

  7. Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试

    本文章仅限cnblogs网站内转载!请某网站自觉,遵纪守法,尊重原创! 系统环境情况: 最小化.无桌面环境 新安装的Debian 8 Server 版本操作系统虚拟机一台 手动编译安装MongoDB ...

  8. Ubuntu 18.04 手动编译安装 ffmpeg

    ffmpeg 是一个由提供对视频.音频和其他多媒体流文件进行处理功能的库和程序构成的自由软件项目,其常被用于适用于不同格式的音频和视频的录影.转换和流处理等场合.这里记录在 Ubuntu 18.04 ...

  9. fedora下手动编译安装vim

    据说手动编译安装可以更适合自己的电脑哦- 1.首先,我门要下载源文件,下载地址:ftp://ftp.vim.org/pub/vim/unix/ 选择一个最新版本,我这里选择的是 vim-7.4.tar ...

随机推荐

  1. js json对象和数组对象

    动态添加json对象: var json = {}; json['a'] = 'a'; 动态添加数组对象: var arr = []; arr['a'] = 'a';

  2. Java单元测试学习

    单元测试的好处 1. 让你写出更好的代码:职业高内聚.低耦合而且接口设计合理的代码才易于测试: 2. 让你在修改代码时更有信心. JUnit4 注解 @Test (expected = Excepti ...

  3. myeclipse 上安装 Maven3<转>

    环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版 ...

  4. memcached server LRU 深入分析

    Memcached,人所皆知的remote distribute cache(不知道的可以javaeye一下下,或者google一下下,或者baidu一下下,但是鉴于baidu的排名商业味道太浓(从最 ...

  5. URL 重写

    转载自:http://www.cnblogs.com/knowledgesea/archive/2012/10/08/2715350.html 一. 为了页面更有利于seo优化,url重写程序需要做出 ...

  6. sql 使用整理

    今天使用视图查询东西,为了方便直接select * 查出来的都行全部都错乱了,看来sql 超过20个以上的字段为了效率和安全,禁止用select * -------------查一个表的所有字段的-- ...

  7. 关于Unity中场景视图的使用

    1.在任何状态下,按下鼠标中键可以切换到手掌的那个状态,可以移动当前场景 2.在手掌的那个状态,按住鼠标左键是移动场景视图,右键是视角绕着摄像机移动,按住alt+鼠标左键,是绕着指定物体旋转视角 3. ...

  8. 第二百六十五节,xss脚本攻击介绍

    xss脚本攻击介绍 Cross-Site Scripting(XSS)是一类出现在 web 应用程序上的安全弱点,攻击者可以通过 XSS 插入一 些代码,使得访问页面的其他用户都可以看到,XSS 通常 ...

  9. jdk 配置时时区设置

    在eclipse中的 Default VM Arguments:添加 -Duser.timezone=Aisa/Shanghai

  10. 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程

    前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...