我不知道这是怎么发生的,但/etc/rc.*/完全缺失。
结果, aptitude和apt-get不再适用。
有没有快速解决这个问题? 我真的不想重新安装操作系统,如果我不必。
以什么方式不适应工作? 缺lessinit脚本不应该对包pipe理有直接影响。
你想要做的是从备份中恢复这些目录。 因为我假设你没有备份,那么你需要确定所有在已删除位置有文件的软件包(通过/var/lib/dpkg/info/*.list进行浏览可能是最快捷的方式),然后重新configuration任何包含init脚本的包,以重新创build符合链接(因为显然缺less的目录主要包含在包安装时创build的符号链接)。
当你有备份时,看看生活更简单吗?
尝试这个:
手动下载sysv-rc和initscripts
手动安装它们: dpkg -i sysv-rc*.deb initscript*.deb
然后用这个脚本重新安装所有包含服务的包:
#!/bin/bash for package in $(dpkg --get-selections | awk '{ print $1 }'); do if dpkg -L "$package" | grep -q /etc/init.d; then apt-get --reinstall install $package fi done
您可以尝试将其安装在其他位置(如虚拟机安装),使用相同的服务configuration,并复制目录。
您不应该在/etc/rc.*/中遇到任何configuration文件,主要的是确保您希望在启动时启动的服务正在启动。 我忘记了Ubuntu的设置,但很多时候/etc/rc.*/中的文件只是实际驻留在/etc/init.d/中的文件的符号链接。
不过,我会安装在别的地方,并比较。