安装 systemd-services 并更改启动时的 init 参数后无法启动

安装 systemd-services 并更改启动时的 init 参数后无法启动

我尝试了两种不同的方法,但无法安装systemd

第一种方法来自这里,第二种方法来自这里

确认未systemd安装:

edward@computer:~$ file /lib/systemd/systemd
/lib/systemd/systemd: ERROR: cannot open `/lib/systemd/systemd' (No such file or directory)

另一个确认:

我正在遵循https://askubuntu.com/a/420979/294611(由于重复,该问题已被关闭),但由于某种原因,我的系统无法启动。

答案1

嗯,我不确定 Canonical 做了什么。当我在 Raring 安装上安装 systemd 时(如图所示在评论中), 二进制在那里。现在它不在任何地方,变更日志在 Utopic 版本 208-8ubuntu1 之前是没用的(utopic 确实有二进制存在),因为他们只是从 Debian 导入了该包,这对 Utopic 用户来说是一种福音,因为答案中描述的方法对他们有用。

值得信赖的更新日志也没有解释可能发生的情况。我检查了BZR 存储库寻找直接有关包裹发生了什么的线索。systemd.安装文件位于 debian\ 目录中,但软件包本身并不存在于存储库中;systemv-init 软件包替换/sbin/init为指向 systemd 二进制文件的链接确实指向/lib/systemd/systemd,这只会让我更加困惑。控制文件也有一个 systemd 包的条目。systemd.link 文件还有链接从目录/lib/systemd/systemd/bin

所有证据表明 systemd 包对于获取 systemd 二进制文件是必需的,但是软件包本身没有在任何地方提供。这让我想到 Canonical 决定不在其存储库中为 trusty 之前的版本提供 systemd 二进制文件,这一点可以从以下事实中看出:如果你构建 Ubuntu 提供的 systemd debian 源包,你将获得 systemd 包和所有必要的二进制文件,以使用 systemd 作为 init 进行启动

因此,要解决您面临的问题(因为二进制文件根本不存在),您只需删除init内核参数并恢复对/etc/default/grub文件所做的更改并运行 sudoupdate-grub即可,总而言之,您已完成所有操作以将 upstart 替换为 systemd。之后,您可以自行决定:升级到 utopic、保持原样或从 debian 源构建 systemd 包。

目前,我只建议 Utopic 及更高版本的用户安装 systemd,因为在此之前,没有可靠的方法来安装 systemd 并用 Canonical/Ubuntu 存储库提供的软件包替换 init。

相关内容