我听说您现在也可以在 Vista 中创建软链接。那么,UNIX/Linux/Vista 上的软(符号)链接和硬链接有什么区别?
使用一种比另一种有优势吗?或者它们只是服务于两个不同的目的?
我正在尝试设置 sftp,以便一些受信任的人可以访问/编辑/创建一些文件。我已将用户监禁到他们的主目录 (/home/name) 中,但遇到了问题。我希望他们也能够访问 VPS 的其他部分,因为它也是一个游戏服务器、网络主机等,我希望他们能够完全控制他们被监禁的目录之外的文件。
我尝试创建指向所需目录的符号链接 (ln -s),但没有按预期工作。我尝试 (cp -rl) 访问我想要访问的文件并且它起作用了 - 他们可以编辑其目录中的文件并更改存储在监狱外的文件。但是他们不能创建新文件(他们可以,但不会在监狱外更新)。我知道我可能没有以“正确的方式”这样做,但是我该怎么做才能做我想做的事?
前段时间有一个线程解决了同样的问题:Can't create symlinks in virtualbox shared folders。现在它关闭了(为什么?)。所以我开始一个新的,因为我现在遇到了这个问题并且找不到解决方案。
简短的问题描述:通过 attepms 在共享文件夹中创建/放置符号链接发生错误:
root@devmv:/var/www/sandbox/zf1sandbox# ln -s /lib/ZendFramework/ZF1 ZF1
ln: creating symbolic link `ZF1': Protocol error
Run Code Online (Sandbox Code Playgroud)
我已经尝试以不同的方式激活我的共享文件夹“工作区”的符号链接:
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/var/www 1
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/var/www/ 1
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/workspace 1
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/workspace/ 1
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/M:\workspace 1
C:\Windows\system32>VBoxManage setextradata "Dev VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/M:\workspace\ 1
Run Code Online (Sandbox Code Playgroud)
我没有收到类似的错误
C:\Windows\system32>VBoxManage setextradata devvm VBoxInternal2/SharedFoldersEnableSymlinksCreate/workspace 1
VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) …Run Code Online (Sandbox Code Playgroud) 你知道一些 GUI 工具来创建 Hardlinks/SoftLinks/Junctions 吗?
我正在寻找一个允许我执行等效操作的 linux 命令:
cp /some/path/file /another/path/ && ln -sf /another/path/file /some/path/
Run Code Online (Sandbox Code Playgroud)
如果没有,那么对一堆文件执行此操作的最佳方法是什么?
SELinux 不允许我更改符号链接的上下文。我没有得到任何错误或任何东西。它只是不改变符号链接,我猜这意味着它正在解析符号链接并改变它?coderoot 是一个符号链接:
chcon -t httpd_sys_content_t /var/coderoot
这使符号链接的上下文保持不变。当我的应用程序引用符号链接时,SELinux 跳入并说不。关闭 SElinux 后它工作正常。我怎样才能解决这个问题?
我已经尝试为此找到一个现有问题,但找不到合适的匹配项。
作为面向公众网站的部署过程的一部分,我使用符号链接在 Web 应用程序的版本之间进行交换。
例如,我有一个 vhost abc.com,这里有一个 docroot: /var/www/abc.com
docroot 本身(/var/www/abc.com)是指向应用程序 Web 可访问目录的符号链接(/var/www/package/buildX/web)
当我部署一个新构建时,我只需换出符号链接并替换为新构建的另一个符号链接。
我的问题是,使用符号链接的性能开销(或我应该关注的问题)是什么?Apache docroot
我在 Ubuntu 上运行 MySQL 5.5。
在 /etc/mysql/ 中有一个 my.cnf 文件,我希望它在那里。- 伟大的!
对于 mysql 的 debian 安装,建议您不要编辑 my.cnf 文件。/etc/mysql/my.cnf 文件中有一个 IncludeDir 指令,可以在 /etc/mysql/conf.d/ 文件夹中查找更多选项文件。
当我把这个文件放在这里时:
/etc/mysql/conf.d/my-local.cnf
Run Code Online (Sandbox Code Playgroud)
MySQL 读取文件并覆盖 /etc/mysql/my.cnf 中的任何内容。
伟大的!:-)
这是问题所在:
我将 /etc/mysql/conf.d/my-local.cnf 文件的本地副本保留在源代码管理中,并希望为整个团队定期更新它。所以,我的解决方案是符号链接它:
cd /etc/mysql/conf.d/
ln -s /path/to/my/my-local.cnf my-local.cnf
Run Code Online (Sandbox Code Playgroud)
MySQL 不读取此符号链接。
我已经验证了以下内容:
所以总结一下,当 /etc/mysql/conf.d/ 文件夹中有物理文件时,MySQL 会读取和解析。Mysql 不会读取此文件夹中的符号链接。
任何人的想法?这可能是 debian/ubuntu 问题吗?
我dead_symlink在目录下有一个死的符号链接/usr/local/bin
当 Ansible 检查它报告的文件存在时
- stat: "path=/usr/local/bin/dead_symlink"
register: dead_symlink_bin
- debug: var=dead_symlink_bin.stat.exists
Run Code Online (Sandbox Code Playgroud)
但是当我尝试删除它时,它报告“ok”但没有发生任何事情(符号链接仍然存在)
- name: Remove symlink
file:
path: "path=/usr/local/bin/dead_symlink"
state: absent
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
symlink ×10
linux ×3
debian ×2
hardlink ×2
windows ×2
ansible ×1
apache-2.2 ×1
chroot ×1
compression ×1
cp ×1
filesystems ×1
jail ×1
junction ×1
my.cnf ×1
mysql ×1
performance ×1
sftp ×1
ubuntu ×1
unix ×1
virtualbox ×1