我最近将几个虚拟主机升级到 debian 8。现在我发现使用它们:
/etc/init.d, /etc/rc0.d, ... 导演,里面有很多文件(例如/etc/rc2.d/S04ssh)/etc/systemd/system/sshd.service,太/etc/init.d/apache2脚本但没有apache2.service文件systemctl start/stop apache2有效,我自己的书面服务文件也有效。所以问题是:这里有什么问题吗?升级时我错过了什么重要的东西吗?如果没有,这将如何工作?(systemd 到底对这个烂摊子做了什么?)
更新:我发现了这个问题:https : //unix.stackexchange.com/questions/233468/how-does-systemd-use-etc-init-d-scripts,它回答了我的大部分问题。(现在这是一个重复的问题吗?)
我仍然缺少什么:jessie 没有 apache2.service 文件可以吗?
怎么做才能让它选择正确的?
这一切都发生在 OpenVZ 容器中:
主机是带有 Redhat/OpenVZ 内核的 Debian/Wheezy:
root@mycl2:~# uname -a
Linux mycl2 2.6.32-openvz-042stab081.5-amd64 #1 SMP Mon Sep 30 16:40:27 MSK 2013 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
容器有两个(虚拟)网络接口。一个在公共地址空间中,一个在私有地址空间中:
root@mycl2:~# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP …Run Code Online (Sandbox Code Playgroud) 我正在使用 dns 来管理我的虚拟主机。为了做到这一点,我使用 host 命令查询我的名称服务器以获取某些值。例如:
> host -t txt mycl1.vz
mycl1.vz.myserver.de descriptive text "1026"
Run Code Online (Sandbox Code Playgroud)
但我只需要1026作为没有喋喋不休的答案。目前我正在使用 sed 将其删除,例如:
| sed -e 's/.*descriptive text "\(.*\)"/\1/'
Run Code Online (Sandbox Code Playgroud)
但这似乎有点“不稳定”,我想知道是否有一些命令可以首先给我简单的输出?