以下代码给我带来了麻烦:
symlink_path = "symlink/to/mnt/xyz/file"
remote_path ="/mnt/xyz/data/folderx"
FileUtils.mkdir(remote_path)
FileUtils.symlink(symlink_path, "#{remote_path}/#{db_table_name}")
另一方面,FileUtils.cp可以正常工作(用cp替换符号链接)。 mkdir适用于这两种情况。
两者,mount和符号链接都有效。在挂载的文件系统上创建一个符号链接是一个问题,它指向一个指向该挂载文件系统上另一个文件的符号链接?
这是错误:
Function not implemented - /home/usr1/webservice/symlink/to/mnt/xyz/file or /mnt/xyz/data/folderx/table_name
RAILS_ROOT: /home/usr1/webservice
追踪的顶部:
/usr/lib/ruby/1.8/fileutils.rb:338:in `symlink'
/usr/lib/ruby/1.8/fileutils.rb:338:in `ln_s'
/usr/lib/ruby/1.8/fileutils.rb:1418:in `fu_each_src_dest0'
/usr/lib/ruby/1.8/fileutils.rb:336:in `ln_s'
app/controllers/upload_controller.rb:133:in `upload'
编辑:
好的,我发现问题出在ln而不是ruby。 在bash中执行ln -s命令会导致Function not implemented错误。 有人能告诉我为什么这不可能吗?