次のコードは私に問題を引き起こします:
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 は機能します (symlink を cp に置き換えます)。mkdir はどちらの場合でも機能します。
マウントとシンボリックリンクの両方が機能します。マウントされたファイルシステム上の別のファイルを指すシンボリックリンクを指すマウントされたファイルシステム上にシンボリックリンクを作成することは問題ですか?
これはエラーです:
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'
編集:
OK、問題はルビーではなくlnにあることがわかりました。bash で ln -s コマンドを実行すると、関数が実装されていませんというエラーが発生します。なぜこれが不可能なのか誰か教えてもらえますか?