我对 NIS 和autofs
.我从 NFS 服务器中提取我的主目录。一切正常,除了我必须在每次重新启动后手动nis
重新启动。autofs
因此,系统启动后,我需要切换到控制台(或 ssh 进入机器)并执行以下操作
sudo service nis restart
sudo service autofs restart
在此之后,一切都会顺利进行,没有任何问题。
如果我不这样做,我将无法通过登录屏幕。举个例子,我的系统上有两个用户,分别称为localuser
(机器上的密码和主目录)和remoteuser
(远程机器上的密码、NFS 上的主目录)。现在,重新启动后,我可以localuser
毫无问题地登录。如果我尝试以 身份登录remoteuser
,我的密码会被接受,但找不到主目录,因此如果我尝试使用 GNOME 登录,我会立即注销。我仍然可以remoteuser
远程登录或切换到文本终端(++)后登录ctrl
,但找不到主目录。重新启动 NIS 并如上所述后,我可以正常登录,直到重新启动为止。alt
f1
autofs
remoteuser
所以我的问题是:如何避免每次重新启动后手动重新启动这些服务?
我一直将这台计算机用作独立计算机,然后将其移动到网络,因此我想在安装之前配置了一些网络设置autofs
。
我使用的是 Ubuntu 12.04,但我在运行旧版本 Ubuntu 的另一台计算机上遇到了类似的问题。
答案1
我在14.04的时候就遇到这个问题了。
如果您的发行版使用 Upstart 来启动进程,请转到/etc/init/autofs.conf
并更改显示的行
start on runlevel [2345]
到
start on (local-filesystems and net-device-up IFACE!=lo)
这将使 Upstart 等待启动 autofs,直到文件系统和网络可用。
现在,我不使用 nis,但我认为这是您的主要问题。这对很多人来说都是如此。很抱歉恢复这个旧帖子。只是认为这些信息需要放在这里
答案2
这听起来好像您的服务的启动顺序不正确。
NIS 在哪个级别编号启动,autofs 在哪个级别编号启动以及 nfs-client 在哪个级别编号启动?
您的主目录的 autofs 配置是什么样的?
它是在 auto.master 中还是子映射中?
答案3
我/etc/init/ypbind.conf
直接在“预启动脚本”之后添加:
while [ ! -e /var/run/network/ifup.eth? ]
do
sleep 0.1
done
这是因为 autofs 在 Networkmanager 启动界面之前启动。然后 NIS 查找挂载,但找不到 NFS 文件系统,因为它不是由 autofs 提供的。界面启动后启动 ypbind,一切正常。
答案4
尝试运行以下命令:
#sudo update-rc.d nis defaults
#sudo update-rc.d autofs defaults
将初始化脚本重置为默认启动顺序。