Articles of systemd

编译好自己之后,在Ubuntu 15.10上安装Nginx的正确方法

我在Ubuntu 15.10上编译了最新版本的Nginx,并使用它进行安装 dpkg -i nginx_1.9.15-1_amd64.deb 但是,systemd服务脚本没有创build,所以nginx没有运行。 我到底该如何做,以及自编译后安装nginx的正确步骤是什么,以便所有必要的文件都存在并位于正确的位置? 谢谢!

Systemd启动后如何启动到程序/脚本

我尝试编写一个分布式OVA设备的networking/环境configuration器,类似于Github Enterprise所做的,请参阅https://github-images.s3.amazonaws.com/enterprise/Enterprise-QS-Virtualbox-Console.png 。 我使用CoreOS和Systemd作为init系统。 自动login被取消激活,我目前的做法是编写一个.service单元来设置networking,然后重新启动这些configuration。 这样做的原因是,在系统启动期间,我有足够的权限来更改networking,而不必让用户login。 缺点是这个过程基本挂起/停止系统启动。 我的问题是如何configurationSystemd(在CoreOS中),以便在启动后为用户提供交互式程序/脚本,并且用户不能“转义”该程序/脚本?

即使具有适当的组权限,也不能在EXEC产生的步骤中失败

我正在设置基本Web服务器的权限,但在使用systemd启动服务器时遇到一些困难。 在我的工作描述中,我将用户和组设置为“foo”,如下所示: [Service] WorkingDirectiory=/home/otheruser/Website ExecStart=/home/otheruser/Website/bin/site -Dhttp.port=7000 User=foo Group=foo 我recursion地将Website目录的组更改为foo ,并确保为site二进制文件赋予组执行权限。 当我还有问题的时候,我把整个目录foo 。 这是ls -la在bin目录中显示的内容: drwxr-xr-x 2 foo foo 4096 Sep 5 16:13 . drwxr-xr-x 7 foo foo 4096 Sep 5 18:07 .. -rwxr-xr-x 1 foo foo 8502 Sep 5 16:13 site 无论如何,我仍然遇到这个错误,当试图启动我的系统作业: foo.service: Failed at step EXEC spawning /home/otheruser/Website/bin/site: Permission denied 任何想法可能导致这个?

为什么systemd network.service抱怨“无法加载文件”/ etc / sysconfig / network-scripts / ifcfg-lo'“

我使用Kickstart安装了几个全新的CentOS 7系统。 当我重新启动networking时,我注意到奇怪的错误,说“ Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' “。 这个错误没有任何意义,因为ifcfg-lo文件存在,而且对我来说看起来很正常。 系统似乎正常工作,为什么networking服务抱怨? [root@host3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 # If you're having problems with gated making 127.0.0.0/8 a martian, # you can change this to something else (255.255.255.255, for example) BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback [root@host3 ~]# [root@host3 ~]# systemctl restart network [root@host3 ~]# journalctl -xe […]

SystemD SysV生成器和挂载

所以systemd-sysv-generator将旧式的init.d文件转换成systemd服务文件。 但是在所有的坐骑都被装上之前,它可能会这样做。 我有一些传统的商业软件,它们是/ opt,它是一个单独的挂载点。 它创build一个从/etc/init.d/their_service到/ opt中的文件的符号链接 因此,当服务器启动时, systemd-sysv-generator仍然无法读取链接的文件,并且无法创build服务,从而无法启动服务。 由于传统软件是由另一个团队pipe理的,他们有权力自行更新,所以我不想开始将文件复制出/ opt并replace符号链接。 或者更糟糕的是,请尝试自己将其重写为systemd服务。 在opt.mount之后有没有办法让systemd-sysv-generator opt.mount ?

我怎么知道为什么systemd服务启动?

我想弄明白为什么一个特定的服务在一个系统上启动,我想知道是否有一个命令来说明为什么一个特定的服务开始? 当询问服务的状态时,systemctl宣称它已被禁用,但它正在运行,我没有明确要求启动它,AFAICT。 以下输出(稍微匿名) # systemctl status myservice ● myservice.service – My Service Loaded: loaded (/usr/lib/systemd/system/myservice.service; disabled; vendor preset: disabled) Active: active (running) since mån 2017-02-27 13:57:15 CET; 30min ago Docs: http://www.example.com/ Main PID: 4680 (ewe) CGroup: /system.slice/myservice.service ├─4680 /opt/myservice/vbc/bin/myservice └─4944 /opt/myservice/vbc/bin/myservice 我开始在其.service文件中设置Before=myservice.service服务(不需要),所以我怀疑,但我不能确定。 这是在CentOS 7.3系统上运行的。 编辑:我已经能够解决这个问题,确保一个服务,上面的服务有一个Requires= , After=和Wants=关系,并且是由暂时运行一次服务启动的,明确地停止。 这样做时,服务不会启动。 然而,我并不是在近距离地搞清楚为什么它是从头开始的。 编辑:似乎我的服务文件启动时,它有一个Requires关系,以重新启动一个服务。 我没有想到会发生这种情况,我认为这只会意味着我的服务在开始时会启动其他服务,而不是启动我的服务。 删除Requires修复幻影重新启动。

我无法让cgroup blkio来扼杀子cgroup中进程的iops

我无法让cgroup blkio来扼杀子cgroup中进程的iops。 我正在使用CentOS 7,3.10.0-229。 我创build了cgroup /sys/fs/cgroup/blkio/user.slice/test1并执行 echo 8:32 10 > /sys/fs/cgroup/blkio/user.slice/test1/blkio.throttle.read_iops_device 同样对于write_iops_device。 8:32对应于/ dev / sdc处的HDD。 然后使用stress-ng在/ srv / hdd-c中读取和写入驱动器 cgexec -g blkio:user.slice/test1 stress-ng –temp-path /srv/hdd-c –hdd 15 -t 180 和 cgexec -g blkio:user.slice/test1 stress-ng –temp-path /srv/hdd-c –readahead 15 -t 180 我确认启动的30个进程正在使用ps eo pid,user,args,cgroup在blkio:user.slice / test1 cgroup中运行。 当我做iostat 5 ,sdc的tps数量是400到600,这与我在test1 cgroup之外运行时相同。 我得到相同的结果,如果我echo 8:32 10 > […]

奇怪的错误与CentOS 7上的Apache

我正在尝试使用vagrant,virtualbox和CentOS 7 64bit构build虚拟机。 主机操作系统是Ubuntu 14.04 64bit。 Vagrant是1.9.2,VirtualBox 5.1.6。 这是stream浪文件 Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.box_check_update = false # Enable cache if plugin is installed # To install it execute: vagrant plugin install vagrant-cachier # cache will be located in [thisvagrantdir]/.vagrant/machines/default/cache if Vagrant.has_plugin?("vagrant-cachier") config.cache.auto_detect = true config.cache.scope = :machine end config.vm.network "private_network", ip: "192.168.33.101" config.hostmanager.enabled […]

Systemd – 仅在DNS可用后启动服务

我有几个服务,最值得注意的是nginx和ntpd,这取决于正在工作的DNSparsing正确启动。 目前,这些服务都不能在启动时正确启动,但是一旦机器启动后手动干预就可以正常启动,日志中的某些消息不能parsing名称。 这导致我相信我正在与systemd竞争。 我的服务器指向名称服务器的127.0.0.1。 绑定到localhost:53是pdns-recursor。 我已经设置ntp和nginx在单元文件中被WantedBy pdns-recursor如下 [Unit] WantedBy=pdns-recursor.service 不过,我仍然在nginx和ntp中收到关于在启动时未能parsing名字的日志消息。 在这些服务尝试启动之前,如何validationDNS是否完全启动? 我正在使用Ubuntu 16.04 Aug 09 22:35:25 host.blah ntpd[3574]: restrict: ignoring line 21, address/host 'ntp.blah' unusable. Aug 09 22:35:26 host.blah ntpd[3574]: restrict: ignoring line 23, address/host 'ntp.blah' unusable. Aug 09 22:35:28 host.blah ntpd[3574]: restrict: ignoring line 25, address/host 'ntp.blah' unusable. Aug 09 22:35:29 host.blah ntpd[3574]: restrict: […]

在Arch linux – systemd中,在FreeBsd – ?

在Arch linux中,例如,当我运行我的Web应用程序时,我创build了一个systemd服务,以便在需要时监督和重新启动。 在FreeBsd systemd没有安装默认情况下,那么,有什么替代或如何我应该在FreeBsd做同样的事情?