V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
joshua
V2EX  ›  Linux

同一磁盘使用 ln 创建硬链接提示 Invalid cross-device link?

  •  
  •   joshua · 2020-06-07 10:55:45 +08:00 · 4182 次点击
    这是一个创建于 1666 天前的主题,其中的信息可能已经有所发展或是发生改变。
    环境:群晖 DS918+
    cat /etc/fstab
    none /proc proc defaults 0 0
    /dev/root / ext4 defaults 1 1
    /dev/md3 /volume2 btrfs auto_reclaim_space,synoacl,relatime 0 0
    /dev/md2 /volume1 btrfs auto_reclaim_space,synoacl,relatime 0 0

    出错信息
    ln: failed to create hard link ‘/volume2/TM/TV/Normal People (2020)/@eaDir/Normal.People.S01E04.2020.1080p.WEB-DL.x265.10bit.AC3 £ [email protected]/SYNOPHOTO_THUMB_S.jpg’ => ‘/volume2/TV/Normal People (2020)/@eaDir/Normal.People.S01E04.2020.1080p.WEB-DL.x265.10bit.AC3 £ [email protected]/SYNOPHOTO_THUMB_S.jpg’: Invalid cross-device link
    10 条回复    2020-06-20 15:43:36 +08:00
    aloxaf
        1
    aloxaf  
       2020-06-07 11:29:14 +08:00
    虽然是同一磁盘,但你这是不同设备(分区)啊……
    没特殊需求就用软链接吧
    joshua
        2
    joshua  
    OP
       2020-06-07 11:35:38 +08:00
    @aloxaf 请问下不是 /volume2 的两个文件夹吗?怎么是不同设备(分区)?
    nightwitch
        3
    nightwitch  
       2020-06-07 12:00:56 +08:00
    Linux 下可以随意把不同磁盘挂载到不同文件夹,你要看看 /volume2/TM/TV/和 /volume2/TV/这两个文件夹是否指向不同的磁盘
    joshua
        4
    joshua  
    OP
       2020-06-07 12:14:09 +08:00
    @nightwitch 有什么命令能看吗,谢谢?按说不应该啊,/volume2 是一个存储空间,TM,TV 都是用群晖创建的共享文件夹
    lcdtyph
        5
    lcdtyph  
       2020-06-07 12:32:35 +08:00
    @joshua #4
    stat /volume2/TM/TV
    stat /volume2/TV
    joshua
        6
    joshua  
    OP
       2020-06-07 13:24:13 +08:00
    @lcdtyph 这个 device 不一样是不同的吧?
    stat /volume2/TV
    File: ‘/volume2/TV’
    Size: 1762 Blocks: 0 IO Block: 4096 directory
    Device: 26h/38d Inode: 256 Links: 1

    stat /volume2/TM/
    File: ‘/volume2/TM/’
    Size: 64 Blocks: 0 IO Block: 4096 directory
    Device: f4h/244d Inode: 256 Links: 1
    Xbluer
        7
    Xbluer  
       2020-06-07 13:35:35 +08:00
    df 命令

    df -h | head -1 && df -h | grep /volume2
    reus
        8
    reus  
       2020-06-07 13:36:40 +08:00
    TV 和 TM 是 subvolume 吧?在 btrfs 里,不同的 subvolume,就是不同的 device

    btrfs 是不管物理磁盘或者物理分区的,只看逻辑上的。btrfs 里,磁盘、物理分区、逻辑分区都是多对多的关系了。
    joshua
        9
    joshua  
    OP
       2020-06-07 19:34:39 +08:00
    @reus 搜了下好像是这样,谢谢。看来只能在共享文件夹下面再建文件夹了。
    farseerfc
        10
    farseerfc  
       2020-06-20 15:43:36 +08:00 via Android
    btrfs 不同 subvol 之間不能 hardlink,不過可以 reflink 。cp --reflink=always 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   999 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:54 · PVG 02:54 · LAX 10:54 · JFK 13:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.