作为标题,我有我的postgresql @ .service完成如下: # systemd service template for PostgreSQL clusters. The actual instances will # be called "postgresql@version-cluster", eg "[email protected]". The # variable %i expands to "version-cluster", %I expands to "version/cluster". # (%I breaks for cluster names containing dashes.) [Unit] Description=PostgreSQL Cluster %i ConditionPathExists=/etc/postgresql/%I/postgresql.conf PartOf=postgresql.service ReloadPropagatedFrom=postgresql.service Before=postgresql.service [Service] Type=forking # @: use "postgresql@%i" as process […]
我正在运行Ubuntu Server 16.04.1的全新安装,并与smbd的麻烦。 service smbd status告诉我,smbd应该运行: ● smbd.service – LSB: start Samba SMB/CIFS daemon (smbd) Loaded: loaded (/etc/init.d/smbd; bad; vendor preset: enabled) Active: active (exited) since Die 2016-10-18 17:35:23 CEST; 2s ago Docs: man:systemd-sysv-generator(8) Process: 24218 ExecStop=/etc/init.d/smbd stop (code=exited, status=0/SUCCESS) Process: 21980 ExecReload=/etc/init.d/smbd reload (code=exited, status=0/SUCCESS) Process: 25190 ExecStart=/etc/init.d/smbd start (code=exited, status=0/SUCCESS) Okt 18 17:35:22 […]
在使用/etc/network/interfaces (例如Debian)的Linux发行版中,我可以使用(内核)桥来使用其静态桥接从属接口之一的MAC48地址,例如内置的wlan0 ,如下所示: post-up ip link set br0 address `cat /sys/class/net/wlan0/address` 这确保了1)每个克隆系统使用其独特的MAC48(独特的wlan0中的一个),并且2)即使热插拔更低MAC48的桥接器,桥MAC也保持稳定。 systemd-networkd是否支持在networking(或netdev)启动后可以运行的任何types的post-up命令? 我试图find这样的事情,但可能错过了。 或者是systemd中完全不同的正确方法,即有一个设备单元和一个包装ip link…命令并依赖于设备单元的服务? 如果是这样,设备单元和服务单元文件将如何?
我想在服务器上部署Docker,但是我希望所有与Docker相关的数据位于基本系统的独立分区中。 我已经在“/ srv”上安装了这个分区,并根据官方文档做了如下修改: 这是我的'/usr/lib/systemd/system/docker.service'文件: [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=network.target docker.socket Requires=docker.socket [Service] Type=notify EnvironmentFile=-/srv/docker/docker.conf ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS LimitNOFILE=1048576 LimitNPROC=1048576 [Install] Also=docker.socket WantedBy=multi-user.target 这是'docker.service'文件中引用的'/srv/docker/docker.conf'文件: $OPTIONS="–graph /srv/docker –storage btrfs" docker守护程序启动正确,也拉图像。 问题是它仍然不在'/ srv / docker'目录中存储任何内容。 另外,当我运行'ps -aux | grepdocker',我得到的是这样的: root 661 0.4 0.2 351080 17044 ? Ssl 19:33 0:00 /usr/bin/docker -d -H fd:// 命令行在“fd://”处停止。 […]
我正在开发/开发FreeRADIUS项目的单元文件,以便与systemd集成。 [Unit] Description=FreeRADIUS multi-protocol policy server After=syslog.target network.target Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/ [Service] EnvironmentFile=-/etc/sysconfig/radiusd ExecStartPre=/usr/sbin/radiusd $FREERADIUS_OPTIONS -Cxm -lstdout ExecStart=/usr/sbin/radiusd $FREERADIUS_OPTIONS -fm Restart=on-abnormal [Install] WantedBy=multi-user.target 遇到一个问题,即调用systemctl radiusd start不会返回错误代码,即使/usr/sbin/radiusd -fm退出。 有没有办法使systemctl同步行事? 即在返回之前等待一段时间,并指示服务已成功/未成功启动。 我没有改变Type=forking或任何其他选项,如dbus(并编写代码与dbus集成),如果这意味着systemctl将退出一个错误,指示服务无法启动。 为了避免显而易见的问题,是的,在开始systemd之后,确实看到了单元失败。 bash-4.2# systemctl status radiusd radiusd.service – FreeRADIUS multi-protocol policy server Loaded: loaded (/usr/lib/systemd/system/radiusd.service; enabled) Active: failed (Result: start-limit) since Wed 2015-08-12 12:26:18 EDT; […]
是否有一个Linux内核模块或可能是一个不同的文件系统来保持一个文件已被打开的次数的总数? 我意识到这一点会问很多,但如果你也可以调整它,所以它不会增加计数,除非在打开文件时x%的文件被读取,这将是太棒了。 谢谢。
我想在Ubuntu 16.04上安装清漆, 我读了几篇文章没有工作。 从我读的,从Ubuntu 15.04以来,configuration清漆的方式已经改变(因为systemd)。 现在我有一个真正的混乱,这是行不通的: / etc / default / varnish: DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m" /etc/varnish/default.vcl(通常指向一个主机指向127.0.0和端口8080,但为了debugging的目的,我将其修改为一个外部域)vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "www.varnish-cache.org"; .port = "80"; } /etc/apache2/ports.conf Listen 8080 grep -R […]
我想定义一个简单的服务在启动时启动,在Ubuntu服务器16.10上。 所以我创build了一个/etc/init.d/mydaemon 我不知何故把新贵和systemd搞混了:起初我以为我必须设立一个新贵的服务。 所以在将我的文件转换为新贵的语法之后,我运行了update-rc.d mydaemon defaults 。 我想通了我的错误,并运行update-rc.d mydaemon remove ,转换为systemd语法,并运行systemctl enable mydaemon ,但得到的错误: mydaemon.service is not a native service, redirecting to systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable mydaemon update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.
我需要做一个新的镜像,并select新的16.04 Ubuntu的,所以我可以得到一些包的新版本,而不是从源代码安装。 到目前为止,我很遗憾,因为在线文档的决定是稀疏的。 对于12.04和14.04,我经常能够通过安装一个软件包,然后删除(不清除)它来创buildubuntu启动脚本,从而重新定义用于自定义编译的启动脚本。 然后我可以编辑它们来指向正确的configuration文件和二进制文件。 例如,要使用最新的openresty,我可以这样做: apt-get install nginx apt-get remove nginx 然后,我可以更新/etc/init.d/nginx脚本指向我的自定义二进制/configuration文件,我有一个快乐的Ubuntu的启动脚本。 大! 这种方法不再适用于16.04。 我编辑过: /etc/init.d/nginx /etc/init/nginx.conf /lib/system.d/system/nginx.service Ubuntu永远不会拉我的二进制文件(这是在/usr/local/openresty/nginx/sbin/nginx )。 它总是在启动时运行/sbin/nginx (我错过了首先卸载'nginx-core')或者什么也没有。 其他软件包也是如此。 关于从新贵转型而来的Ubuntu文档在这个领域是欠缺的,他们关心的是“起步停止”。 我不知道 Ubuntu是在哪里决定的。 我无法find任何指向/sbin/nginxconfiguration文件。 没有日志帮助。 我遇到的每个潜在文件都指向备用二进制文件和configuration文件。 如果任何人都可以分享使用新发射系统的好资源以及它看起来/存储信息的地方,我会非常感激。 似乎有一个数据库涉及,因为它检测到文件更改,并要求我重新加载 – 但我还没有find它。 更新 在玩了很多之后,我想到了以下几点: 看来,nginx软件包安装了两种types的设置,但只使用一种。 有些问题与此有关。 /etc/init.d/nginx和/etc/init/nginx.conf /lib/systemd/system/nginx.service和/etc/systemd/system/nginx.service 从试用和错误:*运行systemctl disable nginx.service禁用/删除大多数链接和文件*删除/etc/systemd/system/nginx.service中的文件,如果存在*将一个新的文件放在/ lib / systemd / system / nginx.service *运行systemctl enable nginx.service /lib/systemd/system/nginx.service中的文件必须是文件; 它不能是符号链接(否则会出现太多的符号链接错误) […]
我正在使用amazon web services服务器,并试图设置一个系统作业,将curl检索的AWS外部IP作为input。 [Unit] Description=My example with AWS external IP Wants=network-online.target After=network-online.target [Service] Type=forking Environment=EXTERNAL_IP=$(/usr/bin/curl http://169.254.169.254/latest/meta-data/public-ipv4) ExecStart=/path/to/myexample $EXTERNAL_IP [Install] WantedBy=multi-user.target validation工具systemd-analyze verify myexample.service指示curl和环境分配有问题。 Invalid environment assignment, ignoring: EXTERNAL_IP=$(/usr/bin/curl http://169.254.169.254/latest/meta-data/public-ipv4) 如果我用硬编码的IPstringreplacecurl结果,我的守护进程将启动。 我怎样才能在我的系统作业中使用curl结果?