我是linux程序新手。为什么跟踪代码失败?它的输出是“失败的20”。
但在终端中,命令:sudo mount/dev/sdb/home/abc/work/tmp可以工作。

void main()
{
    int rtn;

    rtn=mount("/dev/sdb","/home/abc/work/tmp","vfat",MS_BIND,"");
    if (rtn==-1)
        printf("failed %d.\n",errno);
    else
        printf("OK!\n");
}

最佳答案

错误20是ENOTDIR(http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html)。
我认为使用MS-BIND,您需要第一个参数是某个地方的实际目录,而不是设备。另见the man page for mount
您尝试的操作相当于sudo mount --bind /dev/sdb /home/abc/work/temp,这也会给您一个错误。

关于linux - 安装失败,errno是20?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7088838/

10-11 17:44