我插入我的 Seagate FreeAgent 外置硬盘,然后将 USB 插入我的 Ubuntu 10.04 机器,正如预期的那样,它安装在/media
. 好的,这很棒。我可以访问文件等。然后,我smb.conf
为这个驱动器编辑我的文件,以便我可以共享它,并添加一行用于共享我不拥有的驱动器。
我共享驱动器并卸载它,然后重新安装
sudo mount -t ntfs /dev/sdb1 /media/FreeAgent
它安装得很好。我可以从网络上的 Windows XP 机器访问驱动器。然后,不久之后,它再次自动挂载,因为/media/Main-BackUp
然后挂载点/media/FreeAgent
不再挂载驱动器并且文件不存在。这些文件位于新安装的目录中。我应该注意驱动器的名称是 Main-BackUp。我已经编辑了我的smb.conf
文件以使其工作的几种方法,包括更改名称以使其匹配以及它应该存在的挂载点目录。目前是这样的:
[Main-BackUp]
comment = Backup drive
path = /media/Main-BackUp
guest ok = yes
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
但我已将线路更改path = /media/Main-BackUp
为path = /media/FreeAgent
没有成功。
然后,一段时间后,它再次执行此操作,并创建另一个挂载点/media/Main-BackUp_
,然后之前的挂载没有任何文件,但这个新的有。每次都会弹出一个窗口,其中包含新的挂载和外部驱动器上的文件。如果我将这台机器单独放置一个小时左右,它会重复这个过程 5 或 6 次。
我使用类似的技术成功地在我的工作网络上安装了 Drobo,并且效果很好。不知道我做错了什么。任何帮助是极大的赞赏。
注意- 所以我注释掉了中的行smb.conf
并尝试了驱动器自动安装。仍然发生。我搜索了一种方法来运行自动安装,但在 10.04 中我找不到它。我尝试了“首选项”>“文件管理”>“媒体”,并取消选中任何可能导致此操作无效的内容。在注释掉smb.conf
错误中的行后,自动安装实验即将结束。
注意 2 - 驱动器安装正常,但几分钟后,网络共享变为空白并且文件不存在。我去服务器计算机查看驱动器,最近一次,驱动器从 sdb1 转移到了 sdc1。我重新安装,它似乎再次工作,但几分钟后,同样的行为又回来了......空共享。这是奇怪的行为,我不确定我是否找到了根本原因。
首先这里有两个问题。我通常更喜欢将外部硬盘驱动器插入计算机,然后在我启动一切时自动安装它们。但是,有一个名为 udev 的函数在启动时运行,它将您附加的硬件定义到硬件抽象层。它或多或少地根据它看到您的外部硬盘驱动器的顺序分配一个设备标识符,该驱动器可以从引导更改为引导。通常它看到的第一个分配给
/dev/sdb1
,第二个分配给 ,/dev/sdc1
第三个分配给/dev/sdd1
等等。如果你只有一个外部硬盘驱动器,它总是会选择/dev/sdb1
标识符,你会输入一个/etc/fstab
条目来自动挂载它并完成它。确保 udev 始终将相同的设备标识符分配给同一设备的关键是定义一个 udev 规则以根据设备的序列号执行此操作。这样做的方法是以 root 身份,在
/etc/udev/rules.d
. 在该目录中创建一个名为10-local.rules
, 的文件(10 确保它尽早执行)。这是我的样子:为了获得序列号,我只是从实际的硬盘驱动器本身读取它们。规则的每一行基本上是说,如果设备是一个块,一个usb,并且有一个序列号XXXX,那么就给它分配这个名字。
然后我知道每次启动时,我的 4 个连接的硬盘驱动器将始终被分配相同的设备标识符,,
/dev/usb2
,/dev/usb3
, 。/dev/usb4
/dev/usb5
完成后,很容易编辑
/etc/fstab
文件并为驱动器添加挂载命令,这是我的相关行:当我的系统启动时,一切都在正确的位置,安装并准备好使用......
这些 USB 设备的列出顺序会发生变化,因为无法保证操作系统每次都会以相同的顺序找到它们,但是由于您可以根据不变的内容控制为每个设备分配的设备标识符,即设备的序列号,您始终可以在启动时将同一设备自动挂载到同一挂载点。
而且由于您的 smb 共享是基于挂载点的,因此您还可以一致地以相同的共享名称共享相同的文件。
我希望这对你有帮助。
将驱动器添加到
/etc/fstab
:这将:
sudo mount -a
.我过去曾用几次驱动器完成此操作,并且效果很好。
关于您最近的编辑(注 2),如果设备 ID 意外更改,您的驱动器似乎连接错误。